in bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidationProvider.java [76:104]
public ValidatorFactory buildValidatorFactory(final ConfigurationState configuration) {
final Class<? extends ValidatorFactory> validatorFactoryClass;
try {
final String validatorFactoryClassname =
configuration.getProperties().get(ApacheValidatorConfiguration.Properties.VALIDATOR_FACTORY_CLASSNAME);
if (validatorFactoryClassname == null) {
validatorFactoryClass = ApacheValidatorFactory.class;
} else {
validatorFactoryClass =
Reflection.toClass(validatorFactoryClassname).asSubclass(ValidatorFactory.class);
}
} catch (ValidationException ex) {
throw ex;
} catch (Exception ex) {
throw new ValidationException("error building ValidatorFactory", ex);
}
try {
return validatorFactoryClass.getConstructor(ConfigurationState.class).newInstance(configuration);
} catch (Exception e) {
final Throwable t = Exceptions.causeOf(e);
if (t instanceof ValidationException) {
throw (ValidationException) t;
}
throw Exceptions.create(ValidationException::new, t, "Cannot instantiate %s",
validatorFactoryClass.getName());
}
}