in src/main/java/org/apache/sling/cli/impl/jira/VersionClient.java [209:230]
private void closeIssues(List<Issue> issues) throws Exception {
List<Promise<Issue>> closedIssues = new ArrayList<>();
for (Issue issue : issues) {
if (!"Closed".equals(issue.getStatus())) {
closedIssues.add(getCloseTransition(issue).then(closeTransition -> closeIssue(issue, closeTransition.getValue())));
}
}
Promise<List<Issue>> closedFixedIssues = promiseFactory.all(closedIssues);
Throwable failed = closedFixedIssues.getFailure();
if (failed != null) {
if (failed instanceof FailedPromisesException) {
FailedPromisesException failedPromisesException = (FailedPromisesException) failed;
StringBuilder failureMessages = new StringBuilder();
for (Promise<?> promise : failedPromisesException.getFailedPromises()) {
failureMessages.append(promise.getFailure().getMessage()).append("\n");
}
throw new IOException("Unable to close the following issues:\n" + failureMessages.toString());
} else {
throw new Exception(failed);
}
}
}