Author: epbernard
Date: 2010-04-21 09:37:39 -0400 (Wed, 21 Apr 2010)
New Revision: 19267
Added:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java
Modified:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java
Log:
HHH-4968 Do not activate Bean Validation listeners when only DDL is requested (Vladimir
Klyushnikov).
Modified:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java
===================================================================
---
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java 2010-04-21
13:26:17 UTC (rev 19266)
+++
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java 2010-04-21
13:37:39 UTC (rev 19267)
@@ -3,8 +3,10 @@
import java.math.BigDecimal;
import javax.validation.ConstraintViolationException;
+import org.hibernate.mapping.PersistentClass;
import org.hibernate.Session;
import org.hibernate.Transaction;
+import org.hibernate.mapping.Column;
import org.hibernate.cfg.Configuration;
import org.hibernate.test.annotations.TestCase;
@@ -27,6 +29,12 @@
tx.rollback();
s.close();
}
+
+ public void testDDLDisabled() {
+ PersistentClass classMapping = getCfg().getClassMapping( Address.class.getName() );
+ Column countryColumn = (Column) classMapping.getProperty( "country"
).getColumnIterator().next();
+ assertTrue("DDL constraints are applied", countryColumn.isNullable() );
+ }
@Override
protected void configure(Configuration cfg) {
@@ -36,7 +44,8 @@
protected Class<?>[] getAnnotatedClasses() {
return new Class<?>[] {
+ Address.class,
CupHolder.class
};
}
-}
\ No newline at end of file
+}
Added:
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java
===================================================================
---
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java
(rev 0)
+++
core/trunk/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java 2010-04-21
13:37:39 UTC (rev 19267)
@@ -0,0 +1,51 @@
+package org.hibernate.test.annotations.beanvalidation;
+
+import java.math.BigDecimal;
+import javax.validation.ConstraintViolationException;
+
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.mapping.Column;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.test.annotations.TestCase;
+
+/**
+ * @author Vladimir Klyushnikov
+ */
+public class DDLWithoutCallbackTest extends TestCase {
+ public void testListeners() {
+ CupHolder ch = new CupHolder();
+ ch.setRadius( new BigDecimal( "12" ) );
+ Session s = openSession( );
+ Transaction tx = s.beginTransaction();
+ try {
+ s.persist( ch );
+ s.flush();
+ }
+ catch ( ConstraintViolationException e ) {
+ fail("invalid object should not be validated");
+ }
+ tx.rollback();
+ s.close();
+ }
+
+ public void testDDLEnabled() {
+ PersistentClass classMapping = getCfg().getClassMapping( Address.class.getName() );
+ Column countryColumn = (Column) classMapping.getProperty( "country"
).getColumnIterator().next();
+ assertFalse("DDL constraints are not applied", countryColumn.isNullable() );
+ }
+
+ @Override
+ protected void configure(Configuration cfg) {
+ super.configure( cfg );
+ cfg.setProperty( "javax.persistence.validation.mode", "ddl" );
+ }
+
+ protected Class<?>[] getAnnotatedClasses() {
+ return new Class<?>[] {
+ Address.class,
+ CupHolder.class
+ };
+ }
+}
Show replies by date