Browse Source

Consistent delegation to target ValidatorFactory

pull/36221/head
Juergen Hoeller 5 days ago
parent
commit
b0ac8df13e
  1. 30
      spring-context/src/main/java/org/springframework/validation/beanvalidation/LocalValidatorFactoryBean.java
  2. 4
      spring-context/src/main/java/org/springframework/validation/beanvalidation/MessageSourceResourceBundleLocator.java

30
spring-context/src/main/java/org/springframework/validation/beanvalidation/LocalValidatorFactoryBean.java

@ -261,7 +261,7 @@ public class LocalValidatorFactoryBean extends SpringValidatorAdapter @@ -261,7 +261,7 @@ public class LocalValidatorFactoryBean extends SpringValidatorAdapter
configuration = bootstrap.configure();
}
// Try Hibernate Validator 5.2's externalClassLoader(ClassLoader) method
// Try Hibernate Validator's externalClassLoader(ClassLoader) method
if (this.applicationContext != null) {
try {
Method eclMethod = configuration.getClass().getMethod("externalClassLoader", ClassLoader.class);
@ -269,7 +269,7 @@ public class LocalValidatorFactoryBean extends SpringValidatorAdapter @@ -269,7 +269,7 @@ public class LocalValidatorFactoryBean extends SpringValidatorAdapter
ReflectionUtils.invokeMethod(eclMethod, configuration, this.applicationContext.getClassLoader());
}
catch (NoSuchMethodException ignored) {
// no Hibernate Validator 5.2+ or similar provider
// no Hibernate Validator or similar provider
}
}
@ -370,47 +370,45 @@ public class LocalValidatorFactoryBean extends SpringValidatorAdapter @@ -370,47 +370,45 @@ public class LocalValidatorFactoryBean extends SpringValidatorAdapter
protected void postProcessConfiguration(Configuration<?> configuration) {
}
private ValidatorFactory obtainValidatorFactory() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory;
}
@Override
public Validator getValidator() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.getValidator();
return obtainValidatorFactory().getValidator();
}
@Override
public ValidatorContext usingContext() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.usingContext();
return obtainValidatorFactory().usingContext();
}
@Override
public MessageInterpolator getMessageInterpolator() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.getMessageInterpolator();
return obtainValidatorFactory().getMessageInterpolator();
}
@Override
public TraversableResolver getTraversableResolver() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.getTraversableResolver();
return obtainValidatorFactory().getTraversableResolver();
}
@Override
public ConstraintValidatorFactory getConstraintValidatorFactory() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.getConstraintValidatorFactory();
return obtainValidatorFactory().getConstraintValidatorFactory();
}
@Override
public ParameterNameProvider getParameterNameProvider() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.getParameterNameProvider();
return obtainValidatorFactory().getParameterNameProvider();
}
@Override
public ClockProvider getClockProvider() {
Assert.state(this.validatorFactory != null, "No target ValidatorFactory set");
return this.validatorFactory.getClockProvider();
return obtainValidatorFactory().getClockProvider();
}
@Override

4
spring-context/src/main/java/org/springframework/validation/beanvalidation/MessageSourceResourceBundleLocator.java

@ -26,7 +26,7 @@ import org.springframework.context.support.MessageSourceResourceBundle; @@ -26,7 +26,7 @@ import org.springframework.context.support.MessageSourceResourceBundle;
import org.springframework.util.Assert;
/**
* Implementation of Hibernate Validator 4.3/5.x's {@link ResourceBundleLocator} interface,
* Implementation of Hibernate Validator's {@link ResourceBundleLocator} interface,
* exposing a Spring {@link MessageSource} as localized {@link MessageSourceResourceBundle}.
*
* @author Juergen Hoeller
@ -39,6 +39,7 @@ public class MessageSourceResourceBundleLocator implements ResourceBundleLocator @@ -39,6 +39,7 @@ public class MessageSourceResourceBundleLocator implements ResourceBundleLocator
private final MessageSource messageSource;
/**
* Build a MessageSourceResourceBundleLocator for the given MessageSource.
* @param messageSource the Spring MessageSource to wrap
@ -48,6 +49,7 @@ public class MessageSourceResourceBundleLocator implements ResourceBundleLocator @@ -48,6 +49,7 @@ public class MessageSourceResourceBundleLocator implements ResourceBundleLocator
this.messageSource = messageSource;
}
@Override
public ResourceBundle getResourceBundle(Locale locale) {
return new MessageSourceResourceBundle(this.messageSource, locale);

Loading…
Cancel
Save