private void initStatistics()

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);
            }
        });
    }