You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by dw...@apache.org on 2010/10/08 23:23:20 UTC
svn commit: r1006029 - in
/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test:
AbstractPersistenceTestCase.java SingleEMTestCase.java
Author: dwoods
Date: Fri Oct 8 21:23:20 2010
New Revision: 1006029
URL: http://svn.apache.org/viewvc?rev=1006029&view=rev
Log:
minor testcase helper tweaks
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMTestCase.java
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java?rev=1006029&r1=1006028&r2=1006029&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java Fri Oct 8 21:23:20 2010
@@ -46,6 +46,7 @@ import org.apache.openjpa.kernel.Broker;
import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.persistence.JPAFacadeHelper;
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
+import org.apache.openjpa.persistence.OpenJPAPersistence;
/**
* Base class for Persistence TestCases. This class contains utility methods but does not maintain an EntityManager or
@@ -119,6 +120,27 @@ public abstract class AbstractPersistenc
return oemf;
}
+ /**
+ * Create an entity manager factory for persistence unit <code>pu</code>. Put {@link #CLEAR_TABLES} in this list to
+ * tell the test framework to delete all table contents before running the tests.
+ *
+ * @param props
+ * list of persistent types used in testing and/or configuration values in the form
+ * key,value,key,value...
+ */
+ protected OpenJPAEntityManagerFactorySPI createNamedOpenJPAEMF(final String pu,
+ String res, Map<String,Object> props) {
+ OpenJPAEntityManagerFactorySPI oemf = null;
+ Map<Object, Object> config = new HashMap<Object, Object>(System.getProperties());
+ config.putAll(props);
+ oemf = (OpenJPAEntityManagerFactorySPI) OpenJPAPersistence.createEntityManagerFactory(pu, res, props);
+ if (oemf == null) {
+ throw new NullPointerException("Expected an OpenJPA entity manager factory " +
+ "for the persistence unit named: \"" + pu + "\"");
+ }
+ return oemf;
+ }
+
protected Map<String, Object> getPropertiesMap(Object... props) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("openjpa.DynamicEnhancementAgent", "false");
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMTestCase.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMTestCase.java?rev=1006029&r1=1006028&r2=1006029&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMTestCase.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/SingleEMTestCase.java Fri Oct 8 21:23:20 2010
@@ -106,16 +106,21 @@ public abstract class SingleEMTestCase
* @return false if the EntityManager was already closed.
*/
protected boolean close() {
+ boolean brc = false;
if (em == null)
- return false;
+ return brc;
- rollback();
+ try {
+ rollback();
- if (!em.isOpen())
- return false;
-
- em.close();
- return !em.isOpen();
+ if (!em.isOpen())
+ return brc;
+ } finally {
+ em.close();
+ brc = em.isOpen();
+ em = null;
+ }
+ return !brc;
}
/**