You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by sk...@apache.org on 2006/10/01 00:34:55 UTC

svn commit: r451691 - in /incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel: PNewProvisionalState.java SingleFieldManager.java

Author: skim
Date: Sat Sep 30 15:34:55 2006
New Revision: 451691

URL: http://svn.apache.org/viewvc?view=rev&rev=451691
Log:
fix deletion of PNewProvisional

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewProvisionalState.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewProvisionalState.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewProvisionalState.java?view=diff&rev=451691&r1=451690&r2=451691
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewProvisionalState.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewProvisionalState.java Sat Sep 30 15:34:55 2006
@@ -59,6 +59,11 @@
         return TRANSIENT;
     }
 
+    PCState delete(StateManagerImpl context) {
+        context.preDelete();
+        return TRANSIENT;
+    }
+
     PCState release(StateManagerImpl context) {
         return TRANSIENT;
     }

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java?view=diff&rev=451691&r1=451690&r2=451691
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java Sat Sep 30 15:34:55 2006
@@ -750,9 +750,7 @@
                     setFailedObject(obj);
         } else {
             sm = _broker.getStateManager(obj);
-            if (sm != null && sm.isProvisional())
-                ((StateManagerImpl) sm).nonprovisional(logical, call);
-            else
+            if (sm == null || !sm.isProvisional())
                 sm = _broker.persist(obj, null, true, call);
         }
 
@@ -764,6 +762,8 @@
                     Exceptions.toString(obj), vmd,
                     Exceptions.toString(_sm.getManagedInstance()))).
                     setFailedObject(obj);
+
+            ((StateManagerImpl) sm).nonprovisional(logical, call);
             ((StateManagerImpl) sm).setDereferencedDependent(false, true);
         }
     }