in src/main/java/com/epam/digital/data/platform/usrprcssmgt/service/ProcessDefinitionService.java [179:200]
public GroupedProcessDefinitionResponse getGroupedProcessDefinitions(GetProcessDefinitionsParams params) {
log.info("Getting grouped process definitions. Params: {}", params);
var processDefinitions =
processDefinitionRemoteService.getProcessDefinitions(params).stream()
.collect(Collectors.toMap(ProcessDefinitionResponse::getKey, Function.identity()));
// getting the processes defined in the file and removing them from the map
var groupsResponse = getGroupedProcessDefinition(processDefinitions);
var ungroupedResponse = getUngroupedProcessDefinition(processDefinitions);
if (!processDefinitions.isEmpty()) {
var processesNotInTheGroupingFile = processDefinitions.values().stream()
.sorted(Comparator.comparing(ProcessDefinitionResponse::getName))
.collect(Collectors.toList());
ungroupedResponse.addAll(processesNotInTheGroupingFile);
}
log.info("Process definitions are found. Group count - {}, ungrouped processes - {}", groupsResponse.size(), ungroupedResponse.size());
return GroupedProcessDefinitionResponse.builder()
.groups(groupsResponse)
.ungrouped(ungroupedResponse)
.build();
}