protected void doExecute()

in src/main/java/org/apache/sling/maven/kickstart/run/StopMojo.java [44:87]


    protected void doExecute() throws MojoExecutionException, MojoFailureException {
        
        // read configurations
        final Properties kickstartConfigProps = new Properties();
        Reader reader = null;
        try {
            reader = new FileReader(this.systemPropertiesFile);
            kickstartConfigProps.load(reader);
        } catch ( final IOException ioe) {
            throw new MojoExecutionException("Unable to read kickstart runner configuration properties.", ioe);
        } finally {
            IOUtils.closeQuietly(reader);
        }

        final int instances = Integer.valueOf(kickstartConfigProps.getProperty("kickstart.instances"));
        final List<ProcessDescription> configurations = new ArrayList<ProcessDescription>();
        for(int i=1;i<=instances;i++) {
            final String id = kickstartConfigProps.getProperty("kickstart.instance.id." + String.valueOf(i));

            final ProcessDescription config = ProcessDescriptionProvider.getInstance().getRunConfiguration(id);
            if ( config == null ) {
                getLog().warn("No kickstart configuration found for instance " + id);
            } else {
                configurations.add(config);
            }
        }

        blockIfNecessary();
        if (configurations.size() > 0) {
            getLog().info(new StringBuilder("Stopping ").append(configurations.size()).append(" Kickstart instances").toString());

            for (final ProcessDescription cfg : configurations) {

                try {
                    LauncherCallable.stop(this.getLog(), cfg);
                    ProcessDescriptionProvider.getInstance().removeRunConfiguration(cfg.getId());
                } catch (Exception e) {
                    throw new MojoExecutionException("Could not stop kickstart " + cfg.getId(), e);
                }
            }
        } else {
            getLog().warn("No stored configuration file was found at " + this.systemPropertiesFile + " - no Launchapd will be stopped");
        }
    }