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 2009/11/04 18:48:29 UTC
svn commit: r832816 -
/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestMapCollectionToBlob.java
Author: jrbauer
Date: Wed Nov 4 17:48:29 2009
New Revision: 832816
URL: http://svn.apache.org/viewvc?rev=832816&view=rev
Log:
Fixed test case failure which occurs on DB platforms that use non-default max embedded LOB size.
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestMapCollectionToBlob.java
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestMapCollectionToBlob.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestMapCollectionToBlob.java?rev=832816&r1=832815&r2=832816&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestMapCollectionToBlob.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/relations/TestMapCollectionToBlob.java Wed Nov 4 17:48:29 2009
@@ -20,9 +20,12 @@
import java.sql.Types;
+import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.jdbc.meta.ClassMapping;
import org.apache.openjpa.jdbc.meta.FieldMapping;
import org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy;
+import org.apache.openjpa.jdbc.meta.strats.MaxEmbeddedBlobFieldStrategy;
+import org.apache.openjpa.jdbc.sql.DBDictionary;
import org.apache.openjpa.persistence.JPAFacadeHelper;
import org.apache.openjpa.persistence.test.SingleEMTestCase;
@@ -37,8 +40,8 @@
public void testHandlerToHandlerMaps() {
ClassMapping cm = (ClassMapping) JPAFacadeHelper.getMetaData(em,
HandlerToHandlerMapInstance.class);
- FieldMapping fm = cm.getFieldMapping("map");
- assertEquals(HandlerFieldStrategy.class, fm.getStrategy().getClass());
+ FieldMapping fm = cm.getFieldMapping("map");
+ assertEquals(getBlobFieldStrategy(), fm.getStrategy().getClass());
assertEquals("NONSTD_MAPPING_MAP", fm.getTable().getName());
assertEquals(fm.getTable().getColumn("MAP").getType(), Types.BLOB);
@@ -49,4 +52,16 @@
em.getTransaction().commit();
em.close();
}
+
+ /*
+ * Returns the strategy that is used for handling blob fields, based upon
+ * the configuration of the dictionary.
+ */
+ private Class<?> getBlobFieldStrategy() {
+ DBDictionary dict = ((JDBCConfiguration)(emf.getConfiguration())).getDBDictionaryInstance();
+ if (dict.maxEmbeddedBlobSize == -1) {
+ return HandlerFieldStrategy.class;
+ }
+ return MaxEmbeddedBlobFieldStrategy.class;
+ }
}