in src/main/java/com/epam/digital/data/platform/registry/regulation/validation/cli/validator/bpgrouping/BpGroupingProcessDefinitionIdValidator.java [54:76]
public Set<ValidationError> validate(RegulationFiles regulationFiles, ValidationContext context) {
Set<ValidationError> errors = Sets.newHashSet();
for (File file : regulationFiles.getBpGroupingFiles()) {
try {
var bpGroup = yamlObjectMapper.readValue(file, BpGroupingConfiguration.class);
var groupsProcessDefinitionIds = bpGroup.getGroups()
.stream()
.map(group -> Optional.ofNullable(group.getProcessDefinitions()).orElse(Lists.newArrayList()))
.flatMap(Collection::stream)
.collect(Collectors.toList());
var ungroupedProcessDefinitionIds = Optional.ofNullable(bpGroup.getUngrouped()).orElse(Lists.newArrayList());
ungroupedProcessDefinitionIds.addAll(groupsProcessDefinitionIds);
errors.addAll(
validateProcessDefinitionExistence(ungroupedProcessDefinitionIds, file, regulationFiles, context));
errors.addAll(
validateProcessDefinitionUnique(ungroupedProcessDefinitionIds, file, context));
} catch (IOException e) {
errors.add(
ValidationError.of(context.getRegulationFileType(), file, "File processing failure", e));
}
}
return errors;
}