public void archive()

in src/main/java/com/epam/digital/data/platform/report/service/QueryService.java [79:103]


    public void archive(List<Query> queries) {
        for (String name : getQueryNames(queries)) {
            log.info("Processing query '{}'", name);
            int page = 0;
            List<Query> foundQueries = new ArrayList<>();
            Page<Query> response;
            do {
                response = handleResponse(queryClient.getQueries(name, ++page));
                foundQueries.addAll(response.getResults());
            } while (page * response.getPageSize() < response.getCount());

            log.info("Found {} queries: {}", foundQueries.size(),
                foundQueries.stream()
                    .map(q -> "(id = " + q.getId() + ", name = '" + q.getName() + "')")
                    .collect(Collectors.toList()));

            foundQueries.stream()
                .filter(query -> query.getName().equals(name))
                .map(query -> {
                    log.info("Archiving query: id = {}, name = '{}'", query.getId(), name);
                    return query.getId();
                })
                .forEach(q -> handleResponse(queryClient.archiveQuery(q)));
        }
    }