[jboss-cvs] JBossAS SVN: r92421 - in projects/jboss-jca/trunk: deployers/src/test/resources/ra16standard303jbossra.rar/META-INF and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 17 09:08:38 EDT 2009


Author: jeff.zhang
Date: 2009-08-17 09:08:37 -0400 (Mon, 17 Aug 2009)
New Revision: 92421

Added:
   projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/FirstStep.java
   projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/SecondStep.java
Modified:
   projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303jbossra.rar/META-INF/jboss-ra.xml
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/BeanValidation.java
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Metadata.java
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java
Log:
[JBJCA-135] Add support for additional bean validation groups

Added: projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/FirstStep.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/FirstStep.java	                        (rev 0)
+++ projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/FirstStep.java	2009-08-17 13:08:37 UTC (rev 92421)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16standard303jbossra;
+
+/**
+ * 
+ * @author <a href="mailto:jeff.zhang at jboss.org">Jeff Zhang</a>
+ * @version $Revision: $
+ */
+public interface FirstStep
+{
+
+}


Property changes on: projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/FirstStep.java
___________________________________________________________________
Name: svn:keywords
   + Id Reversion Date

Added: projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/SecondStep.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/SecondStep.java	                        (rev 0)
+++ projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/SecondStep.java	2009-08-17 13:08:37 UTC (rev 92421)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16standard303jbossra;
+
+/**
+ * 
+ * @author <a href="mailto:jeff.zhang at jboss.org">Jeff Zhang</a>
+ * @version $Revision: $
+ */
+public interface SecondStep
+{
+
+}


Property changes on: projects/jboss-jca/trunk/deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16standard303jbossra/SecondStep.java
___________________________________________________________________
Name: svn:keywords
   + Id Reversion Date

Modified: projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303jbossra.rar/META-INF/jboss-ra.xml
===================================================================
--- projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303jbossra.rar/META-INF/jboss-ra.xml	2009-08-17 13:07:15 UTC (rev 92420)
+++ projects/jboss-jca/trunk/deployers/src/test/resources/ra16standard303jbossra.rar/META-INF/jboss-ra.xml	2009-08-17 13:08:37 UTC (rev 92421)
@@ -5,7 +5,7 @@
 <jboss-ra xmlns="http://www.jboss.org/schema/ra"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.jboss.org/schema/ra
-          http://www.jboss.org/schema/jboss-ra_1_0.xsd">
+          http://www.jboss.org/schema/jboss-ra_2_0.xsd">
    <ra-config-property>
       <ra-config-property-name>myIntProperty</ra-config-property-name>
       <ra-config-property-type>java.lang.Integer</ra-config-property-type>
@@ -23,4 +23,9 @@
        <ra-config-property-type>java.lang.Boolean</ra-config-property-type>
        <ra-config-property-value>false</ra-config-property-value>
     </ra-config-property>
+    
+ <bean-validation-groups>
+   <bean-validation-group>org.jboss.jca.test.deployers.spec.rars.ra16standard303jbossra.FirstStep</bean-validation-group>
+   <bean-validation-group>org.jboss.jca.test.deployers.spec.rars.ra16standard303jbossra.SecondStep</bean-validation-group>
+ </bean-validation-groups> 
 </jboss-ra>
\ No newline at end of file

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/BeanValidation.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/BeanValidation.java	2009-08-17 13:07:15 UTC (rev 92420)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/BeanValidation.java	2009-08-17 13:08:37 UTC (rev 92421)
@@ -21,6 +21,7 @@
  */
 package org.jboss.jca.sjc.deployers.ra;
 
+import java.util.List;
 import java.util.Set;
 
 import javax.validation.Configuration;
@@ -48,10 +49,11 @@
     * Validate the object against the Bean Validation specification (JSR-303).
     * The object must be fully initialized
     * @param object The object that should be validated
+    * @param groupsClasses groups targeted for validation
     * @exception ConstraintViolationException Thrown if the object can't be validated
     */
    @SuppressWarnings("unchecked")
-   public static void validate(Object object) throws ConstraintViolationException
+   public static void validate(Object object, List<Class> groupsClasses) throws ConstraintViolationException
    {
       if (object == null)
       {
@@ -69,7 +71,16 @@
                + Default.class.getName());
       }
 
-      Set errors = v.validate(object, Default.class);
+      Set errors = null;
+      if (groupsClasses == null)
+      {
+         v.validate(object, Default.class);
+      }
+      else
+      {
+         Class[] vargs = (Class[])groupsClasses.toArray(new Class[groupsClasses.size()]);
+         v.validate(object, vargs);
+      }
       if (errors != null && errors.size() > 0)
       {
          log.debug("Validated: " + errors.size() + " validate failing");

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Metadata.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Metadata.java	2009-08-17 13:07:15 UTC (rev 92420)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Metadata.java	2009-08-17 13:08:37 UTC (rev 92421)
@@ -128,7 +128,6 @@
       MutableSchemaResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
       resolver.mapLocationToClass("http://www.jboss.org/schema/jboss-ra_1_0.xsd", JBossRA10MetaData.class);
       resolver.mapLocationToClass("http://www.jboss.org/schema/jboss-ra_2_0.xsd", JBossRA20MetaData.class);
-      //resolver.mapLocationToClass("jboss-ra", JBossRA10DefaultNSMetaData.class);
       resolver.mapLocationToClass("jboss-ra", JBossRA20DefaultNSMetaData.class);
 
       File metadataFile = new File(root, "/META-INF/jboss-ra.xml");

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java	2009-08-17 13:07:15 UTC (rev 92420)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/RADeployer.java	2009-08-17 13:08:37 UTC (rev 92421)
@@ -42,6 +42,8 @@
 import java.util.Map;
 
 import org.jboss.logging.Logger;
+import org.jboss.metadata.rar.jboss.BvGroupMetaData;
+import org.jboss.metadata.rar.jboss.JBossRA20Base;
 import org.jboss.metadata.rar.jboss.JBossRAMetaData;
 import org.jboss.metadata.rar.spec.AdminObjectMetaData;
 import org.jboss.metadata.rar.spec.ConfigPropertyMetaData;
@@ -237,14 +239,31 @@
             }
          }
 
+
          // Bean validation
          if (beanValidation)
          {
+            JBossRA20Base jrmd20 = null;
+            List<Class> groupsClasses = null;
+            if (jrmd instanceof JBossRA20Base)
+            {
+               jrmd20 = (JBossRA20Base)jrmd;
+            }
+            if (jrmd20 != null && jrmd20.getBvGroupsList() != null && jrmd20.getBvGroupsList().size() > 0)
+            {
+               BvGroupMetaData bvGroups = jrmd20.getBvGroupsList().get(0);
+               groupsClasses = new ArrayList<Class>();
+               for (String group : bvGroups.getBvGroups())
+               {
+                  groupsClasses.add(Class.forName(group, true, cl));
+               }
+            }
+            
             if (objects != null && objects.size() > 0)
             {
                for (Object mcf : objects)
                {
-                  BeanValidation.validate(mcf);
+                  BeanValidation.validate(mcf, groupsClasses);
                }
             }
          }
@@ -282,7 +301,6 @@
          
          if (mcf != null)
          {
-            //List<ConfigPropertyMetaData> cpMetas = mlMeta.getActivationSpecType().getConfigProps();
             if (cpMetas != null)
             {
                for (ConfigPropertyMetaData cpmd : cpMetas)




More information about the jboss-cvs-commits mailing list