in ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/trends/MasterTrendsService.java [258:296]
private void initStatistics(BuildsHistory buildsHist,
ITeamcityIgnited ignited,
Map<Integer, Boolean> buildIdsWithConditions) {
List<Future<BuildStatisticsSummary>> buildStaticsFutures = new ArrayList<>();
for (int buildId : buildIdsWithConditions.keySet()) {
Future<BuildStatisticsSummary> buildFut = CompletableFuture.supplyAsync(() -> {
BuildStatisticsSummary buildsStatistic = getBuildSummary(ignited, buildId);
buildsStatistic.isValid = buildIdsWithConditions.get(buildId);
return buildsStatistic;
});
buildStaticsFutures.add(buildFut);
}
if (MasterTrendsService.DEBUG)
System.out.println("Waiting for stat to collect");
buildStaticsFutures.forEach(fut -> {
try {
BuildStatisticsSummary buildsStatistic = fut.get();
if (buildsStatistic != null && !buildsStatistic.isFakeStub)
buildsHist.buildsStatistics.add(buildsStatistic);
}
catch (ExecutionException e) {
if (e.getCause() instanceof UncheckedIOException)
logger.error(Arrays.toString(e.getStackTrace()));
else
throw new RuntimeException(e);
}
catch (InterruptedException e) {
throw new RuntimeException(e);
}
});
}