Author: hthomann
Date: Thu Jan  3 17:33:18 2013
New Revision: 1428496

URL: http://svn.apache.org/viewvc?rev=1428496&view=rev
Log:
OPENJPA-1644: Null field values after calling EntityManager.remove() - back 
ported to 1.2.x Rick's changes from trunk.

Modified:
    
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/EDeletedState.java
    
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PDeletedState.java
    
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewDeletedState.java
    
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewFlushedDeletedState.java
    
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
    
openjpa/branches/1.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestTransition2.java

Modified: 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/EDeletedState.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/EDeletedState.java?rev=1428496&r1=1428495&r2=1428496&view=diff
==============================================================================
--- 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/EDeletedState.java
 (original)
+++ 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/EDeletedState.java
 Thu Jan  3 17:33:18 2013
@@ -29,12 +29,12 @@ class EDeletedState
     extends PCState {
 
     PCState commit(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 
     PCState commitRetain(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 

Modified: 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PDeletedState.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PDeletedState.java?rev=1428496&r1=1428495&r2=1428496&view=diff
==============================================================================
--- 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PDeletedState.java
 (original)
+++ 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PDeletedState.java
 Thu Jan  3 17:33:18 2013
@@ -37,12 +37,12 @@ class PDeletedState
     }
 
     PCState commit(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 
     PCState commitRetain(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 

Modified: 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewDeletedState.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewDeletedState.java?rev=1428496&r1=1428495&r2=1428496&view=diff
==============================================================================
--- 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewDeletedState.java
 (original)
+++ 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewDeletedState.java
 Thu Jan  3 17:33:18 2013
@@ -29,12 +29,12 @@ class PNewDeletedState
     extends PCState {
 
     PCState commit(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 
     PCState commitRetain(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 

Modified: 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewFlushedDeletedState.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewFlushedDeletedState.java?rev=1428496&r1=1428495&r2=1428496&view=diff
==============================================================================
--- 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewFlushedDeletedState.java
 (original)
+++ 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewFlushedDeletedState.java
 Thu Jan  3 17:33:18 2013
@@ -33,12 +33,12 @@ class PNewFlushedDeletedState
     }
 
     PCState commit(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 
     PCState commitRetain(StateManagerImpl context) {
-        context.clearFields();
+//        context.clearFields();
         return TRANSIENT;
     }
 

Modified: 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?rev=1428496&r1=1428495&r2=1428496&view=diff
==============================================================================
--- 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
 (original)
+++ 
openjpa/branches/1.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
 Thu Jan  3 17:33:18 2013
@@ -2646,8 +2646,7 @@ public class StateManagerImpl
             // clear non-pk fields
             FieldMetaData[] fmds = _meta.getFields();
             for (int i = 0; i < fmds.length; i++) {
-                if (!fmds[i].isPrimaryKey() && fmds[i].getManagement()
-                    == FieldMetaData.MANAGE_PERSISTENT)
+               if (!fmds[i].isPrimaryKey() && fmds[i].getManagement() == 
FieldMetaData.MANAGE_PERSISTENT)
                     replaceField(_pc, ClearFieldManager.getInstance(), i);
             }
 

Modified: 
openjpa/branches/1.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestTransition2.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestTransition2.java?rev=1428496&r1=1428495&r2=1428496&view=diff
==============================================================================
--- 
openjpa/branches/1.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestTransition2.java
 (original)
+++ 
openjpa/branches/1.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestTransition2.java
 Thu Jan  3 17:33:18 2013
@@ -532,9 +532,9 @@ public class TestTransition2 extends Bas
         assertEquals("PARENT", parent.getStringField());
 
         // 'b' should be cleared
-        assertNull(b.getStringField());
-        assertEquals(0, b.getIntField());
-        assertNull(b.getSelfOneOne());
+        assertNotNull(b.getStringField());
+        assertNotEquals(0, b.getIntField());
+        assertNotNull(b.getSelfOneOne());
     }
 
     /**
@@ -661,9 +661,9 @@ public class TestTransition2 extends Bas
         assertEquals("PARENT", parent.getStringField());
 
         // 'b' should be cleared
-        assertNull(b.getStringField());
-        assertEquals(0, b.getIntField());
-        assertNull(b.getSelfOneOne());
+        assertNotNull(b.getStringField());
+        assertNotEquals(0, b.getIntField());
+        assertNotNull(b.getSelfOneOne());
     }
 
     /**


Reply via email to