You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by jr...@apache.org on 2010/06/08 18:41:27 UTC
svn commit: r952730 - in /openjpa/trunk:
openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/
openjpa-integration/validation/src/test/resources/org/apache/openjpa/integration/validation/
openjpa-persistence/src/main/j...
Author: jrbauer
Date: Tue Jun 8 16:41:27 2010
New Revision: 952730
URL: http://svn.apache.org/viewvc?rev=952730&view=rev
Log:
OPENJPA-1685 Updated ValidatorImpl to remove potential whitespace within a comma separated list of validation groups.
Modified:
openjpa/trunk/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestValidationGroups.java
openjpa/trunk/openjpa-integration/validation/src/test/resources/org/apache/openjpa/integration/validation/persistence.xml
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java
Modified: openjpa/trunk/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestValidationGroups.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestValidationGroups.java?rev=952730&r1=952729&r2=952730&view=diff
==============================================================================
--- openjpa/trunk/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestValidationGroups.java (original)
+++ openjpa/trunk/openjpa-integration/validation/src/test/java/org/apache/openjpa/integration/validation/TestValidationGroups.java Tue Jun 8 16:41:27 2010
@@ -122,7 +122,20 @@ public class TestValidationGroups extend
}
/**
- * 2b) verify multiple/mixed validation groups
+ * 2b1) verify multiple/mixed validation groups via persistence.xml
+ * @param flush
+ */
+ public void testPesistenceXMLMultipleValidationGroups() {
+
+ OpenJPAEntityManagerFactorySPI emf = (OpenJPAEntityManagerFactorySPI)
+ OpenJPAPersistence.createEntityManagerFactory(
+ "multi-validation-group-xml",
+ "org/apache/openjpa/integration/validation/persistence.xml");
+ assertNotNull(emf);
+ verifyMultipleValidationGroups(emf);
+ }
+ /**
+ * 2b2) verify multiple/mixed validation groups via properties
* @param flush
*/
public void testMultipleValidationGroups() {
@@ -145,10 +158,14 @@ public class TestValidationGroups extend
"org/apache/openjpa/integration/validation/persistence.xml",
propMap);
assertNotNull(emf);
+ verifyMultipleValidationGroups(emf);
+ }
+
+ private void verifyMultipleValidationGroups(OpenJPAEntityManagerFactorySPI emf) {
// create EM
OpenJPAEntityManager em = emf.createEntityManager();
assertNotNull(em);
-
+
try {
MixedGrpEntity mge = new MixedGrpEntity();
Modified: openjpa/trunk/openjpa-integration/validation/src/test/resources/org/apache/openjpa/integration/validation/persistence.xml
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-integration/validation/src/test/resources/org/apache/openjpa/integration/validation/persistence.xml?rev=952730&r1=952729&r2=952730&view=diff
==============================================================================
--- openjpa/trunk/openjpa-integration/validation/src/test/resources/org/apache/openjpa/integration/validation/persistence.xml (original)
+++ openjpa/trunk/openjpa-integration/validation/src/test/resources/org/apache/openjpa/integration/validation/persistence.xml Tue Jun 8 16:41:27 2010
@@ -125,6 +125,23 @@
</properties>
</persistence-unit>
+ <persistence-unit name="multi-validation-group-xml">
+ <class>org.apache.openjpa.integration.validation.MixedGrpEntity</class>
+ <validation-mode>CALLBACK</validation-mode>
+ <properties>
+ <property name="openjpa.jdbc.SynchronizeMappings"
+ value="buildSchema"/>
+ <!-- OPENJPA-1685 Filter whitespace from group list -->
+ <property name="javax.persistence.validation.group.pre-persist"
+ value="org.apache.openjpa.integration.validation.ValGroup1,
+ org.apache.openjpa.integration.validation.ValGroup2"/>
+ <property name="javax.persistence.validation.group.pre-update"
+ value=""/>
+ <property name="javax.persistence.validation.group.pre-remove"
+ value="org.apache.openjpa.integration.validation.ValGroup2 "/>
+ </properties>
+ </persistence-unit>
+
<persistence-unit name="ConstraintPU">
<class>org.apache.openjpa.integration.validation.ConstraintNull</class>
<class>org.apache.openjpa.integration.validation.ConstraintBoolean</class>
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java?rev=952730&r1=952729&r2=952730&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/validation/ValidatorImpl.java Tue Jun 8 16:41:27 2010
@@ -30,6 +30,7 @@ import javax.validation.ConstraintViolat
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
+import org.apache.commons.lang.StringUtils;
import org.apache.openjpa.conf.OpenJPAConfiguration;
import org.apache.openjpa.event.LifecycleEvent;
import org.apache.openjpa.lib.conf.Configuration;
@@ -219,10 +220,10 @@ public class ValidatorImpl extends Abstr
vgGrp = new Class<?>[strClasses.length];
for (int i = 0; i < strClasses.length; i++) {
try {
- vgGrp[i] = Class.forName(strClasses[i]);
+ vgGrp[i] = Class.forName(StringUtils.trim(strClasses[i]));
} catch (Throwable t) {
throw new IllegalArgumentException(
- _loc.get("invalid-validation-group", strClasses[i],
+ _loc.get("invalid-validation-group", StringUtils.trim(strClasses[i]),
vgName).getMessage(), t);
}
}