public Set validate()

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