in src/main/java/com/epam/digital/data/platform/report/pipeline/impl/UtilQueryPipeline.java [87:108]
private List<Query> getQueriesThatCanBePublished(List<Query> queries, Context context) {
List<Query> result = new ArrayList<>();
for (var query : queries) {
var params = (List<Map<String, Object>>) query.getOptions().get("parameters");
if (params.isEmpty()) {
result.add(query);
continue;
}
Set<Integer> subQueryIds = new HashSet<>();
for (var parameter : params) {
var subQueryId = parameter.get("queryId");
if (subQueryId != null) {
subQueryIds.add((Integer) subQueryId);
}
}
if (context.getMappedIds().keySet().containsAll(subQueryIds)) {
result.add(query);
}
}
return result;
}