public Set validate()

in src/main/java/com/epam/digital/data/platform/registry/regulation/validation/cli/validator/report/ReportGroupUniqueNameValidator.java [51:75]


    public Set<ValidationError> validate(Collection<File> reportFiles, ValidationContext context) {
        Set<String> roles = Sets.newHashSet();
        reportFiles.forEach(
                file -> roles.add(StringUtils.substringBetween(file.getPath(), REPORTS_FOLDER_NAME, File.separator)));
        Set<ValidationError> errors = Sets.newHashSet();
        for (String role : roles) {
            Set<String> processedDashboardNames = Sets.newHashSet();
            Set<String> processedQueryNames = Sets.newHashSet();
            reportFiles.forEach(file -> {
                if (file.getPath().contains(File.separator + role + File.separator)) {
                    try {
                        if (file.getPath().contains(QUERIES_FOLDER_NAME)) {
                            validateQueries(file, processedQueryNames, errors, context);
                        } else {
                            validateDashboards(file, processedDashboardNames, errors, context);
                        }
                    } catch (IOException e) {
                        errors.add(ValidationError.of(context.getRegulationFileType(),
                                file, FILE_PROCESSING_ERROR_MSG, e));
                    }
                }
            });
        }
        return errors;
    }