in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/AbstractValidateMojo.java [378:407]
protected static Map<String, ValidatorSettings> getEffectiveValidatorSettingsForPackage(Map<String, ValidatorSettings> validatorsSettings, PackageId packageId, boolean isSubPackage) {
if (validatorsSettings == null) {
return Collections.emptyMap();
}
// first sort applicable map entry values
Map<String, SortedSet<ValidatorSettings>> validatorSettingsById = new HashMap<>();
for (Entry<String, ValidatorSettings> entry : validatorsSettings.entrySet()) {
if (entry.getValue().isApplicable(packageId, isSubPackage)) {
// first extract key
final String validatorId = entry.getKey().split("__")[0];
SortedSet<ValidatorSettings> settings = validatorSettingsById.computeIfAbsent(validatorId, s -> new TreeSet<ValidatorSettings>());
settings.add(entry.getValue());
}
}
// then merge all applicable ones
Map<String, ValidatorSettings> effectiveValidatorSettingsById = new HashMap<>();
for (Entry<String, SortedSet<ValidatorSettings>> entry : validatorSettingsById.entrySet()) {
ValidatorSettings mergedSettings = null;
for (ValidatorSettings settings : entry.getValue()) {
if (mergedSettings == null) {
mergedSettings = settings;
} else {
mergedSettings = mergedSettings.merge(settings);
}
}
effectiveValidatorSettingsById.put(entry.getKey(), mergedSettings);
}
return effectiveValidatorSettingsById;
}