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();
}