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