You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by aw...@apache.org on 2007/02/20 17:33:54 UTC

svn commit: r509632 - in /incubator/openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java

Author: awhite
Date: Tue Feb 20 08:33:54 2007
New Revision: 509632

URL: http://svn.apache.org/viewvc?view=rev&rev=509632
Log:
OPENJPA-146 : When copying an OID superclass field for re-mapping, revert type
to PC.  It will re-resolve to OID on its own when the field's metadata is
resolved, and in the meantime it will ensure we use the same path for 
metadata resolution as non-copied fields.


Modified:
    incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java

Modified: incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java?view=diff&rev=509632&r1=509631&r2=509632
==============================================================================
--- incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java (original)
+++ incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java Tue Feb 20 08:33:54 2007
@@ -888,7 +888,8 @@
      * <ul>
      * <li>Refresh the mappings for given package, without dropping any
      * schema components:<br />
-     * <code>java org.apache.openjpa.jdbc.meta.MappingTool mypackage.jdo</code></li>
+     * <code>java org.apache.openjpa.jdbc.meta.MappingTool 
+     *      mypackage.jdo</code></li>
      * <li>Refresh the mappings for all persistent classes in the classpath,
      * dropping any unused columns and even tables:<br />
      * <code>java org.apache.openjpa.jdbc.meta.MappingTool -sa refresh

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java?view=diff&rev=509632&r1=509631&r2=509632
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java Tue Feb 20 08:33:54 2007
@@ -201,8 +201,8 @@
 
         switch (_delete) {
             case CASCADE_NONE:
-                // if the user marks the owning field dependent and we externalize
-                // to a pc type, then become dependent
+                // if the user marks the owning field dependent and we 
+                // externalize to a pc type, then become dependent
                 if (this != _owner.getValue() && isTypePC()
                     && ((ValueMetaDataImpl) _owner.getValue())._delete
                     == CASCADE_AUTO)
@@ -432,8 +432,13 @@
     }
 
     public void copy(ValueMetaData vmd) {
+        // copy declared types, but if OID revert to PC until we resolve
+        // to OID ourselves
         _decType = vmd.getDeclaredType();
         _decCode = vmd.getDeclaredTypeCode();
+        if (_decCode == JavaTypes.OID)
+            _decCode = JavaTypes.PC;
+
         _delete = vmd.getCascadeDelete();
         _persist = vmd.getCascadePersist();
         _attach = vmd.getCascadeAttach();