in bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationParser.java [91:133]
public BootstrapConfiguration processValidationConfig(final String file,
final ConfigurationImpl targetConfig) {
final ValidationConfigType xmlConfig = parseXmlConfig(file);
if (xmlConfig == null) {
return null;
}
final boolean executableValidationEnabled;
final Set<ExecutableType> defaultValidatedExecutableTypes;
if (xmlConfig.getExecutableValidation() == null) {
defaultValidatedExecutableTypes = EnumSet.of(ExecutableType.IMPLICIT);
executableValidationEnabled = true;
} else {
final Optional<ExecutableValidationType> executableValidation =
Optional.of(xmlConfig).map(ValidationConfigType::getExecutableValidation);
executableValidationEnabled = executableValidation.map(ExecutableValidationType::getEnabled)
.filter(Predicate.isEqual(Boolean.TRUE)).isPresent();
defaultValidatedExecutableTypes = executableValidation.filter(x -> executableValidationEnabled)
.map(ExecutableValidationType::getDefaultValidatedExecutableTypes)
.map(DefaultValidatedExecutableTypesType::getExecutableType).map(EnumSet::copyOf)
.orElse(EnumSet.noneOf(ExecutableType.class));
}
Set<String> constraintMappings = xmlConfig.getConstraintMapping().stream()
.map(s -> s.trim())
.collect(Collectors.toSet());
Set<String> valueExtractor = xmlConfig.getValueExtractor().stream()
.map(s -> s.trim())
.collect(Collectors.toSet());
String clockProvider = xmlConfig.getClockProvider() == null ? null : xmlConfig.getClockProvider().trim();
String messageInterpolator = xmlConfig.getMessageInterpolator() == null ? null : xmlConfig.getMessageInterpolator().trim();
String parameterNameProvider = xmlConfig.getParameterNameProvider() == null ? null : xmlConfig.getParameterNameProvider().trim();
String traversableResolver = xmlConfig.getTraversableResolver() == null ? null : xmlConfig.getTraversableResolver().trim();
String constraintValidatorFactory = xmlConfig.getConstraintValidatorFactory() == null ? null : xmlConfig.getConstraintValidatorFactory().trim();
String defaultProvider = xmlConfig.getDefaultProvider() == null ? null : xmlConfig.getDefaultProvider().trim();
return new BootstrapConfigurationImpl(defaultProvider, constraintValidatorFactory,
messageInterpolator, traversableResolver,
parameterNameProvider, constraintMappings,
executableValidationEnabled, defaultValidatedExecutableTypes, toMap(xmlConfig.getProperty()),
clockProvider, valueExtractor);
}