You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2007/09/24 18:14:13 UTC

svn commit: r578867 - in /openjpa/trunk/openjpa-persistence-jdbc/src: main/java/org/apache/openjpa/persistence/jdbc/ test/java/org/apache/openjpa/persistence/discriminator/ test/java/org/apache/openjpa/persistence/test/ test/java/org/apache/openjpa/per...

Author: mikedd
Date: Mon Sep 24 09:14:12 2007
New Revision: 578867

URL: http://svn.apache.org/viewvc?rev=578867&view=rev
Log:
OPENJPA-382

Modified:
    openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMFTestCase.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestXmlOverrideEntity.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/XmlOverrideEntity.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml/orm.xml

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java?rev=578867&r1=578866&r2=578867&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/XMLPersistenceMappingParser.java Mon Sep 24 09:14:12 2007
@@ -541,9 +541,9 @@
         if (_cols != null) {
             switch (fm.getDeclaredTypeCode()) {
                 case JavaTypes.ARRAY:
-                    if (fm.getDeclaredType() == byte[].class
-                        || fm.getDeclaredType() == char[].class
-                        || fm.getDeclaredType() == Character[].class) {
+                    Class type = fm.getDeclaredType();
+                    if (type == byte[].class || type == Byte[].class
+                        || type == char[].class || type == Character[].class ) {
                         fm.getValueInfo().setColumns(_cols);
                         break;
                     }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java?rev=578867&r1=578866&r2=578867&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java Mon Sep 24 09:14:12 2007
@@ -144,10 +144,4 @@
         assertNotNull(root2);
         em.close();
     }
-
-    private ClassMapping getMapping(String name) {
-        return (ClassMapping) emf.getConfiguration()
-                .getMetaDataRepositoryInstance().getMetaData(name,
-                        getClass().getClassLoader(), true);
-    }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMFTestCase.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMFTestCase.java?rev=578867&r1=578866&r2=578867&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMFTestCase.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMFTestCase.java Mon Sep 24 09:14:12 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.openjpa.persistence.test;
 
+import org.apache.openjpa.jdbc.meta.ClassMapping;
 import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
 
 public abstract class SingleEMFTestCase
@@ -60,5 +61,11 @@
         } finally {
             closeEMF(emf);
         }
+    }
+    
+    protected ClassMapping getMapping(String name) {
+        return (ClassMapping) emf.getConfiguration()
+                .getMetaDataRepositoryInstance().getMetaData(name,
+                        getClass().getClassLoader(), true);
     }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestXmlOverrideEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestXmlOverrideEntity.java?rev=578867&r1=578866&r2=578867&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestXmlOverrideEntity.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestXmlOverrideEntity.java Mon Sep 24 09:14:12 2007
@@ -20,6 +20,9 @@
 
 import javax.persistence.EntityManager;
 
+import org.apache.openjpa.jdbc.meta.ClassMapping;
+import org.apache.openjpa.jdbc.meta.FieldMapping;
+import org.apache.openjpa.jdbc.schema.Column;
 import org.apache.openjpa.persistence.InvalidStateException;
 import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 
@@ -62,6 +65,24 @@
         em.getTransaction().begin();
         em.remove(em.find(XmlOverrideEntity.class, optional.getId()));
         em.getTransaction().commit();
+        
+        em.close();
+    }
+    
+    
+    public void testColumnOverride() { 
+        EntityManager em = emf.createEntityManager();
+
+        ClassMapping mapping = getMapping("XmlOverride");
+        
+        FieldMapping fm = mapping.getFieldMapping("picture");
+        
+        Column[] columns = fm.getColumns();
+        
+        assertEquals(1, columns.length);
+        assertEquals("pic_xml", columns[0].getName());
+        
+        em.close();
     }
 }
 

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/XmlOverrideEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/XmlOverrideEntity.java?rev=578867&r1=578866&r2=578867&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/XmlOverrideEntity.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/XmlOverrideEntity.java Mon Sep 24 09:14:12 2007
@@ -19,9 +19,11 @@
 package org.apache.openjpa.persistence.xml;
 
 import javax.persistence.Basic;
+import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
+import javax.persistence.Lob;
 
 @Entity
 public class XmlOverrideEntity {
@@ -35,6 +37,10 @@
     
     @Basic(optional=true)
     String description;
+    
+    @Column(name="PICTURE")
+    @Lob
+    private Byte[] picture;
 
     public int getId() {
         return id;
@@ -58,6 +64,14 @@
 
     public void setDescription(String description) {
         this.description = description;
+    }
+
+    public Byte[] getPicture() {
+        return picture;
+    }
+
+    public void setPicture(Byte[] picture) {
+        this.picture = picture;
     } 
 }
 

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml/orm.xml
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml/orm.xml?rev=578867&r1=578866&r2=578867&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml/orm.xml (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml/orm.xml Mon Sep 24 09:14:12 2007
@@ -43,6 +43,10 @@
     	<attributes>
 	    	<basic name="name" optional="true"></basic>
 	    	<basic name="description" optional="false"></basic>
+            <basic name="picture" fetch="EAGER"> 
+                <column name="pic_xml"/>
+                <lob/>
+            </basic>
     	</attributes>
     </entity>
     <entity name="AllFieldTypes"