public Integer call()

in src/main/java/org/apache/sling/cli/impl/release/UpdateReporterCommand.java [79:115]


    public Integer call() {
        try {
            StagingRepository repository = repositoryService.find(repositoryId);
            Set<Release> releases = repositoryService.getReleases(repository);
            String releaseReleases = releases.size() > 1 ? "releases" : "release";
            switch (reusableCLIOptions.executionMode) {
                case DRY_RUN:
                    LOGGER.info("The following {} would be added to the Apache Reporter System:", releaseReleases);
                    releases.forEach(release -> LOGGER.info("  - {}", release.getFullName()));
                    break;
                case INTERACTIVE:
                    StringBuilder question = new StringBuilder(String.format("Should the following %s be added to the Apache Reporter " +
                            "System?", releaseReleases)).append("\n");
                    releases.forEach(release -> question.append("  - ").append(release.getFullName()).append("\n"));
                    InputOption answer = UserInput.yesNo(question.toString(), InputOption.YES);
                    if (InputOption.YES.equals(answer)) {
                        LOGGER.info("Updating the Apache Reporter System...");
                        updateReporter(releases);
                        LOGGER.info("Done.");
                    } else if (InputOption.NO.equals(answer)) {
                        LOGGER.info("Aborted updating the Apache Reporter System.");
                    }
                    break;
                case AUTO:
                    LOGGER.info("The following {} will be added to the Apache Reporter System:", releaseReleases);
                    releases.forEach(release -> LOGGER.info("  - {}", release.getFullName()));
                    updateReporter(releases);
                    LOGGER.info("Done.");
            }

        } catch (IOException e) {
            LOGGER.error(String.format("Unable to update reporter service; passed command: %s.", repositoryId), e);
            return CommandLine.ExitCode.SOFTWARE;
        }
        return CommandLine.ExitCode.OK;

    }