Author: ssegu
Date: Fri Jan  5 11:36:06 2007
New Revision: 493156

URL: http://svn.apache.org/viewvc?view=rev&rev=493156
Log:
Fix to retain original FM because of the possibility of reentrant calls

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

Modified: 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?view=diff&rev=493156&r1=493155&r2=493156
==============================================================================
--- 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
 (original)
+++ 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
 Fri Jan  5 11:36:06 2007
@@ -2844,9 +2844,11 @@
      * field manager.
      */
     void provideField(PersistenceCapable pc, FieldManager store, int field) {
+        FieldManager beforeFM = _fm;
         _fm = store;
         pc.pcProvideField(field);
-        _fm = null;
+        // Retaining original FM because of the possibility of reentrant calls
+        _fm = beforeFM;
     }
 
     /**
@@ -2854,9 +2856,11 @@
      * field manager.
      */
     void replaceField(PersistenceCapable pc, FieldManager load, int field) {
+        FieldManager beforeFM = _fm;
         _fm = load;
         pc.pcReplaceField(field);
-        _fm = null;
+        // Retaining original FM because of the possibility of reentrant calls
+        _fm = beforeFM;
     }
 
     /**


Reply via email to