Examples of PluginMetadata


Examples of com.godshawk.lib.plugin.metadata.PluginMetadata

    public PluginMetadata generateMetadata(Class<? extends IPlugin> plugin) {
        if (!plugin.isAnnotationPresent(Plugin.class)) {
            throw new IllegalArgumentException(String.format("Plugin %s is not annotated!", plugin.getSimpleName()));
        }
        Plugin pl = plugin.getDeclaredAnnotation(Plugin.class);
        return new PluginMetadata(pl.name(), pl.id(), pl.author(), pl.type());
    }
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        for (int i = 0; i < stores.size(); i++) {
            AbstractName name = (AbstractName) stores.get(i);
            List configs = mgr.listConfigurations(name);
            for (int j = 0; j < configs.size(); j++) {
                ConfigurationInfo info = (ConfigurationInfo) configs.get(j);
                PluginMetadata data = installer.getPluginMetadata(info.getConfigID());
                Element config = doc.createElement("plugin");
                root.appendChild(config);
                createText(doc, config, "name", data.getName());
                createText(doc, config, "module-id", data.getModuleId().toString());
                createText(doc, config, "category", "Geronimo Deployments");
                createText(doc, config, "description", data.getCategory().equals("Unknown") ? "Automatically generated plugin metadata" : data.getDescription());
                if(data.getPluginURL() != null) {
                    createText(doc, config, "url", data.getPluginURL());
                }
                if(data.getAuthor() != null) {
                    createText(doc, config, "author", data.getAuthor());
                }
                for (int k = 0; k < data.getLicenses().length; k++) {
                    PluginMetadata.License license = data.getLicenses()[k];
                    Element lic = doc.createElement("license");
                    lic.setAttribute("osi-approved", Boolean.toString(license.isOsiApproved()));
                    createText(doc, lic, license.getName());
                    config.appendChild(lic);
                }
                // Skip hash since the CAR will be re-exported anyway and the file will be different
                String[] versions = data.getGeronimoVersions();
                for (int k = 0; k < versions.length; k++) {
                    String ver = versions[k];
                    createText(doc, config, "geronimo-version", ver);
                }
                versions = data.getJvmVersions();
                for (int k = 0; k < versions.length; k++) {
                    String ver = versions[k];
                    createText(doc, config, "jvm-version", ver);
                }
                for (int k = 0; k < data.getPrerequisites().length; k++) {
                    PluginMetadata.Prerequisite prereq = data.getPrerequisites()[k];
                    writePrerequisite(doc, config, prereq);
                }
                for (int k = 0; k < data.getDependencies().length; k++) {
                    String dep = data.getDependencies()[k];
                    createText(doc, config, "dependency", dep);
                }
                for (int k = 0; k < data.getObsoletes().length; k++) {
                    String obs = data.getObsoletes()[k];
                    createText(doc, config, "obsoletes", obs);
                }
                // Skip repositories since we want the download to come from here
            }
        }
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

    public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
        String configId = request.getParameter("configId");
        String repo = request.getParameter("repository");
        String user = request.getParameter("repo-user");
        String pass = request.getParameter("repo-pass");
        PluginMetadata config = null;
        try {
            PluginList list = (PluginList) request.getPortletSession(true).getAttribute(CONFIG_LIST_SESSION_KEY);
            if(list == null) {
                list = PortletManager.getCurrentServer(request).getPluginInstaller().listPlugins(new URL(repo), user, pass);
                request.getPortletSession(true).setAttribute(CONFIG_LIST_SESSION_KEY, list);
            }
            for (int i = 0; i < list.getPlugins().length; i++) {
                PluginMetadata metadata = list.getPlugins()[i];
                if(metadata.getModuleId().toString().equals(configId)) {
                    config = metadata;
                    break;
                }
            }
        } catch (FailedLoginException e) {
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        return getMode();
    }

    public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
        String configId = request.getParameter("configId");
        PluginMetadata data = PortletManager.getCurrentServer(request).getPluginInstaller().getPluginMetadata(Artifact.create(configId));
        request.setAttribute("configId", data.getModuleId());
        request.setAttribute("name", data.getName());
        request.setAttribute("repository", combine(data.getRepositories()));
        request.setAttribute("category", data.getCategory());
        request.setAttribute("url", data.getPluginURL());
        request.setAttribute("author", data.getAuthor());
        request.setAttribute("description", data.getDescription());
        PluginMetadata.License[] licenses = data.getLicenses();
        if(licenses != null && licenses.length > 0) {
            request.setAttribute("license", licenses[0].getName());
            if(licenses[0].isOsiApproved()) {
                request.setAttribute("licenseOSI", "true");
            }
            if(licenses.length > 1) {
                log.warn("Unable to edit plugin metadata containing more than one license!  Additional license data will not be editable.");
            }
        }
        request.setAttribute("gerVersions", combine(data.getGeronimoVersions()));
        request.setAttribute("jvmVersions", combine(data.getJvmVersions()));
        request.setAttribute("dependencies", combine(data.getDependencies()));
        request.setAttribute("obsoletes", combine(data.getObsoletes()));
        PluginMetadata.Prerequisite[] reqs = data.getPrerequisites();
        if(reqs != null && reqs.length > 0) {
            for (int i = 0; i < reqs.length; i++) {
                PluginMetadata.Prerequisite req = reqs[i];
                String prefix = "prereq" + (i+1);
                request.setAttribute(prefix, req.getModuleId().toString());
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        String osi = request.getParameter("licenseOSI");
        String gers = request.getParameter("gerVersions");
        String jvms = request.getParameter("jvmVersions");
        String deps = request.getParameter("dependencies");
        String obsoletes = request.getParameter("obsoletes");
        PluginMetadata data = PortletManager.getCurrentServer(request).getPluginInstaller().getPluginMetadata(Artifact.create(configId));
        PluginMetadata metadata = new PluginMetadata(name, data.getModuleId(),
                category, description, url, author, null, true, false);
        metadata.setDependencies(split(deps));
        metadata.setGeronimoVersions(split(gers));
        metadata.setJvmVersions(split(jvms));
        metadata.setObsoletes(split(obsoletes));
        List licenses = new ArrayList();
        if(license != null && !license.trim().equals("")) {
            licenses.add(new PluginMetadata.License(license.trim(), osi != null && !osi.equals("")));
        }
        for (int i = 1; i < data.getLicenses().length; i++) {
            licenses.add(data.getLicenses()[i]);
        }
        metadata.setLicenses((PluginMetadata.License[]) licenses.toArray(new PluginMetadata.License[licenses.size()]));
        List prereqs = new ArrayList();
        int counter = 1;
        while(true) {
            String prefix = "prereq" + counter;
            ++counter;
            String id = request.getParameter(prefix);
            if(id == null || id.trim().equals("")) {
                break;
            }
            String type = request.getParameter(prefix+"type");
            String desc = request.getParameter(prefix+"desc");
            if(type != null && type.trim().equals("")) {
                type = null;
            }
            if(desc != null && desc.trim().equals("")) {
                desc = null;
            }
            prereqs.add(new PluginMetadata.Prerequisite(Artifact.create(id), false, type, desc));
        }
        for (int i = 3; i < data.getPrerequisites().length; i++) {
            PluginMetadata.Prerequisite req = data.getPrerequisites()[i];
            prereqs.add(req);
        }
        metadata.setPrerequisites((PluginMetadata.Prerequisite[]) prereqs.toArray(new PluginMetadata.Prerequisite[prereqs.size()]));
        URL[] backupURLs = splitURLs(repo);
        metadata.setRepositories(backupURLs);
        PortletManager.getCurrentServer(request).getPluginInstaller().updatePluginMetadata(metadata);

        response.setRenderParameter("configId", configId);
        response.setRenderParameter("name", name);
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        } catch (FailedLoginException e) {
            throw new PortletException("Invalid login for Maven repository '"+repository+"'", e);
        }
        Map results = new HashMap();
        for (int i = 0; i < data.getPlugins().length; i++) {
            PluginMetadata metadata = data.getPlugins()[i];
            List values = (List) results.get(metadata.getCategory());
            if(values == null) {
                values = new ArrayList();
                results.put(metadata.getCategory(), values);
            }
            values.add(metadata);
        }
        Collection values = results.values();
        for (Iterator it = values.iterator(); it.hasNext();) {
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        }

    }

    private void updatePluginMetadata(Artifact artifact) {
        PluginMetadata data = installer.getPluginMetadata(artifact);
        if(data == null) {
            return;
        }
        if(data.getGeronimoVersions() != null && data.getGeronimoVersions().length == 1 &&
                VERSION_MAP.containsKey(data.getGeronimoVersions()[0])) {
            data.setGeronimoVersions((String[]) ((List) VERSION_MAP.get(data.getGeronimoVersions()[0])).toArray(new String[0]));
            if(data.getHash() != null) {
                data = copy(data);
            }
            installer.updatePluginMetadata(data);
        }
    }
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

    /**
     * Create a copy of a metadata, but with an empty hash.  Used when
     * something changed so an existing hash would be invalid.
     */
    private PluginMetadata copy(PluginMetadata source) {
        PluginMetadata data = new PluginMetadata(source.getName(), source.getModuleId(), source.getCategory(),
                source.getDescription(), source.getPluginURL(), source.getAuthor(), null, source.isInstalled(),
                source.isEligible());
        data.setConfigXmls(source.getConfigXmls());
        data.setDependencies(source.getDependencies());
        data.setFilesToCopy(source.getFilesToCopy());
        data.setForceStart(source.getForceStart());
        data.setGeronimoVersions(source.getGeronimoVersions());
        data.setJvmVersions(source.getJvmVersions());
        data.setLicenses(source.getLicenses());
        data.setObsoletes(source.getObsoletes());
        data.setPrerequisites(source.getPrerequisites());
        data.setRepositories(source.getRepositories());
        return data;
    }
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        Kernel kernel = KernelRegistry.getSingleKernel();
        PluginInstaller installer = getPluginInstaller(kernel);
        String moduleIdName = getInitParameter("moduleId");
        moduleIdName = moduleIdName.replaceAll("SERVER", getServerType());
        URL repo = getFirstPluginRepository(kernel);
        PluginMetadata target = new PluginMetadata("Sample Application", null, "Samples", "A sample application",
                                                   null, null, null, false, true);
        target.setDependencies(new String[]{moduleIdName});
        DownloadResults results = installer.install(new PluginList(new URL[]{repo, new URL("http://www.ibiblio.org/maven2/")},
                                                    new PluginMetadata[]{target}), null, null);
        if(results.isFailed()) {
            throw new ServletException("Unable to install sample application", results.getFailure());
        }
View Full Code Here

Examples of org.apache.geronimo.system.plugin.PluginMetadata

        root.setAttribute("xmlns", NAMESPACE);
        doc.appendChild(root);
        for (Iterator it = plugins.iterator(); it.hasNext();) {
            Artifact plugin = (Artifact) it.next();
            System.out.println("Including plugin data for "+plugin);
            PluginMetadata data = installer.getPluginMetadata(plugin);
            if(data == null) {
                throw new IllegalArgumentException("Invalid plugin file; Log4J output for a specific error.");
            }
            File file = destRepo.getLocation(plugin);
            Element config = doc.createElement("plugin");
            root.appendChild(config);
            createText(doc, config, "name", data.getName());
            createText(doc, config, "module-id", data.getModuleId().toString());
            createText(doc, config, "category", data.getCategory());
            createText(doc, config, "description", data.getDescription());
            if(data.getPluginURL() != null) {
                createText(doc, config, "url", data.getPluginURL());
            }
            if(data.getAuthor() != null) {
                createText(doc, config, "author", data.getAuthor());
            }
            for (int i = 0; i < data.getLicenses().length; i++) {
                PluginMetadata.License license = data.getLicenses()[i];
                Element lic = doc.createElement("license");
                lic.appendChild(doc.createTextNode(license.getName()));
                lic.setAttribute("osi-approved", license.isOsiApproved() ? "true" : "false");
                config.appendChild(lic);
            }
            if(data.getHash() != null) {
                Element hash = doc.createElement("hash");
                hash.setAttribute("type", data.getHash().getType());
                hash.appendChild(doc.createTextNode(data.getHash().getValue()));
                config.appendChild(hash);
            } else if(file.isFile() && file.canRead()) {
                Element hash = doc.createElement("hash");
                hash.setAttribute("type", "SHA-1");
                hash.appendChild(doc.createTextNode(ConfigurationStoreUtil.getActualChecksum(file)));
                config.appendChild(hash);
            }
            for (int i = 0; i < data.getGeronimoVersions().length; i++) {
                String version = data.getGeronimoVersions()[i];
                createText(doc, config, "geronimo-version", version);
            }
            for (int i = 0; i < data.getJvmVersions().length; i++) {
                String version = data.getJvmVersions()[i];
                createText(doc, config, "jvm-version", version);
            }
            for (int i = 0; i < data.getPrerequisites().length; i++) {
                PluginMetadata.Prerequisite prereq = data.getPrerequisites()[i];
                writePrerequisite(doc, config, prereq);
            }
            for (int i = 0; i < data.getDependencies().length; i++) {
                String version = data.getDependencies()[i];
                createText(doc, config, "dependency", version);
            }
            for (int i = 0; i < data.getObsoletes().length; i++) {
                String version = data.getObsoletes()[i];
                createText(doc, config, "obsoletes", version);
            }
            // Skip the repository, we'll specify that at the top level
//            for (int i = 0; i < data.getRepositories().length; i++) {
//                URL url = data.getRepositories()[i];
//                createText(doc, config, "source-repository", url.toString());
//            }
            for (int i = 0; i < data.getFilesToCopy().length; i++) {
                PluginMetadata.CopyFile copyFile = data.getFilesToCopy()[i];
                Element copy = doc.createElement("copy-file");
                copy.setAttribute("relative-to", copyFile.isRelativeToVar() ? "server" : "geronimo");
                copy.setAttribute("dest-dir", copyFile.getDestDir());
                copy.appendChild(doc.createTextNode(copyFile.getSourceFile()));
                config.appendChild(copy);
            }
            if(data.getConfigXmls().length > 0) {
                Element content = doc.createElement("config-xml-content");
                for (int i = 0; i < data.getConfigXmls().length; i++) {
                    GBeanOverride override = data.getConfigXmls()[i];
                    Element gbean = override.writeXml(doc, content);
                    gbean.setAttribute("xmlns", "http://geronimo.apache.org/xml/ns/attributes-1.1");
                }
                config.appendChild(content);
            }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.