[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