From 7b2c74b05c5ca195f7259e1c4e6a2e94737eb613 Mon Sep 17 00:00:00 2001 From: Nick Williams Date: Mon, 24 Jun 2013 11:50:08 -0500 Subject: [PATCH] Improving method validation support for BV 1.1 Update MethodValidationPostProcessor.setValidator(...) to use LocalValidatorFactoryBean.getValidator() when possible. This is required because LocalValidatorFactoryBean does not directly implement the forExecutables() method introduced in bean validation v1.1. Issue: SPR-10644 --- .../beanvalidation/MethodValidationPostProcessor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationPostProcessor.java b/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationPostProcessor.java index 7a61e6b2b1..f016ca1d9a 100644 --- a/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationPostProcessor.java +++ b/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationPostProcessor.java @@ -83,7 +83,12 @@ public class MethodValidationPostProcessor extends AbstractAdvisingBeanPostProce *

Default is the default ValidatorFactory's default Validator. */ public void setValidator(Validator validator) { - this.validator = validator; + if(validator instanceof LocalValidatorFactoryBean) { + this.validator = ((LocalValidatorFactoryBean) validator).getValidator(); + } + else { + this.validator = validator; + } } /**