Hibernate SVN: r19089 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 09:29:20 -0400 (Tue, 23 Mar 2010)
New Revision: 19089
Modified:
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java
Log:
HHH-2997 LikeExpression case sensitive not working properly
Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 13:05:17 UTC (rev 19088)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 13:29:20 UTC (rev 19089)
@@ -29,7 +29,6 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
-import org.hibernate.dialect.MySQLDialect;
import org.hibernate.junit.functional.FunctionalTestCase;
@@ -67,7 +66,6 @@
assertEquals( 1, objects.size() );
session.clear();
- if ( !( getDialect() instanceof MySQLDialect ) ) {
// retrieve object - case insensitive via custom expression - works
// ok
objects = session.createCriteria( TestObject.class ).add(
@@ -84,7 +82,6 @@
StringExpression.stringExpression( "text", pattern,
false ) ).list();
assertEquals( 1, objects.size() );
- }
tx.rollback();
session.close();
Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java 2010-03-23 13:05:17 UTC (rev 19088)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java 2010-03-23 13:29:20 UTC (rev 19089)
@@ -4,11 +4,10 @@
import org.hibernate.criterion.LikeExpression;
public class StringExpression extends LikeExpression {
- private final static Character ESCAPE_CODE = new Character( '\\' );
protected StringExpression( String property, String value,
boolean ignoreCase ) {
- super( property, value, ESCAPE_CODE, ignoreCase );
+ super( property, value, null, ignoreCase );
}
public static Criterion stringExpression( String propertyName,
14 years, 1 month
Hibernate SVN: r19088 - core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 09:05:17 -0400 (Tue, 23 Mar 2010)
New Revision: 19088
Modified:
core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java
core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/StringExpression.java
Log:
JBPAPP-3946 HHH-2997 LikeExpression case sensitive not working properly
Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java 2010-03-23 13:02:12 UTC (rev 19087)
+++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java 2010-03-23 13:05:17 UTC (rev 19088)
@@ -67,7 +67,6 @@
assertEquals( 1, objects.size() );
session.clear();
- if ( !( getDialect() instanceof MySQLDialect ) ) {
// retrieve object - case insensitive via custom expression - works
// ok
objects = session.createCriteria( TestObject.class ).add(
@@ -84,7 +83,6 @@
StringExpression.stringExpression( "text", pattern,
false ) ).list();
assertEquals( 1, objects.size() );
- }
tx.rollback();
session.close();
Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/StringExpression.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/StringExpression.java 2010-03-23 13:02:12 UTC (rev 19087)
+++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/StringExpression.java 2010-03-23 13:05:17 UTC (rev 19088)
@@ -4,11 +4,10 @@
import org.hibernate.criterion.LikeExpression;
public class StringExpression extends LikeExpression {
- private final static Character ESCAPE_CODE = new Character( '\\' );
protected StringExpression( String property, String value,
boolean ignoreCase ) {
- super( property, value, ESCAPE_CODE, ignoreCase );
+ super( property, value, null, ignoreCase );
}
public static Criterion stringExpression( String propertyName,
14 years, 1 month
Hibernate SVN: r19087 - core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 09:02:12 -0400 (Tue, 23 Mar 2010)
New Revision: 19087
Modified:
core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java
Log:
JBPAPP-3946 HHH-2997 LikeExpression case sensitive not working properly
Modified: core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 07:14:24 UTC (rev 19086)
+++ core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 13:02:12 UTC (rev 19087)
@@ -67,7 +67,6 @@
assertEquals( 1, objects.size() );
session.clear();
- if ( !( getDialect() instanceof MySQLDialect ) ) {
// retrieve object - case insensitive via custom expression - works
// ok
objects = session.createCriteria( TestObject.class ).add(
@@ -84,7 +83,6 @@
StringExpression.stringExpression( "text", pattern,
false ) ).list();
assertEquals( 1, objects.size() );
- }
tx.rollback();
session.close();
Modified: core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java
===================================================================
--- core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java 2010-03-23 07:14:24 UTC (rev 19086)
+++ core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/StringExpression.java 2010-03-23 13:02:12 UTC (rev 19087)
@@ -4,11 +4,10 @@
import org.hibernate.criterion.LikeExpression;
public class StringExpression extends LikeExpression {
- private final static Character ESCAPE_CODE = new Character( '\\' );
protected StringExpression( String property, String value,
boolean ignoreCase ) {
- super( property, value, ESCAPE_CODE, ignoreCase );
+ super( property, value, null, ignoreCase );
}
public static Criterion stringExpression( String propertyName,
14 years, 1 month
Hibernate SVN: r19086 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 03:14:24 -0400 (Tue, 23 Mar 2010)
New Revision: 19086
Modified:
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
Log:
HHH-2997 LikeExpression case sensitive not working properly
Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 05:24:30 UTC (rev 19085)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 07:14:24 UTC (rev 19086)
@@ -29,6 +29,7 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
+import org.hibernate.dialect.MySQLDialect;
import org.hibernate.junit.functional.FunctionalTestCase;
@@ -42,75 +43,50 @@
return new String[]{"criteria/TestObject.hbm.xml"};
}
public void testLike(){
- Session session=openSession();
+ Session session = openSession();
+ Transaction tx = session.beginTransaction();
+ TestObject obj = new TestObject();
String uniq = "uniq" + System.currentTimeMillis();
-
- // insert object
- try {
- Transaction tx = session.beginTransaction();
-
-
- TestObject obj = new TestObject();
- obj.setText("XyZ " + uniq + " blablabla");
-
- session.saveOrUpdate(obj);
- session.flush();
- tx.commit();
- } finally {
- session.close();
-
- }
+ obj.setText( "XyZ " + uniq + " blablabla" );
+ session.save( obj );
+ session.flush();
+ tx.commit();
+ session.close();
String pattern = "XyZ " + uniq + "%";
-
// retrieve object - case sensitive - works ok
session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ tx = session.beginTransaction();
+ List objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ) ).list();
+ assertEquals( 1, objects.size() );
+ session.clear();
// retrieve object - case insensitive - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern).ignoreCase())
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ).ignoreCase() ).list();
-
- // retrieve object - case insensitive via custom expression - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, true))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ assertEquals( 1, objects.size() );
+ session.clear();
+ if ( !( getDialect() instanceof MySQLDialect ) ) {
+ // retrieve object - case insensitive via custom expression - works
+ // ok
+ objects = session.createCriteria( TestObject.class ).add(
+ StringExpression.stringExpression( "text", pattern, true ) )
+ .list();
-
- // retrieve object - case sensitive via custom expression - not working
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, false))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
+ assertEquals( 1, objects.size() );
+ session.clear();
+
+ // retrieve object - case sensitive via custom expression - not
+ // working
+ objects = session.createCriteria( TestObject.class )
+ .add(
+ StringExpression.stringExpression( "text", pattern,
+ false ) ).list();
+ assertEquals( 1, objects.size() );
}
+ tx.rollback();
+ session.close();
}
}
14 years, 1 month
Hibernate SVN: r19085 - core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 01:24:30 -0400 (Tue, 23 Mar 2010)
New Revision: 19085
Modified:
core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
Log:
JBPAPP-3946 HHH-2997 LikeExpression case sensitive not working properly
Modified: core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 05:17:39 UTC (rev 19084)
+++ core/branches/Branch_3_3_2_GA_CP/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 05:24:30 UTC (rev 19085)
@@ -29,6 +29,7 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
+import org.hibernate.dialect.MySQLDialect;
import org.hibernate.junit.functional.FunctionalTestCase;
@@ -42,75 +43,50 @@
return new String[]{"criteria/TestObject.hbm.xml"};
}
public void testLike(){
- Session session=openSession();
+ Session session = openSession();
+ Transaction tx = session.beginTransaction();
+ TestObject obj = new TestObject();
String uniq = "uniq" + System.currentTimeMillis();
-
- // insert object
- try {
- Transaction tx = session.beginTransaction();
-
-
- TestObject obj = new TestObject();
- obj.setText("XyZ " + uniq + " blablabla");
-
- session.saveOrUpdate(obj);
- session.flush();
- tx.commit();
- } finally {
- session.close();
-
- }
+ obj.setText( "XyZ " + uniq + " blablabla" );
+ session.save( obj );
+ session.flush();
+ tx.commit();
+ session.close();
String pattern = "XyZ " + uniq + "%";
-
// retrieve object - case sensitive - works ok
session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ tx = session.beginTransaction();
+ List objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ) ).list();
+ assertEquals( 1, objects.size() );
+ session.clear();
// retrieve object - case insensitive - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern).ignoreCase())
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ).ignoreCase() ).list();
-
- // retrieve object - case insensitive via custom expression - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, true))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ assertEquals( 1, objects.size() );
+ session.clear();
+ if ( !( getDialect() instanceof MySQLDialect ) ) {
+ // retrieve object - case insensitive via custom expression - works
+ // ok
+ objects = session.createCriteria( TestObject.class ).add(
+ StringExpression.stringExpression( "text", pattern, true ) )
+ .list();
-
- // retrieve object - case sensitive via custom expression - not working
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, false))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
+ assertEquals( 1, objects.size() );
+ session.clear();
+
+ // retrieve object - case sensitive via custom expression - not
+ // working
+ objects = session.createCriteria( TestObject.class )
+ .add(
+ StringExpression.stringExpression( "text", pattern,
+ false ) ).list();
+ assertEquals( 1, objects.size() );
}
+ tx.rollback();
+ session.close();
}
}
14 years, 1 month
Hibernate SVN: r19084 - core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 01:17:39 -0400 (Tue, 23 Mar 2010)
New Revision: 19084
Modified:
core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java
Log:
JBPAPP-3946 HHH-2997 LikeExpression case sensitive not working properly
Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java 2010-03-23 05:09:30 UTC (rev 19083)
+++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/criteria/LikeTest.java 2010-03-23 05:17:39 UTC (rev 19084)
@@ -29,6 +29,7 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
+import org.hibernate.dialect.MySQLDialect;
import org.hibernate.junit.functional.FunctionalTestCase;
@@ -42,75 +43,50 @@
return new String[]{"criteria/TestObject.hbm.xml"};
}
public void testLike(){
- Session session=openSession();
+ Session session = openSession();
+ Transaction tx = session.beginTransaction();
+ TestObject obj = new TestObject();
String uniq = "uniq" + System.currentTimeMillis();
-
- // insert object
- try {
- Transaction tx = session.beginTransaction();
-
-
- TestObject obj = new TestObject();
- obj.setText("XyZ " + uniq + " blablabla");
-
- session.saveOrUpdate(obj);
- session.flush();
- tx.commit();
- } finally {
- session.close();
-
- }
+ obj.setText( "XyZ " + uniq + " blablabla" );
+ session.save( obj );
+ session.flush();
+ tx.commit();
+ session.close();
String pattern = "XyZ " + uniq + "%";
-
// retrieve object - case sensitive - works ok
session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ tx = session.beginTransaction();
+ List objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ) ).list();
+ assertEquals( 1, objects.size() );
+ session.clear();
// retrieve object - case insensitive - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern).ignoreCase())
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ).ignoreCase() ).list();
-
- // retrieve object - case insensitive via custom expression - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, true))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ assertEquals( 1, objects.size() );
+ session.clear();
+ if ( !( getDialect() instanceof MySQLDialect ) ) {
+ // retrieve object - case insensitive via custom expression - works
+ // ok
+ objects = session.createCriteria( TestObject.class ).add(
+ StringExpression.stringExpression( "text", pattern, true ) )
+ .list();
-
- // retrieve object - case sensitive via custom expression - not working
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, false))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
+ assertEquals( 1, objects.size() );
+ session.clear();
+
+ // retrieve object - case sensitive via custom expression - not
+ // working
+ objects = session.createCriteria( TestObject.class )
+ .add(
+ StringExpression.stringExpression( "text", pattern,
+ false ) ).list();
+ assertEquals( 1, objects.size() );
}
+ tx.rollback();
+ session.close();
}
}
14 years, 1 month
Hibernate SVN: r19083 - core/trunk/testsuite/src/test/java/org/hibernate/test/criteria.
by hibernate-commits@lists.jboss.org
Author: stliu
Date: 2010-03-23 01:09:30 -0400 (Tue, 23 Mar 2010)
New Revision: 19083
Modified:
core/trunk/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
Log:
HHH-2997 LikeExpression case sensitive not working properly
Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-22 20:30:33 UTC (rev 19082)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java 2010-03-23 05:09:30 UTC (rev 19083)
@@ -29,6 +29,7 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
+import org.hibernate.dialect.MySQLDialect;
import org.hibernate.junit.functional.FunctionalTestCase;
@@ -42,75 +43,50 @@
return new String[]{"criteria/TestObject.hbm.xml"};
}
public void testLike(){
- Session session=openSession();
+ Session session = openSession();
+ Transaction tx = session.beginTransaction();
+ TestObject obj = new TestObject();
String uniq = "uniq" + System.currentTimeMillis();
-
- // insert object
- try {
- Transaction tx = session.beginTransaction();
-
-
- TestObject obj = new TestObject();
- obj.setText("XyZ " + uniq + " blablabla");
-
- session.saveOrUpdate(obj);
- session.flush();
- tx.commit();
- } finally {
- session.close();
-
- }
+ obj.setText( "XyZ " + uniq + " blablabla" );
+ session.save( obj );
+ session.flush();
+ tx.commit();
+ session.close();
String pattern = "XyZ " + uniq + "%";
-
// retrieve object - case sensitive - works ok
session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ tx = session.beginTransaction();
+ List objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ) ).list();
+ assertEquals( 1, objects.size() );
+ session.clear();
// retrieve object - case insensitive - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(Restrictions.like("text", pattern).ignoreCase())
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ objects = session.createCriteria( TestObject.class ).add(
+ Restrictions.like( "text", pattern ).ignoreCase() ).list();
-
- // retrieve object - case insensitive via custom expression - works ok
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, true))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
- }
+ assertEquals( 1, objects.size() );
+ session.clear();
+ if ( !( getDialect() instanceof MySQLDialect ) ) {
+ // retrieve object - case insensitive via custom expression - works
+ // ok
+ objects = session.createCriteria( TestObject.class ).add(
+ StringExpression.stringExpression( "text", pattern, true ) )
+ .list();
-
- // retrieve object - case sensitive via custom expression - not working
- session = openSession();
- try {
- List objects = session.createCriteria(TestObject.class)
- .add(StringExpression.stringExpression("text", pattern, false))
- .list();
-
- assertEquals(1, objects.size());
- } finally {
- session.close();
+ assertEquals( 1, objects.size() );
+ session.clear();
+
+ // retrieve object - case sensitive via custom expression - not
+ // working
+ objects = session.createCriteria( TestObject.class )
+ .add(
+ StringExpression.stringExpression( "text", pattern,
+ false ) ).list();
+ assertEquals( 1, objects.size() );
}
+ tx.rollback();
+ session.close();
}
}
14 years, 1 month
Hibernate SVN: r19082 - validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/resourceloading.
by hibernate-commits@lists.jboss.org
Author: hardy.ferentschik
Date: 2010-03-22 16:30:33 -0400 (Mon, 22 Mar 2010)
New Revision: 19082
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/resourceloading/ResourceBundleLocator.java
Log:
HV-238 Removed todo item. Added a note that ResourceBundleLocator has to be thread safe
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/resourceloading/ResourceBundleLocator.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/resourceloading/ResourceBundleLocator.java 2010-03-22 20:19:52 UTC (rev 19081)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/resourceloading/ResourceBundleLocator.java 2010-03-22 20:30:33 UTC (rev 19082)
@@ -33,8 +33,9 @@
* of this interface, alternative ways of bundle loading can be realized, e.g.
* by loading bundles based on XML files or from a database.
* </p>
- * <p/>
- * TODO GM: Note, that all implementations must be thread-safe?
+ * <p>
+ * A {@code ResourceBundleLocator} implementation must be thread-safe.
+ * </p>
*
* @author Gunnar Morling
*/
@@ -50,5 +51,4 @@
* bundle exists.
*/
ResourceBundle getResourceBundle(Locale locale);
-
}
14 years, 1 month
Hibernate SVN: r19081 - validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine.
by hibernate-commits@lists.jboss.org
Author: hardy.ferentschik
Date: 2010-03-22 16:19:52 -0400 (Mon, 22 Mar 2010)
New Revision: 19081
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ResourceBundleMessageInterpolator.java
Log:
HV-238 Removed todo item. Keep the deprecated constructor for now.
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ResourceBundleMessageInterpolator.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ResourceBundleMessageInterpolator.java 2010-03-22 19:23:58 UTC (rev 19080)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ResourceBundleMessageInterpolator.java 2010-03-22 20:19:52 UTC (rev 19081)
@@ -73,7 +73,6 @@
*
* @deprecated Use {@link ResourceBundleMessageInterpolator#ResourceBundleMessageInterpolator(ResourceBundleLocator)} instead.
*/
- // TODO GM: Do we still need this? It was only used in tests, but there might be 3rd party code using it.
@Deprecated
public ResourceBundleMessageInterpolator(final ResourceBundle resourceBundle) {
this(
14 years, 1 month
Hibernate SVN: r19080 - core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany.
by hibernate-commits@lists.jboss.org
Author: gbadner
Date: 2010-03-22 15:23:58 -0400 (Mon, 22 Mar 2010)
New Revision: 19080
Added:
core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/AbstractRecursiveBidirectionalOneToManyTest.java
core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.hbm.xml
core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.java
core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyCacheTest.java
core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyNoCacheTest.java
Log:
HHH-2350 : tests for 2nd level cache broken for non-inverse bidirectional one-to-many relation
Added: core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/AbstractRecursiveBidirectionalOneToManyTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/AbstractRecursiveBidirectionalOneToManyTest.java (rev 0)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/AbstractRecursiveBidirectionalOneToManyTest.java 2010-03-22 19:23:58 UTC (rev 19080)
@@ -0,0 +1,159 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program 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 distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ *
+ */
+package org.hibernate.test.onetomany;
+
+import java.util.ArrayList;
+
+import junit.framework.Test;
+
+import org.hibernate.CacheMode;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.junit.functional.FunctionalTestCase;
+import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
+
+/**
+ * @author Burkhard Graves, Gail Badner
+ */
+
+public abstract class AbstractRecursiveBidirectionalOneToManyTest extends FunctionalTestCase {
+
+ /*
+ * What is done:
+ * ___ ___
+ * | | | |
+ * -> 1 -> 1
+ * | -transform-> / \
+ * 2 2 3
+ * |
+ * 3
+ *
+ */
+
+ public AbstractRecursiveBidirectionalOneToManyTest(String str) {
+ super(str);
+ }
+
+ public org.hibernate.classic.Session openSession() {
+ org.hibernate.classic.Session s = super.openSession();
+ s.setCacheMode( getSessionCacheMode() );
+ return s;
+ }
+
+ protected abstract CacheMode getSessionCacheMode();
+
+ public String[] getMappings() {
+ return new String[] { "onetomany/Node.hbm.xml" };
+ }
+
+ public void testOneToManyMoveElement() {
+ init();
+ transformMove();
+ check();
+ delete();
+ }
+
+ public void testOneToManyReplaceList() {
+ init();
+ transformReplace();
+ check();
+ delete();
+ }
+
+ void init() {
+
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+
+ Node node1 = new Node( 1 );
+ Node node2 = new Node( 2 );
+ Node node3 = new Node( 3 );
+
+ node1.addSubNode( node2 );
+ node2.addSubNode( node3 );
+
+ s.save(node1);
+
+ tx.commit();
+ s.close();
+ }
+
+ void transformMove() {
+
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+
+ Node node3 = (Node) s.load(Node.class, new Integer(3));
+ Node node2 = node3.getParentNode();
+ Node node1 = node2.getParentNode();
+
+ node2.removeSubNode( node3 );
+ node1.addSubNode( node3 );
+
+ tx.commit();
+ s.close();
+ }
+
+ void transformReplace() {
+
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+
+ Node node3 = (Node) s.load(Node.class, new Integer(3));
+ Node node2 = node3.getParentNode();
+ Node node1 = node2.getParentNode();
+
+ node2.removeSubNode( node3 );
+ node1.setSubNodes( new ArrayList() );
+ node1.addSubNode( node2 );
+ node1.addSubNode( node3 );
+
+ tx.commit();
+ s.close();
+ }
+
+ void check() {
+
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ Node node3 = (Node) s.get(Node.class, new Integer(3));
+
+ // fails with 2nd level cache enabled
+ assertEquals(1, node3.getParentNode().getId().intValue());
+
+ tx.commit();
+ s.close();
+ }
+
+ void delete() {
+
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ Node node1 = ( Node ) s.get( Node.class, new Integer( 1 ) );
+ s.delete( node1 );
+ tx.commit();
+ s.close();
+ }
+}
\ No newline at end of file
Added: core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.hbm.xml
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.hbm.xml (rev 0)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.hbm.xml 2010-03-22 19:23:58 UTC (rev 19080)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="org.hibernate.test.onetomany">
+ <class name="Node"
+ table="Node">
+ <cache usage="read-write" region="Node.entities"/>
+ <id name="id" column="id" type="java.lang.Integer">
+ <!--<generator class="native"/> -->
+ </id>
+ <many-to-one name="parentNode"
+ class="Node"
+ column="node_id"
+ lazy="proxy"
+ not-null="false"
+ insert="false"
+ update="false"
+
+ />
+ <list name="subNodes" cascade="all">
+ <key column="node_id"/>
+ <list-index column="idx"/>
+ <one-to-many class="Node"/>
+ </list>
+ </class>
+</hibernate-mapping>
Added: core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.java (rev 0)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/Node.java 2010-03-22 19:23:58 UTC (rev 19080)
@@ -0,0 +1,78 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program 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 distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ *
+ */
+package org.hibernate.test.onetomany;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.ArrayList;
+
+public class Node implements Serializable {
+
+ private Integer id;
+
+ private Node parentNode;
+ private List subNodes = new ArrayList();
+
+ public Node() {
+ }
+
+ public Node(int id) {
+ setId( id );
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Node getParentNode() {
+ return parentNode;
+ }
+
+ public void setParentNode(Node parentNode) {
+ this.parentNode = parentNode;
+ }
+
+ public List getSubNodes() {
+ return subNodes;
+ }
+
+ public void setSubNodes(List subNodes) {
+ this.subNodes = subNodes;
+ }
+
+ public void addSubNode(Node subNode) {
+ subNodes.add( subNode );
+ subNode.setParentNode( this );
+ }
+
+ public void removeSubNode(Node subNode) {
+ subNodes.remove( subNode );
+ subNode.setParentNode( null );
+ }
+}
Added: core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyCacheTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyCacheTest.java (rev 0)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyCacheTest.java 2010-03-22 19:23:58 UTC (rev 19080)
@@ -0,0 +1,84 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program 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 distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ *
+ */
+package org.hibernate.test.onetomany;
+
+import junit.framework.Test;
+
+import org.hibernate.CacheMode;
+import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
+
+/**
+ * @author Burkhard Graves, Gail Badner
+ */
+
+public class RecursiveBidirectionalOneToManyCacheTest extends AbstractRecursiveBidirectionalOneToManyTest {
+
+ /*
+ * What is done:
+ * ___ ___
+ * | | | |
+ * -> 1 -> 1
+ * | -transform-> / \
+ * 2 2 3
+ * |
+ * 3
+ *
+ * Commenting out
+ * @Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
+ * in Node.java makes the assertion true (in check() below).
+ */
+
+ public RecursiveBidirectionalOneToManyCacheTest(String str) {
+ super(str);
+ }
+
+ protected CacheMode getSessionCacheMode() {
+ return CacheMode.NORMAL;
+ }
+
+ public static Test suite() {
+ return new FunctionalTestClassTestSuite( RecursiveBidirectionalOneToManyCacheTest.class );
+ }
+
+ public void testOneToManyMoveElement() {
+ reportSkip( "non-inverse one-to-many known to fail with 2nd-level cache", "cache support");
+ }
+
+ // HHH-2350
+ public void testOneToManyMoveElementFailureExpected() {
+ super.testOneToManyMoveElement();
+ }
+
+ public void testOneToManyReplaceList() {
+ reportSkip( "non-inverse one-to-many known to fail with 2nd-level cache", "cache support");
+ }
+
+ // HHH-2350
+ public void testOneToManyReplaceListFailureExpected() {
+ super.testOneToManyReplaceList();
+ }
+
+
+}
Added: core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyNoCacheTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyNoCacheTest.java (rev 0)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/onetomany/RecursiveBidirectionalOneToManyNoCacheTest.java 2010-03-22 19:23:58 UTC (rev 19080)
@@ -0,0 +1,71 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010, Red Hat Middleware LLC or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Middleware LLC.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program 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 distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ *
+ */
+package org.hibernate.test.onetomany;
+
+import junit.framework.Test;
+
+import org.hibernate.CacheMode;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.junit.functional.FunctionalTestCase;
+import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
+
+/**
+ * @author Burkhard Graves, Gail Badner
+ */
+
+public class RecursiveBidirectionalOneToManyNoCacheTest extends AbstractRecursiveBidirectionalOneToManyTest {
+
+ /*
+ * What is done:
+ * ___ ___
+ * | | | |
+ * -> 1 -> 1
+ * | -transform-> / \
+ * 2 2 3
+ * |
+ * 3
+ *
+ * Commenting out
+ * @Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
+ * in Node.java makes the assertion true (in check() below).
+ */
+
+ public RecursiveBidirectionalOneToManyNoCacheTest(String str) {
+ super(str);
+ }
+
+ public String getCacheConcurrencyStrategy() {
+ return null;
+ }
+
+ protected CacheMode getSessionCacheMode() {
+ return CacheMode.IGNORE;
+ }
+
+ public static Test suite() {
+ return new FunctionalTestClassTestSuite( RecursiveBidirectionalOneToManyNoCacheTest.class );
+ }
+}
\ No newline at end of file
14 years, 1 month