================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataHelper.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.51 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.51 Tue Sep 5 08:41:09 2006 --- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataHelper.java Tue Sep 5 15:06:06 2006 *************** *** 736,752 **** * Returns true is the given class is primitive wrapper type. */ public static boolean isPrimitiveWrapperClass(Class cls) { ! return cls.equals(Long.class) || ! cls.equals(Short.class) || ! cls.equals(Float.class) || ! cls.equals(Byte.class) || ! cls.equals(Double.class) || ! cls.equals(Number.class) || ! cls.equals(Boolean.class) || ! cls.equals(Integer.class) || ! cls.equals(Character.class) || ! cls.equals(java.math.BigInteger.class) || ! cls.equals(java.math.BigDecimal.class); } /** --- 736,755 ---- * Returns true is the given class is primitive wrapper type. */ public static boolean isPrimitiveWrapperClass(Class cls) { ! return Long.class.isAssignableFrom(cls) || ! Short.class.isAssignableFrom(cls) || ! Float.class.isAssignableFrom(cls) || ! Byte.class.isAssignableFrom(cls) || ! Double.class.isAssignableFrom(cls) || ! Number.class.isAssignableFrom(cls) || ! Boolean.class.isAssignableFrom(cls) || ! Integer.class.isAssignableFrom(cls) || ! Character.class.isAssignableFrom(cls) || ! String.class.isAssignableFrom(cls) || ! java.math.BigInteger.class.isAssignableFrom(cls) || ! java.math.BigDecimal.class.isAssignableFrom(cls) || ! java.util.Date.class.isAssignableFrom(cls) || ! java.util.Calendar.class.isAssignableFrom(cls); } /** *************** *** 784,791 **** public static boolean isValidBlobType(Class cls) { return cls.equals(byte[].class) || cls.equals(Byte[].class) || ! cls.equals(java.sql.Blob.class) || ! Helper.classImplementsInterface(cls, java.io.Serializable.class); } /** --- 787,793 ---- public static boolean isValidBlobType(Class cls) { return cls.equals(byte[].class) || cls.equals(Byte[].class) || ! cls.equals(java.sql.Blob.class); } /** ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/accessors/BasicAccessor.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.4 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.4 Tue Sep 5 08:46:22 2006 --- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/accessors/BasicAccessor.java Tue Sep 5 15:06:06 2006 *************** *** 149,155 **** return true; } - /** * INTERNAL: * Return true if this represents an enum type mapping. Will return true --- 149,154 ---- *************** *** 369,374 **** --- 368,378 ---- mapping.setFieldClassification(java.sql.Clob.class); } else if (MetadataHelper.isValidBlobType(getReferenceClass())) { mapping.setFieldClassification(java.sql.Blob.class); + } + else if (oracle.toplink.essentials.internal.helper.Helper.classImplementsInterface(getReferenceClass(), java.io.Serializable.class)){ + mapping.setFieldClassification(java.sql.Blob.class); + mapping.setConverter(new SerializedObjectConverter(mapping)); + return; } else { // The referenceClass is neither a valide BLOB or CLOB attribute. m_validator.throwInvalidTypeForLOBAttribute(getJavaClass(), mapping.getAttributeName(), getReferenceClass()); ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/Image.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000003/AB0952363AC40CBFE034080020E8C54E.1 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000003/AB0952363AC40CBFE034080020E8C54E.1 Tue Sep 5 08:56:50 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/Image.java Tue Sep 5 15:06:06 2006 *************** *** 8,65 **** @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID") public class Image implements Serializable { ! private int id; ! private byte[] audio; ! private char[] commentary; ! private Byte[] picture; ! private String script; ! ! public Object clone() throws CloneNotSupportedException { ! return super.clone(); ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public byte[] getAudio(){ ! return audio; ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public char[] getCommentary() { ! return commentary; ! } ! ! @Id ! public int getId(){ ! return id; ! } ! ! @Lob ! public Byte[] getPicture(){ ! return picture; ! } ! ! @Lob ! public String getScript() { ! return script; ! } ! ! public void setAudio(byte[] audio) { ! this.audio = audio; ! } ! ! public void setCommentary(char[] commentary) { ! this.commentary = commentary; ! } ! ! public void setId(int id) { ! this.id = id; ! } ! ! public void setPicture(Byte[] picture) { ! this.picture = picture; ! } ! ! public void setScript(String script) { ! this.script = script; ! } } \ No newline at end of file --- 8,85 ---- @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID") public class Image implements Serializable { ! private int id; ! private byte[] audio; ! private char[] commentary; ! private Byte[] picture; ! private String script; ! private SerializableNonEntity customAttribute1; ! private SerializableNonEntity customAttribute2; ! ! public Object clone() throws CloneNotSupportedException { ! return super.clone(); ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public byte[] getAudio(){ ! return audio; ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public char[] getCommentary() { ! return commentary; ! } ! ! @Lob ! public SerializableNonEntity getCustomAttribute1() { ! return customAttribute1; ! } ! ! ! public SerializableNonEntity getCustomAttribute2() { ! return customAttribute2; ! } ! ! @Id ! public int getId(){ ! return id; ! } ! ! @Lob ! public Byte[] getPicture(){ ! return picture; ! } ! ! @Lob ! public String getScript() { ! return script; ! } ! ! public void setAudio(byte[] audio) { ! this.audio = audio; ! } ! ! public void setCommentary(char[] commentary) { ! this.commentary = commentary; ! } ! ! public void setCustomAttribute1(SerializableNonEntity customAttribute) { ! this.customAttribute1= customAttribute; ! } ! ! public void setCustomAttribute2(SerializableNonEntity customAttribute) { ! this.customAttribute2=customAttribute; ! } ! ! public void setId(int id) { ! this.id = id; ! } ! ! public void setPicture(Byte[] picture) { ! this.picture = picture; ! } ! ! public void setScript(String script) { ! this.script = script; ! } } \ No newline at end of file ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/ImageSimulator.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000004/AB0952363AC40CBFE034080020E8C54E.1 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000004/AB0952363AC40CBFE034080020E8C54E.1 Tue Sep 5 08:56:54 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/ImageSimulator.java Tue Sep 5 15:06:06 2006 *************** *** 9,28 **** --- 9,34 ---- public class ImageSimulator{ public static Image generateImageNullLOB() { Image imageNullLOB = new Image(); + imageNullLOB.setId(2000); imageNullLOB.setPicture(null); imageNullLOB.setScript(null); imageNullLOB.setAudio(null); imageNullLOB.setCommentary(null); + imageNullLOB.setCustomAttribute1(null); + imageNullLOB.setCustomAttribute2(null); return imageNullLOB; } public static Image generateImage(int blobSize, int clobSize) { Image generatedImage = new Image(); + generatedImage.setId(1000); generatedImage.setPicture(initObjectByteBase(blobSize)); generatedImage.setScript(initStringBase(clobSize/100)); generatedImage.setAudio(initByteBase(blobSize)); generatedImage.setCommentary(initCharArrayBase(clobSize)); + generatedImage.setCustomAttribute1(new SerializableNonEntity(new Long(Long.MAX_VALUE))); + generatedImage.setCustomAttribute2(new SerializableNonEntity(new Long(Long.MAX_VALUE))); return generatedImage; } ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/LobTableCreator.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000005/AB0952363AC40CBFE034080020E8C54E.1 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000005/AB0952363AC40CBFE034080020E8C54E.1 Tue Sep 5 08:57:08 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/LobTableCreator.java Tue Sep 5 15:06:06 2006 *************** *** 6,95 **** public class LobTableCreator extends oracle.toplink.essentials.tools.schemaframework.TableCreator { public LobTableCreator() { ! setName("lob"); ! ! addTableDefinition(buildCLIPTable()); ! addTableDefinition(buildIMAGETable()); } public TableDefinition buildCLIPTable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_CLIP"); ! ! FieldDefinition fieldAUDIO = new FieldDefinition(); ! fieldAUDIO.setName("AUDIO"); ! fieldAUDIO.setTypeName("BLOB"); ! fieldAUDIO.setSize(0); ! fieldAUDIO.setSubSize(0); ! fieldAUDIO.setIsPrimaryKey(false); ! fieldAUDIO.setIsIdentity(false); ! fieldAUDIO.setUnique(false); ! fieldAUDIO.setShouldAllowNull(true); ! table.addField(fieldAUDIO); ! ! FieldDefinition fieldCOMMENTARY = new FieldDefinition(); ! fieldCOMMENTARY.setName("COMMENTARY"); ! fieldCOMMENTARY.setTypeName("CLOB"); ! fieldCOMMENTARY.setSize(0); ! fieldCOMMENTARY.setSubSize(0); ! fieldCOMMENTARY.setIsPrimaryKey(false); ! fieldCOMMENTARY.setIsIdentity(false); ! fieldCOMMENTARY.setUnique(false); ! fieldCOMMENTARY.setShouldAllowNull(true); ! table.addField(fieldCOMMENTARY); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(38); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! return table; } public TableDefinition buildIMAGETable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_IMAGE"); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(20); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! FieldDefinition fieldPICTURE = new FieldDefinition(); ! fieldPICTURE.setName("PICTURE"); ! fieldPICTURE.setTypeName("BLOB"); ! fieldPICTURE.setSize(0); ! fieldPICTURE.setSubSize(0); ! fieldPICTURE.setIsPrimaryKey(false); ! fieldPICTURE.setIsIdentity(false); ! fieldPICTURE.setUnique(false); ! fieldPICTURE.setShouldAllowNull(true); ! table.addField(fieldPICTURE); ! ! FieldDefinition fieldSCRIPT = new FieldDefinition(); ! fieldSCRIPT.setName("SCRIPT"); ! fieldSCRIPT.setTypeName("CLOB"); ! fieldSCRIPT.setSize(0); ! fieldSCRIPT.setSubSize(0); ! fieldSCRIPT.setIsPrimaryKey(false); ! fieldSCRIPT.setIsIdentity(false); ! fieldSCRIPT.setUnique(false); ! fieldSCRIPT.setShouldAllowNull(true); ! table.addField(fieldSCRIPT); ! ! return table; } } \ No newline at end of file --- 6,116 ---- public class LobTableCreator extends oracle.toplink.essentials.tools.schemaframework.TableCreator { public LobTableCreator() { ! setName("lob"); ! ! addTableDefinition(buildCLIPTable()); ! addTableDefinition(buildIMAGETable()); } public TableDefinition buildCLIPTable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_CLIP"); ! ! FieldDefinition fieldAUDIO = new FieldDefinition(); ! fieldAUDIO.setName("AUDIO"); ! fieldAUDIO.setTypeName("BLOB"); ! fieldAUDIO.setSize(0); ! fieldAUDIO.setSubSize(0); ! fieldAUDIO.setIsPrimaryKey(false); ! fieldAUDIO.setIsIdentity(false); ! fieldAUDIO.setUnique(false); ! fieldAUDIO.setShouldAllowNull(true); ! table.addField(fieldAUDIO); ! ! FieldDefinition fieldCOMMENTARY = new FieldDefinition(); ! fieldCOMMENTARY.setName("COMMENTARY"); ! fieldCOMMENTARY.setTypeName("CLOB"); ! fieldCOMMENTARY.setSize(0); ! fieldCOMMENTARY.setSubSize(0); ! fieldCOMMENTARY.setIsPrimaryKey(false); ! fieldCOMMENTARY.setIsIdentity(false); ! fieldCOMMENTARY.setUnique(false); ! fieldCOMMENTARY.setShouldAllowNull(true); ! table.addField(fieldCOMMENTARY); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(38); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! return table; } public TableDefinition buildIMAGETable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_IMAGE"); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(20); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! FieldDefinition fieldPICTURE = new FieldDefinition(); ! fieldPICTURE.setName("PICTURE"); ! fieldPICTURE.setTypeName("BLOB"); ! fieldPICTURE.setSize(0); ! fieldPICTURE.setSubSize(0); ! fieldPICTURE.setIsPrimaryKey(false); ! fieldPICTURE.setIsIdentity(false); ! fieldPICTURE.setUnique(false); ! fieldPICTURE.setShouldAllowNull(true); ! table.addField(fieldPICTURE); ! ! FieldDefinition fieldSCRIPT = new FieldDefinition(); ! fieldSCRIPT.setName("SCRIPT"); ! fieldSCRIPT.setTypeName("CLOB"); ! fieldSCRIPT.setSize(0); ! fieldSCRIPT.setSubSize(0); ! fieldSCRIPT.setIsPrimaryKey(false); ! fieldSCRIPT.setIsIdentity(false); ! fieldSCRIPT.setUnique(false); ! fieldSCRIPT.setShouldAllowNull(true); ! table.addField(fieldSCRIPT); ! ! FieldDefinition fieldCUSTOMATTRIBUTE1 = new FieldDefinition(); ! fieldCUSTOMATTRIBUTE1.setName("CUSTOMATTRIBUTE1"); ! fieldCUSTOMATTRIBUTE1.setTypeName("BLOB"); ! fieldCUSTOMATTRIBUTE1.setSize(0); ! fieldCUSTOMATTRIBUTE1.setSubSize(0); ! fieldCUSTOMATTRIBUTE1.setIsPrimaryKey(false); ! fieldCUSTOMATTRIBUTE1.setIsIdentity(false); ! fieldCUSTOMATTRIBUTE1.setUnique(false); ! fieldCUSTOMATTRIBUTE1.setShouldAllowNull(true); ! table.addField(fieldCUSTOMATTRIBUTE1); ! ! FieldDefinition fieldCUSTOMATTRIBUTE2 = new FieldDefinition(); ! fieldCUSTOMATTRIBUTE2.setName("CUSTOMATTRIBUTE2"); ! fieldCUSTOMATTRIBUTE2.setTypeName("BLOB"); ! fieldCUSTOMATTRIBUTE2.setSize(0); ! fieldCUSTOMATTRIBUTE2.setSubSize(0); ! fieldCUSTOMATTRIBUTE2.setIsPrimaryKey(false); ! fieldCUSTOMATTRIBUTE2.setIsIdentity(false); ! fieldCUSTOMATTRIBUTE2.setUnique(false); ! fieldCUSTOMATTRIBUTE2.setShouldAllowNull(true); ! table.addField(fieldCUSTOMATTRIBUTE2); ! return table; } } \ No newline at end of file ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/SerializableNonEntity.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000007/AB0952363AC40CBFE034080020E8C54E.0 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000007/AB0952363AC40CBFE034080020E8C54E.0 Tue Sep 5 12:07:41 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/SerializableNonEntity.java Tue Sep 5 15:04:45 2006 *************** *** 0 **** --- 1,25 ---- + package oracle.toplink.essentials.testing.models.cmp3.lob; + + import java.io.Serializable; + + /* + * This class is used to test serialization to persistent fields in other entities, + * such as mapping attributes of this type to String or blob field types. + */ + public class SerializableNonEntity implements Serializable{ + Long someValue; + + public SerializableNonEntity() { + } + + public SerializableNonEntity(Long value) { + this.someValue=value; + } + + public void setSomeValue(Long someValue){ + this.someValue=someValue; + } + public Long getSomeValue(){ + return someValue; + } + } ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/tests/FullRegressionTestSuite.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000010/AB0952363AC40CBFE034080020E8C54E.21 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000010/AB0952363AC40CBFE034080020E8C54E.21 Tue Sep 5 14:11:04 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/tests/FullRegressionTestSuite.java Tue Sep 5 15:06:06 2006 *************** *** 91,97 **** fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.datetime.NullBindingJUnitTestCase.suite()); // Lob model ! //fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.lob.LobJUnitTestCase.suite()); // Inheritance model fullSuite.addTest(LifecycleCallbackJunitTest.suite()); --- 91,97 ---- fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.datetime.NullBindingJUnitTestCase.suite()); // Lob model ! fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.lob.LobJUnitTestCase.suite()); // Inheritance model fullSuite.addTest(LifecycleCallbackJunitTest.suite()); ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/platform/database/oracle/OraclePlatform.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000011/AB0952363AC40CBFE034080020E8C54E.16 Report generated at Tue Sep 5 15:06:06 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000011/AB0952363AC40CBFE034080020E8C54E.16 Tue Sep 5 14:12:18 2006 --- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/platform/database/oracle/OraclePlatform.java Tue Sep 5 15:06:06 2006 *************** *** 166,171 **** --- 166,183 ---- return fieldTypeMapping; } + + /** + * Return the mapping of class types to database types for the schema framework. + */ + protected Hashtable buildClassTypes() { + //use what is defined in DatabasePlatform and override the blob/clob entries + Hashtable classTypeMapping = super.buildClassTypes(); + classTypeMapping.put("BLOB", java.sql.Blob.class); + classTypeMapping.put("CLOB", java.sql.Clob.class); + + return classTypeMapping; + } /** * INTERNAL ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataHelper.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.51 Report generated at Tue Sep 5 15:06:55 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.51 Tue Sep 5 08:41:09 2006 --- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataHelper.java Tue Sep 5 15:06:06 2006 *************** *** 736,752 **** * Returns true is the given class is primitive wrapper type. */ public static boolean isPrimitiveWrapperClass(Class cls) { ! return cls.equals(Long.class) || ! cls.equals(Short.class) || ! cls.equals(Float.class) || ! cls.equals(Byte.class) || ! cls.equals(Double.class) || ! cls.equals(Number.class) || ! cls.equals(Boolean.class) || ! cls.equals(Integer.class) || ! cls.equals(Character.class) || ! cls.equals(java.math.BigInteger.class) || ! cls.equals(java.math.BigDecimal.class); } /** --- 736,755 ---- * Returns true is the given class is primitive wrapper type. */ public static boolean isPrimitiveWrapperClass(Class cls) { ! return Long.class.isAssignableFrom(cls) || ! Short.class.isAssignableFrom(cls) || ! Float.class.isAssignableFrom(cls) || ! Byte.class.isAssignableFrom(cls) || ! Double.class.isAssignableFrom(cls) || ! Number.class.isAssignableFrom(cls) || ! Boolean.class.isAssignableFrom(cls) || ! Integer.class.isAssignableFrom(cls) || ! Character.class.isAssignableFrom(cls) || ! String.class.isAssignableFrom(cls) || ! java.math.BigInteger.class.isAssignableFrom(cls) || ! java.math.BigDecimal.class.isAssignableFrom(cls) || ! java.util.Date.class.isAssignableFrom(cls) || ! java.util.Calendar.class.isAssignableFrom(cls); } /** *************** *** 784,791 **** public static boolean isValidBlobType(Class cls) { return cls.equals(byte[].class) || cls.equals(Byte[].class) || ! cls.equals(java.sql.Blob.class) || ! Helper.classImplementsInterface(cls, java.io.Serializable.class); } /** --- 787,793 ---- public static boolean isValidBlobType(Class cls) { return cls.equals(byte[].class) || cls.equals(Byte[].class) || ! cls.equals(java.sql.Blob.class); } /** ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/accessors/BasicAccessor.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.4 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000002/AB0952363AC40CBFE034080020E8C54E.4 Tue Sep 5 08:46:22 2006 --- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/ejb/cmp3/metadata/accessors/BasicAccessor.java Tue Sep 5 15:06:06 2006 *************** *** 149,155 **** return true; } - /** * INTERNAL: * Return true if this represents an enum type mapping. Will return true --- 149,154 ---- *************** *** 369,374 **** --- 368,378 ---- mapping.setFieldClassification(java.sql.Clob.class); } else if (MetadataHelper.isValidBlobType(getReferenceClass())) { mapping.setFieldClassification(java.sql.Blob.class); + } + else if (oracle.toplink.essentials.internal.helper.Helper.classImplementsInterface(getReferenceClass(), java.io.Serializable.class)){ + mapping.setFieldClassification(java.sql.Blob.class); + mapping.setConverter(new SerializedObjectConverter(mapping)); + return; } else { // The referenceClass is neither a valide BLOB or CLOB attribute. m_validator.throwInvalidTypeForLOBAttribute(getJavaClass(), mapping.getAttributeName(), getReferenceClass()); ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/Image.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000003/AB0952363AC40CBFE034080020E8C54E.1 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000003/AB0952363AC40CBFE034080020E8C54E.1 Tue Sep 5 08:56:50 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/Image.java Tue Sep 5 15:06:06 2006 *************** *** 8,65 **** @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID") public class Image implements Serializable { ! private int id; ! private byte[] audio; ! private char[] commentary; ! private Byte[] picture; ! private String script; ! ! public Object clone() throws CloneNotSupportedException { ! return super.clone(); ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public byte[] getAudio(){ ! return audio; ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public char[] getCommentary() { ! return commentary; ! } ! ! @Id ! public int getId(){ ! return id; ! } ! ! @Lob ! public Byte[] getPicture(){ ! return picture; ! } ! ! @Lob ! public String getScript() { ! return script; ! } ! ! public void setAudio(byte[] audio) { ! this.audio = audio; ! } ! ! public void setCommentary(char[] commentary) { ! this.commentary = commentary; ! } ! ! public void setId(int id) { ! this.id = id; ! } ! ! public void setPicture(Byte[] picture) { ! this.picture = picture; ! } ! ! public void setScript(String script) { ! this.script = script; ! } } \ No newline at end of file --- 8,85 ---- @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID") public class Image implements Serializable { ! private int id; ! private byte[] audio; ! private char[] commentary; ! private Byte[] picture; ! private String script; ! private SerializableNonEntity customAttribute1; ! private SerializableNonEntity customAttribute2; ! ! public Object clone() throws CloneNotSupportedException { ! return super.clone(); ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public byte[] getAudio(){ ! return audio; ! } ! ! @Lob @Column(table="CMP3_CLIP") ! public char[] getCommentary() { ! return commentary; ! } ! ! @Lob ! public SerializableNonEntity getCustomAttribute1() { ! return customAttribute1; ! } ! ! ! public SerializableNonEntity getCustomAttribute2() { ! return customAttribute2; ! } ! ! @Id ! public int getId(){ ! return id; ! } ! ! @Lob ! public Byte[] getPicture(){ ! return picture; ! } ! ! @Lob ! public String getScript() { ! return script; ! } ! ! public void setAudio(byte[] audio) { ! this.audio = audio; ! } ! ! public void setCommentary(char[] commentary) { ! this.commentary = commentary; ! } ! ! public void setCustomAttribute1(SerializableNonEntity customAttribute) { ! this.customAttribute1= customAttribute; ! } ! ! public void setCustomAttribute2(SerializableNonEntity customAttribute) { ! this.customAttribute2=customAttribute; ! } ! ! public void setId(int id) { ! this.id = id; ! } ! ! public void setPicture(Byte[] picture) { ! this.picture = picture; ! } ! ! public void setScript(String script) { ! this.script = script; ! } } \ No newline at end of file ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/ImageSimulator.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000004/AB0952363AC40CBFE034080020E8C54E.1 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000004/AB0952363AC40CBFE034080020E8C54E.1 Tue Sep 5 08:56:54 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/ImageSimulator.java Tue Sep 5 15:06:06 2006 *************** *** 9,28 **** --- 9,34 ---- public class ImageSimulator{ public static Image generateImageNullLOB() { Image imageNullLOB = new Image(); + imageNullLOB.setId(2000); imageNullLOB.setPicture(null); imageNullLOB.setScript(null); imageNullLOB.setAudio(null); imageNullLOB.setCommentary(null); + imageNullLOB.setCustomAttribute1(null); + imageNullLOB.setCustomAttribute2(null); return imageNullLOB; } public static Image generateImage(int blobSize, int clobSize) { Image generatedImage = new Image(); + generatedImage.setId(1000); generatedImage.setPicture(initObjectByteBase(blobSize)); generatedImage.setScript(initStringBase(clobSize/100)); generatedImage.setAudio(initByteBase(blobSize)); generatedImage.setCommentary(initCharArrayBase(clobSize)); + generatedImage.setCustomAttribute1(new SerializableNonEntity(new Long(Long.MAX_VALUE))); + generatedImage.setCustomAttribute2(new SerializableNonEntity(new Long(Long.MAX_VALUE))); return generatedImage; } ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/LobTableCreator.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000005/AB0952363AC40CBFE034080020E8C54E.1 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000005/AB0952363AC40CBFE034080020E8C54E.1 Tue Sep 5 08:57:08 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/LobTableCreator.java Tue Sep 5 15:06:06 2006 *************** *** 6,95 **** public class LobTableCreator extends oracle.toplink.essentials.tools.schemaframework.TableCreator { public LobTableCreator() { ! setName("lob"); ! ! addTableDefinition(buildCLIPTable()); ! addTableDefinition(buildIMAGETable()); } public TableDefinition buildCLIPTable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_CLIP"); ! ! FieldDefinition fieldAUDIO = new FieldDefinition(); ! fieldAUDIO.setName("AUDIO"); ! fieldAUDIO.setTypeName("BLOB"); ! fieldAUDIO.setSize(0); ! fieldAUDIO.setSubSize(0); ! fieldAUDIO.setIsPrimaryKey(false); ! fieldAUDIO.setIsIdentity(false); ! fieldAUDIO.setUnique(false); ! fieldAUDIO.setShouldAllowNull(true); ! table.addField(fieldAUDIO); ! ! FieldDefinition fieldCOMMENTARY = new FieldDefinition(); ! fieldCOMMENTARY.setName("COMMENTARY"); ! fieldCOMMENTARY.setTypeName("CLOB"); ! fieldCOMMENTARY.setSize(0); ! fieldCOMMENTARY.setSubSize(0); ! fieldCOMMENTARY.setIsPrimaryKey(false); ! fieldCOMMENTARY.setIsIdentity(false); ! fieldCOMMENTARY.setUnique(false); ! fieldCOMMENTARY.setShouldAllowNull(true); ! table.addField(fieldCOMMENTARY); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(38); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! return table; } public TableDefinition buildIMAGETable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_IMAGE"); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(20); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! FieldDefinition fieldPICTURE = new FieldDefinition(); ! fieldPICTURE.setName("PICTURE"); ! fieldPICTURE.setTypeName("BLOB"); ! fieldPICTURE.setSize(0); ! fieldPICTURE.setSubSize(0); ! fieldPICTURE.setIsPrimaryKey(false); ! fieldPICTURE.setIsIdentity(false); ! fieldPICTURE.setUnique(false); ! fieldPICTURE.setShouldAllowNull(true); ! table.addField(fieldPICTURE); ! ! FieldDefinition fieldSCRIPT = new FieldDefinition(); ! fieldSCRIPT.setName("SCRIPT"); ! fieldSCRIPT.setTypeName("CLOB"); ! fieldSCRIPT.setSize(0); ! fieldSCRIPT.setSubSize(0); ! fieldSCRIPT.setIsPrimaryKey(false); ! fieldSCRIPT.setIsIdentity(false); ! fieldSCRIPT.setUnique(false); ! fieldSCRIPT.setShouldAllowNull(true); ! table.addField(fieldSCRIPT); ! ! return table; } } \ No newline at end of file --- 6,116 ---- public class LobTableCreator extends oracle.toplink.essentials.tools.schemaframework.TableCreator { public LobTableCreator() { ! setName("lob"); ! ! addTableDefinition(buildCLIPTable()); ! addTableDefinition(buildIMAGETable()); } public TableDefinition buildCLIPTable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_CLIP"); ! ! FieldDefinition fieldAUDIO = new FieldDefinition(); ! fieldAUDIO.setName("AUDIO"); ! fieldAUDIO.setTypeName("BLOB"); ! fieldAUDIO.setSize(0); ! fieldAUDIO.setSubSize(0); ! fieldAUDIO.setIsPrimaryKey(false); ! fieldAUDIO.setIsIdentity(false); ! fieldAUDIO.setUnique(false); ! fieldAUDIO.setShouldAllowNull(true); ! table.addField(fieldAUDIO); ! ! FieldDefinition fieldCOMMENTARY = new FieldDefinition(); ! fieldCOMMENTARY.setName("COMMENTARY"); ! fieldCOMMENTARY.setTypeName("CLOB"); ! fieldCOMMENTARY.setSize(0); ! fieldCOMMENTARY.setSubSize(0); ! fieldCOMMENTARY.setIsPrimaryKey(false); ! fieldCOMMENTARY.setIsIdentity(false); ! fieldCOMMENTARY.setUnique(false); ! fieldCOMMENTARY.setShouldAllowNull(true); ! table.addField(fieldCOMMENTARY); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(38); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! return table; } public TableDefinition buildIMAGETable() { ! TableDefinition table = new TableDefinition(); ! table.setName("CMP3_IMAGE"); ! ! FieldDefinition fieldID = new FieldDefinition(); ! fieldID.setName("ID"); ! fieldID.setTypeName("NUMBER"); ! fieldID.setSize(20); ! fieldID.setSubSize(0); ! fieldID.setIsPrimaryKey(true); ! fieldID.setIsIdentity(false); ! fieldID.setUnique(false); ! fieldID.setShouldAllowNull(false); ! table.addField(fieldID); ! ! FieldDefinition fieldPICTURE = new FieldDefinition(); ! fieldPICTURE.setName("PICTURE"); ! fieldPICTURE.setTypeName("BLOB"); ! fieldPICTURE.setSize(0); ! fieldPICTURE.setSubSize(0); ! fieldPICTURE.setIsPrimaryKey(false); ! fieldPICTURE.setIsIdentity(false); ! fieldPICTURE.setUnique(false); ! fieldPICTURE.setShouldAllowNull(true); ! table.addField(fieldPICTURE); ! ! FieldDefinition fieldSCRIPT = new FieldDefinition(); ! fieldSCRIPT.setName("SCRIPT"); ! fieldSCRIPT.setTypeName("CLOB"); ! fieldSCRIPT.setSize(0); ! fieldSCRIPT.setSubSize(0); ! fieldSCRIPT.setIsPrimaryKey(false); ! fieldSCRIPT.setIsIdentity(false); ! fieldSCRIPT.setUnique(false); ! fieldSCRIPT.setShouldAllowNull(true); ! table.addField(fieldSCRIPT); ! ! FieldDefinition fieldCUSTOMATTRIBUTE1 = new FieldDefinition(); ! fieldCUSTOMATTRIBUTE1.setName("CUSTOMATTRIBUTE1"); ! fieldCUSTOMATTRIBUTE1.setTypeName("BLOB"); ! fieldCUSTOMATTRIBUTE1.setSize(0); ! fieldCUSTOMATTRIBUTE1.setSubSize(0); ! fieldCUSTOMATTRIBUTE1.setIsPrimaryKey(false); ! fieldCUSTOMATTRIBUTE1.setIsIdentity(false); ! fieldCUSTOMATTRIBUTE1.setUnique(false); ! fieldCUSTOMATTRIBUTE1.setShouldAllowNull(true); ! table.addField(fieldCUSTOMATTRIBUTE1); ! ! FieldDefinition fieldCUSTOMATTRIBUTE2 = new FieldDefinition(); ! fieldCUSTOMATTRIBUTE2.setName("CUSTOMATTRIBUTE2"); ! fieldCUSTOMATTRIBUTE2.setTypeName("BLOB"); ! fieldCUSTOMATTRIBUTE2.setSize(0); ! fieldCUSTOMATTRIBUTE2.setSubSize(0); ! fieldCUSTOMATTRIBUTE2.setIsPrimaryKey(false); ! fieldCUSTOMATTRIBUTE2.setIsIdentity(false); ! fieldCUSTOMATTRIBUTE2.setUnique(false); ! fieldCUSTOMATTRIBUTE2.setShouldAllowNull(true); ! table.addField(fieldCUSTOMATTRIBUTE2); ! return table; } } \ No newline at end of file ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/SerializableNonEntity.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000007/AB0952363AC40CBFE034080020E8C54E.0 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000007/AB0952363AC40CBFE034080020E8C54E.0 Tue Sep 5 12:07:41 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/models/cmp3/lob/SerializableNonEntity.java Tue Sep 5 15:04:45 2006 *************** *** 0 **** --- 1,25 ---- + package oracle.toplink.essentials.testing.models.cmp3.lob; + + import java.io.Serializable; + + /* + * This class is used to test serialization to persistent fields in other entities, + * such as mapping attributes of this type to String or blob field types. + */ + public class SerializableNonEntity implements Serializable{ + Long someValue; + + public SerializableNonEntity() { + } + + public SerializableNonEntity(Long value) { + this.someValue=value; + } + + public void setSomeValue(Long someValue){ + this.someValue=someValue; + } + public Long getSomeValue(){ + return someValue; + } + } ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/tests/FullRegressionTestSuite.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000010/AB0952363AC40CBFE034080020E8C54E.21 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000010/AB0952363AC40CBFE034080020E8C54E.21 Tue Sep 5 14:11:04 2006 --- /ade/cdelahun_toplinkmain/tltest/source/entity-persistence-tests/src/java/oracle/toplink/essentials/testing/tests/FullRegressionTestSuite.java Tue Sep 5 15:06:06 2006 *************** *** 91,97 **** fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.datetime.NullBindingJUnitTestCase.suite()); // Lob model ! //fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.lob.LobJUnitTestCase.suite()); // Inheritance model fullSuite.addTest(LifecycleCallbackJunitTest.suite()); --- 91,97 ---- fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.datetime.NullBindingJUnitTestCase.suite()); // Lob model ! fullSuite.addTest(oracle.toplink.essentials.testing.tests.cmp3.lob.LobJUnitTestCase.suite()); // Inheritance model fullSuite.addTest(LifecycleCallbackJunitTest.suite()); ================================================================================ Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/platform/database/oracle/OraclePlatform.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000011/AB0952363AC40CBFE034080020E8C54E.16 Report generated at Tue Sep 5 15:06:56 2006 -------------------------------------------------------------------------------- *** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf804_060905/ade_storage/000011/AB0952363AC40CBFE034080020E8C54E.16 Tue Sep 5 14:12:18 2006 --- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/platform/database/oracle/OraclePlatform.java Tue Sep 5 15:06:06 2006 *************** *** 166,171 **** --- 166,183 ---- return fieldTypeMapping; } + + /** + * Return the mapping of class types to database types for the schema framework. + */ + protected Hashtable buildClassTypes() { + //use what is defined in DatabasePlatform and override the blob/clob entries + Hashtable classTypeMapping = super.buildClassTypes(); + classTypeMapping.put("BLOB", java.sql.Blob.class); + classTypeMapping.put("CLOB", java.sql.Clob.class); + + return classTypeMapping; + } /** * INTERNAL