plugins/org.apache.geronimo.st.v21.core/src/main/java/org/apache/geronimo/st/v21/core/operations/GeronimoServerV21PluginManager.java [580:656]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public ArrayList<String> installPlugins (String localRepoDir, List plugins) {
        Trace.tracePoint("Entry", Activator.traceOperations, "GeronimoServerPluginManager.installPlugins", localRepoDir, pluginList);
        ArrayList<String> eventLog = new ArrayList<String>();
        List<PluginType> pluginList = (List<PluginType>)plugins;

        //List<Artifact> downloadedArtifacts = new ArrayList<Artifact>();
        try {
            ConfigurationManager configManager = getConfigurationManager();
            Map<Artifact, PluginType> metaMap = new HashMap<Artifact, PluginType>();
            // Step 1: validate everything
            List<PluginType> toInstall = new ArrayList<PluginType>();
            for (PluginType metadata : pluginList) {
                try {
                    validatePlugin(metadata);
                    verifyPrerequisites(metadata);

                    PluginArtifactType instance = metadata.getPluginArtifact().get(0);

                    if (instance.getModuleId() != null) {
                        metaMap.put(toArtifact(instance.getModuleId()), metadata);
                    }
                    toInstall.add(metadata);
                } catch (Exception e) {
                }
            }

            // Step 2: everything is valid, do the installation
            for (PluginType metadata : toInstall) {
                // 2. Unload obsoleted configurations
                if (!validatePlugin(metadata)) {
                    // metadata exists
                    PluginArtifactType instance = metadata.getPluginArtifact()
                            .get(0);
                    List<Artifact> obsoletes = new ArrayList<Artifact>();
                    for (ArtifactType obs : instance.getObsoletes()) {
                        Artifact obsolete = toArtifact(obs);
                        if (configManager.isLoaded(obsolete)) {
                            if (configManager.isRunning(obsolete)) {
                                configManager.stopConfiguration(obsolete);
                                eventLog.add(obsolete.toString() + " stopped");
                            }
                            configManager.unloadConfiguration(obsolete);
                            obsoletes.add(obsolete);
                        }
                    }

                    // 4. Uninstall obsolete configurations
                    for (Artifact artifact : obsoletes) {
                        configManager.uninstallConfiguration(artifact);
                    }
                }
            }
            
            // Step 3: Start anything that's marked accordingly
            if (configManager.isOnline()) {
                for (int i = 0; i < toInstall.size(); i++) {
                    Artifact artifact = toArtifact(toInstall.get(i).getPluginArtifact().get(0).getModuleId());
                    if (!configManager.isRunning(artifact)) {
                        if (!configManager.isLoaded(artifact)) {
                            File serverArtifact = new File(getArtifactLocation (artifact));
                            File localDir = new File (createDirectoryStructure(localRepoDir, artifact));
                            writeToRepository(localDir, serverArtifact);
                            configManager.loadConfiguration(artifact);
                        }
                        configManager.startConfiguration(artifact);
                        eventLog.add(artifact.toString() + " started");
                    }
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        Trace.tracePoint("Exit", Activator.traceOperations, "GeronimoServerPluginManager.installPlugins", eventLog.toString());
        return eventLog;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



plugins/org.apache.geronimo.st.v22.core/src/main/java/org/apache/geronimo/st/v22/core/operations/GeronimoServerV22PluginManager.java [583:659]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public ArrayList<String> installPlugins (String localRepoDir, List plugins) {
        Trace.tracePoint("Entry", Activator.traceOperations, "GeronimoServerPluginManager.installPlugins", localRepoDir, pluginList);
        ArrayList<String> eventLog = new ArrayList<String>();
        List<PluginType> pluginList = (List<PluginType>)plugins;

        //List<Artifact> downloadedArtifacts = new ArrayList<Artifact>();
        try {
            ConfigurationManager configManager = getConfigurationManager();
            Map<Artifact, PluginType> metaMap = new HashMap<Artifact, PluginType>();
            // Step 1: validate everything
            List<PluginType> toInstall = new ArrayList<PluginType>();
            for (PluginType metadata : pluginList) {
                try {
                    validatePlugin(metadata);
                    verifyPrerequisites(metadata);

                    PluginArtifactType instance = metadata.getPluginArtifact().get(0);

                    if (instance.getModuleId() != null) {
                        metaMap.put(toArtifact(instance.getModuleId()), metadata);
                    }
                    toInstall.add(metadata);
                } catch (Exception e) {
                }
            }

            // Step 2: everything is valid, do the installation
            for (PluginType metadata : toInstall) {
                // 2. Unload obsoleted configurations
                if (!validatePlugin(metadata)) {
                    // metadata exists
                    PluginArtifactType instance = metadata.getPluginArtifact()
                            .get(0);
                    List<Artifact> obsoletes = new ArrayList<Artifact>();
                    for (ArtifactType obs : instance.getObsoletes()) {
                        Artifact obsolete = toArtifact(obs);
                        if (configManager.isLoaded(obsolete)) {
                            if (configManager.isRunning(obsolete)) {
                                configManager.stopConfiguration(obsolete);
                                eventLog.add(obsolete.toString() + " stopped");
                            }
                            configManager.unloadConfiguration(obsolete);
                            obsoletes.add(obsolete);
                        }
                    }

                    // 4. Uninstall obsolete configurations
                    for (Artifact artifact : obsoletes) {
                        configManager.uninstallConfiguration(artifact);
                    }
                }
            }
            
            // Step 3: Start anything that's marked accordingly
            if (configManager.isOnline()) {
                for (int i = 0; i < toInstall.size(); i++) {
                    Artifact artifact = toArtifact(toInstall.get(i).getPluginArtifact().get(0).getModuleId());
                    if (!configManager.isRunning(artifact)) {
                        if (!configManager.isLoaded(artifact)) {
                            File serverArtifact = new File(getArtifactLocation (artifact));
                            File localDir = new File (createDirectoryStructure(localRepoDir, artifact));
                            writeToRepository(localDir, serverArtifact);
                            configManager.loadConfiguration(artifact);
                        }
                        configManager.startConfiguration(artifact);
                        eventLog.add(artifact.toString() + " started");
                    }
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        Trace.tracePoint("Exit", Activator.traceOperations, "GeronimoServerPluginManager.installPlugins", eventLog.toString());
        return eventLog;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



