Package org.apache.geronimo.system.plugin

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


        }
    }

    public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
        String configId = request.getParameter("configId");
        PluginInstaller pluginInstaller = ManagementHelper.getManagementHelper(request).getPluginInstaller();
        PluginType metadata = pluginInstaller.getPluginMetadata(Artifact.create(configId));
        PluginArtifactType instance = metadata.getPluginArtifact().get(0);

        String name = request.getParameter("name");
        metadata.setName(name);
        metadata.setCategory(request.getParameter("category"));
        metadata.setUrl(request.getParameter("url"));
        metadata.setAuthor(request.getParameter("author"));
        metadata.setDescription(request.getParameter("description"));
        String licenseString = request.getParameter("license");
        String osi = request.getParameter("licenseOSI");
        List<LicenseType> licenses = metadata.getLicense();
        if (!licenses.isEmpty()) {
            licenses.remove(0);
        }
        if (licenseString != null && !licenseString.trim().equals("")) {
            LicenseType license = new LicenseType();
            license.setValue(licenseString.trim());
            license.setOsiApproved(osi != null && !osi.equals(""));
            licenses.add(0, license);
        }

        String jvmsString = request.getParameter("jvmVersions");
        split(jvmsString, instance.getJvmVersion());

        String deps = request.getParameter("dependencies");
        toDependencies(split(deps), instance.getDependency());

        String obsoletes = request.getParameter("obsoletes");
        toArtifacts(split(obsoletes), instance.getObsoletes());

        String repo = request.getParameter("repository");
        split(repo, instance.getSourceRepository());

        //TODO this is wrong, we are only supplying one version to the UI
        String version = request.getParameter("geronimoVersion");
        split(version, instance.getGeronimoVersion());

        List<PrerequisiteType> prereqs = instance.getPrerequisite();
        //TODO this is probably wrong if # of prereqs is changed.
        for (int i = 0; i < 3 && !prereqs.isEmpty(); i++) {
            prereqs.remove(0);
        }
        int counter = 1;
        while (true) {
            String prefix = "prereq" + 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;
            }
            PrerequisiteType prereq = new PrerequisiteType();
            prereq.setResourceType(type);
            prereq.setDescription(desc);
            prereq.setId(PluginInstallerGBean.toArtifactType(Artifact.create(id)));
            prereqs.add(counter - 1, prereq);
            counter++;
        }

        // Save updated metadata
        pluginInstaller.updatePluginMetadata(metadata);

        response.setRenderParameter("configId", configId);
        response.setRenderParameter("name", name);

        return CONFIRM_EXPORT_MODE + BEFORE_ACTION;
View Full Code Here


    private void generateConfigFile(HttpServletRequest request, Kernel kernel, PrintWriter out) throws NoSuchStoreException, JAXBException, XMLStreamException {
        String repo = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+request.getServletPath();
        if(!repo.endsWith("/")) repo += "/";
        ConfigurationManager mgr = ConfigurationUtil.getConfigurationManager(kernel);
        PluginInstaller installer = getInstaller(kernel);
        PluginListType pluginList = installer.createPluginListForRepositories(repo);
        PluginXmlUtil.writePluginList(pluginList, out);
    }
View Full Code Here

        response.setWindowState(WindowState.MAXIMIZED);
        return getMode();
    }

    public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
        PluginInstaller pluginInstaller = ManagementHelper.getManagementHelper(request).getPluginInstaller();

        String clickedConfigId = request.getParameter("clickedConfigId");
        String[] configIds = request.getParameterValues("pluginIds");
        String targetPath = request.getParameter("targetPath");
        String groupId = request.getParameter("groupId");
View Full Code Here

        String artifactId = request.getParameter("artifactId");
        String version = request.getParameter("version");
        String format = request.getParameter("format");
       

        PluginInstaller pluginInstaller = ManagementHelper.getManagementHelper(request).getPluginInstaller();
        ServerArchiver archiver = ManagementHelper.getManagementHelper(request).getArchiver();
        String[] configIds = request.getParameterValues("configId");

        PluginListType list = getServerPluginList(request, pluginInstaller);
        PluginListType installList = getPluginsFromIds(configIds, list);
       
       
        // if the targetPath doesn't end with "/" or "\", add one.
        if (targetPath.lastIndexOf("/") != targetPath.length()-1){
            if (targetPath.lastIndexOf("\\") != targetPath.length()-1){
                targetPath = targetPath + "/";
            }
        }
       
        String targetBasePath = targetPath + groupId +"/";
        String targetAssemblyPath = targetBasePath + artifactId+"-"+version;
        String targetArchivePath = targetBasePath;
       
        try {
            DownloadResults downloadResults = pluginInstaller.installPluginList("repository", targetAssemblyPath, installList);
            archiver.archive(targetAssemblyPath, targetArchivePath, new Artifact(groupId, artifactId, version, format));
        } catch (Exception e) {
            throw new PortletException("Could not assemble server", e);
        }
       
View Full Code Here

        return getMode();
    }

    public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
        PluginInstaller pluginInstaller = ManagementHelper.getManagementHelper(request).getPluginInstaller();

        String[] configIds = request.getParameterValues("pluginIds");
        String repo = request.getParameter("repository");
        String user = request.getParameter("repo-user");
        String pass = request.getParameter("repo-pass");

        PluginListType list = getRepoPluginList(request, pluginInstaller, repo);
        PluginListType installList = getPluginsFromIds(configIds, list);
        List<PluginInfoBean> plugins = new ArrayList<PluginInfoBean>();
        for (PluginType pluginType: installList.getPlugin()) {
            PluginInfoBean infoBean = new PluginInfoBean();
            infoBean.setPlugin(pluginType);
            infoBean.setPluginArtifact(pluginType.getPluginArtifact().get(0));
            plugins.add(infoBean);
        }

        boolean allInstallable = true;
        // see if the plugin is installable.  if not then provide the details
        String validationOk = "All requirements for this plugin have been met.";
        for (PluginInfoBean plugin : plugins) {
            StringBuffer validationNotOk = new StringBuffer();
            PluginType holder = PluginInstallerGBean.copy(plugin.getPlugin(), plugin.getPluginArtifact());
            try {
                plugin.setInstallable(pluginInstaller.validatePlugin(holder));
            } catch (Exception e) {
                plugin.setInstallable(false);
                validationNotOk.append(e.getMessage());
                validationNotOk.append("<BR>\n");
            }
            Dependency[] missingPrereqs = pluginInstaller.checkPrerequisites(holder);
            if (missingPrereqs.length > 0) {
                plugin.setInstallable(false);
                for (Dependency dep : missingPrereqs) {
                    validationNotOk.append(" Missing prerequisite ");
                    validationNotOk.append(dep.getArtifact().toString());
View Full Code Here

        request.setAttribute("allInstallable", allInstallable);
        request.setAttribute("mode", "viewForDownload-after");
    }

    public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
        PluginInstaller pluginInstaller = ManagementHelper.getManagementHelper(request).getPluginInstaller();
        String repo = request.getParameter("repository");
        String user = request.getParameter("repo-user");
        String pass = request.getParameter("repo-pass");
        String[] configIds = request.getParameterValues("configId");

        PluginListType list = getRepoPluginList(request, pluginInstaller, repo);
        PluginListType installList = getPluginsFromIds(configIds, list);

        Object downloadKey = pluginInstaller.startInstall(installList, repo, false, user, pass);
        DownloadResults results = pluginInstaller.checkOnInstall(downloadKey);
        request.getPortletSession(true).setAttribute(DOWNLOAD_RESULTS_SESSION_KEY, results);
       
        response.setRenderParameter("configIds", configIds);
        response.setRenderParameter("repository", repo);
        response.setRenderParameter("downloadKey", downloadKey.toString());
View Full Code Here

        return getMode()+BEFORE_ACTION;
    }

    private boolean loadFromServer(RenderRequest request) throws IOException, PortletException {

        PluginInstaller pluginInstaller = ManagementHelper.getManagementHelper(request).getPluginInstaller();

        // try to reuse the catalog data if it was already downloaded
        PluginListType data = getServerPluginList(request, pluginInstaller);
        //try to reuse the server application list
        List<String> appList = getApplicationModuleLists(request);
View Full Code Here

        return getImplementation(ServerArchiver.class);
    }

    //not likely to be useful remotely
    public PluginListType createPluginListForRepositories(String repo) throws NoSuchStoreException {
        PluginInstaller installer = getPluginInstaller();
        try {
            return installer.createPluginListForRepositories(repo);
        } finally {
            kernel.getProxyManager().destroyProxy(installer);
        }
    }
View Full Code Here

            kernel.getProxyManager().destroyProxy(installer);
        }
    }

    public Map getInstalledPlugins() {
        PluginInstaller installer = getPluginInstaller();
        try {
            return installer.getInstalledPlugins();
        } finally {
            kernel.getProxyManager().destroyProxy(installer);
        }
    }
View Full Code Here

            kernel.getProxyManager().destroyProxy(installer);
        }
    }

    public PluginType getPluginMetadata(Artifact configId) {
        PluginInstaller installer = getPluginInstaller();
        try {
            return installer.getPluginMetadata(configId);
        } finally {
            kernel.getProxyManager().destroyProxy(installer);
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.geronimo.system.plugin.PluginInstaller

Copyright © 2018 www.massapicom. 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.