Author: curtisr7
Date: Tue Feb 21 21:14:57 2012
New Revision: 1292034

URL: http://svn.apache.org/viewvc?rev=1292034&view=rev
Log:
OPENJPA-2136: Fix NPE when using LiteAutoDetach.

Modified:
    
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetachLite.java

Modified: 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java?rev=1292034&r1=1292033&r2=1292034&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
 (original)
+++ 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
 Tue Feb 21 21:14:57 2012
@@ -3457,6 +3457,9 @@ public class BrokerImpl
         if (_transAdditions != null) {
             _transAdditions.clear();
         }
+        if (_pending != null) {
+            _pending = null;
+        }
         if (_dmLite == null) {
             _dmLite = new DetachManagerLite(_conf);
         }

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetachLite.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetachLite.java?rev=1292034&r1=1292033&r2=1292034&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetachLite.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detachment/TestDetachLite.java
 Tue Feb 21 21:14:57 2012
@@ -45,6 +45,16 @@ public class TestDetachLite extends Test
         root = createData();
     }
 
+    public void testPendingClear() {
+        EntityManager em = emf.createEntityManager();
+        DMCustomer dm = em.find(DMCustomer.class, root.getId());
+        dm.setLastName(System.currentTimeMillis() + "--last");
+        em.clear();
+        em.getTransaction().begin();
+        // Pre OPENJPA-2136 this commit call would fail.
+        em.getTransaction().commit();
+    }
+
     public void testLeaveProxy() {
         Object[] p = props;
         p[1] = "loaded(LiteAutoDetach=true,DetachProxyFields=false)";


Reply via email to