You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2010/03/18 16:44:25 UTC

svn commit: r924868 - in /openjpa/trunk: openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/ openjpa-persistence/src/main/java/org/apache/openjpa/persistence/

Author: mikedd
Date: Thu Mar 18 15:44:25 2010
New Revision: 924868

URL: http://svn.apache.org/viewvc?rev=924868&view=rev
Log:
OPENJPA-1581:
make assertOpen public and call assertOpen before returning JPA cache

Modified:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java?rev=924868&r1=924867&r2=924868&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java Thu Mar 18 15:44:25 2010
@@ -656,7 +656,7 @@ public abstract class AbstractBrokerFact
      * Throw an exception if the factory is closed.  The exact message and
      * content of the exception varies whether TRACE is enabled or not.
      */
-    private void assertOpen() {
+    public void assertOpen() {
         if (_closed) {
             if (_closedException == null)  // TRACE not enabled
                 throw new InvalidStateException(_loc

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java?rev=924868&r1=924867&r2=924868&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java Thu Mar 18 15:44:25 2010
@@ -150,4 +150,10 @@ public interface BrokerFactory
      * Release the internal lock.
      */
     public void unlock ();
+    
+    /**
+     * assert that this broker is open. If the broker has been closed an IllegalStateException will be thrown
+     * with information on when the broker was closed. 
+     */
+    public void assertOpen(); 
 }

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java?rev=924868&r1=924867&r2=924868&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java Thu Mar 18 15:44:25 2010
@@ -223,4 +223,12 @@ public class DelegatingBrokerFactory
             throw translate(re);
 		}
 	}
+    
+    public void assertOpen() {
+        try {
+            _factory.assertOpen();
+        } catch (RuntimeException re) {
+            throw translate(re);
+        }
+    }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java?rev=924868&r1=924867&r2=924868&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPACache.java Thu Mar 18 15:44:25 2010
@@ -271,6 +271,28 @@ public class TestJPACache extends Single
             // expected exception
         }
     }
+    
+    public void testIllegalStateExceptionAfterClose() { 
+        emf.close();
+        try {
+            emf.getCache();
+            fail("Expected IllegalStateException");
+        }
+        catch(IllegalStateException ise) {
+            // expected
+        }
+    }
+    public void testIllegalStateExceptionGetAfterClose() {
+        emf.getCache();  // populate the EntityManagerFactoryImpl's wrapper for the StoreCache.
+        emf.close();
+        try {
+            emf.getCache();
+            fail("Expected IllegalStateException");
+        }
+        catch(IllegalStateException ise) {
+            // expected
+        }
+    }
 
     /**
      * Convenience method. Asserts that the class & primary key do exist in the cache

Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java?rev=924868&r1=924867&r2=924868&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java Thu Mar 18 15:44:25 2010
@@ -303,6 +303,7 @@ public class EntityManagerFactoryImpl
 	}
 
     public Cache getCache() {
+        _factory.assertOpen();
         return getStoreCache();
     }