using ObjectFactory instead of Class.forName() Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/372ce960 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/372ce960 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/372ce960
Branch: refs/heads/master Commit: 372ce960e2395cdbe89c16e142e4a4f2214f7fa1 Parents: 8128ca6 Author: cnenning <cnenn...@apache.org> Authored: Fri Jun 12 10:30:38 2015 +0200 Committer: cnenning <cnenn...@apache.org> Committed: Fri Jun 12 10:30:38 2015 +0200 ---------------------------------------------------------------------- .../validation/interceptor/DefaultBeanValidationManager.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/372ce960/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/DefaultBeanValidationManager.java ---------------------------------------------------------------------- diff --git a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/DefaultBeanValidationManager.java b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/DefaultBeanValidationManager.java index b502c33..c54cca8 100644 --- a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/DefaultBeanValidationManager.java +++ b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/interceptor/DefaultBeanValidationManager.java @@ -20,7 +20,9 @@ */ package org.apache.struts.beanvalidation.validation.interceptor; +import com.opensymphony.xwork2.ObjectFactory; import com.opensymphony.xwork2.inject.Inject; + import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -62,14 +64,14 @@ public class DefaultBeanValidationManager @Inject public DefaultBeanValidationManager( @Inject(value = ValidatorConstants.PROVIDER_CLASS, required = false) String providerClassName, - @Inject(value = ValidatorConstants.IGNORE_XMLCONFIGURAITION, required = false)String ignoreXMLConfiguration) { + @Inject(value = ValidatorConstants.IGNORE_XMLCONFIGURAITION, required = false)String ignoreXMLConfiguration, + @Inject(required = true) ObjectFactory objectFactory) { super(); LOG.info("Initializing bean validation factory to get a validator"); if (StringUtils.isNotBlank(providerClassName)) { try { - this.providerClass = - (Class<? extends ValidationProvider<? extends Configuration<?>>>) Class.forName(providerClassName); + this.providerClass = objectFactory.getClassInstance(providerClassName); LOG.info(this.providerClass.getName() + " validator found"); } catch (ClassNotFoundException e) { LOG.error("Unable to find any bean validator implementation for " + providerClassName);