in src/main/java/com/epam/digital/data/platform/registry/regulation/validation/cli/validator/report/ReportRoleExistenceValidator.java [43:75]
public Set<ValidationError> validate(RegulationFiles regulation, ValidationContext context) {
List<String> reportsRolesNames = new ArrayList<>();
Set<String> existingRoles = new HashSet<>();
Set<ValidationError> errors = new HashSet<>();
regulation.getReportsFolders().forEach(folder ->
reportsRolesNames.addAll(getReportsRolesNames(folder)));
for (File file : regulation.getRolesFiles()) {
try {
if (file.getName().equals(officerPermissionsFile)) {
existingRoles.addAll(getExistingRolesInBpFile(file));
}
} catch (IOException e) {
errors.add(
ValidationError.of(context.getRegulationFileType(), file,
"Exception during reading file"));
}
}
if (null != defaultRoles) {
existingRoles.addAll(defaultRoles);
}
for (String role : reportsRolesNames) {
if (!existingRoles.contains(role)) {
errors.add(
ValidationError.of(context.getRegulationFileType(), new File(role),
String.format("Role with name : %s does not exists", role)));
}
}
return errors;
}