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;
}
/**