[jboss-cvs] JBossAS SVN: r112625 - projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 7 09:47:52 EST 2012


Author: jesper.pedersen
Date: 2012-02-07 09:47:51 -0500 (Tue, 07 Feb 2012)
New Revision: 112625

Modified:
   projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/BeanValidation.java
Log:
[JBJCA-743] Fallback to default provider

Modified: projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/BeanValidation.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/BeanValidation.java	2012-02-07 14:47:05 UTC (rev 112624)
+++ projects/jboss-jca/branches/Branch_1_0/deployers/src/main/java/org/jboss/jca/deployers/common/BeanValidation.java	2012-02-07 14:47:51 UTC (rev 112625)
@@ -31,7 +31,9 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
+import javax.validation.Configuration;
 import javax.validation.ConstraintViolationException;
+import javax.validation.Validation;
 import javax.validation.Validator;
 import javax.validation.ValidatorFactory;
 import javax.validation.groups.Default;
@@ -76,39 +78,32 @@
          throw new IllegalArgumentException("Object is null");
       }
 
-      try
-      {
-         if (factory == null)
-            initValidatorFactory();
+      if (factory == null)
+         initValidatorFactory();
 
-         Validator v = factory.usingContext().traversableResolver(new JCATraversableResolver()).getValidator();
+      Validator v = factory.usingContext().traversableResolver(new JCATraversableResolver()).getValidator();
 
-         Set errors = null;
-         if (groupsClasses == null || groupsClasses.size() == 0)
-         {
-            if (trace)
-               log.trace("Validating: " + object + " against groups " + Default.class.getName());
+      Set errors = null;
+      if (groupsClasses == null || groupsClasses.size() == 0)
+      {
+         if (trace)
+            log.trace("Validating: " + object + " against groups " + Default.class.getName());
 
-            errors = v.validate(object, Default.class);
-         }
-         else
-         {
-            Class[] vargs = groupsClasses.toArray(new Class[groupsClasses.size()]);
+         errors = v.validate(object, Default.class);
+      }
+      else
+      {
+         Class[] vargs = groupsClasses.toArray(new Class[groupsClasses.size()]);
 
-            if (trace)
-               log.trace("Validating: " + object + " against groups " + Arrays.toString(vargs));
+         if (trace)
+            log.trace("Validating: " + object + " against groups " + Arrays.toString(vargs));
 
-            errors = v.validate(object, vargs);
-         }
+         errors = v.validate(object, vargs);
+      }
 
-         if (errors != null && errors.size() > 0)
-         {
-            throw new ConstraintViolationException(errors);
-         }
-      }
-      catch (NamingException ne)
+      if (errors != null && errors.size() > 0)
       {
-         log.error(ne.getMessage(), ne);
+         throw new ConstraintViolationException(errors);
       }
    }
 
@@ -132,9 +127,8 @@
 
    /**
     * Init the validator factory
-    * @exception NamingException Thrown if the validator can't be found
     */
-   private synchronized static void initValidatorFactory() throws NamingException
+   private synchronized static void initValidatorFactory()
    {
       Context context = null;
       try
@@ -143,6 +137,13 @@
 
          factory = (ValidatorFactory) context.lookup(factoryName);
       }
+      catch (Throwable t)
+      {
+         Configuration configuration = Validation.byDefaultProvider().configure();
+         Configuration<?> conf = configuration.traversableResolver(new JCATraversableResolver());
+
+         factory = conf.buildValidatorFactory();
+      }
       finally
       {
          try



More information about the jboss-cvs-commits mailing list