Author: dwoods
Date: Wed Oct 13 15:56:51 2010
New Revision: 1022157
URL: http://svn.apache.org/viewvc?rev=1022157&view=rev
Log:
additional error handling when clear(EMF) is called
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.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=1022157&r1=1022156&r2=1022157&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
Wed Oct 13 15:56:51 2010
@@ -313,17 +313,25 @@ public abstract class AbstractPersistenc
return;
}
EntityManager em = emf.createEntityManager();
- em.getTransaction().begin();
- for (ClassMetaData meta : types) {
- if (!meta.isMapped() || meta.isEmbeddedOnly()
- || Modifier.isAbstract(meta.getDescribedType().getModifiers())
- && !isBaseManagedInterface(meta, types)) {
- continue;
+ try {
+ em.getTransaction().begin();
+ for (ClassMetaData meta : types) {
+ if (!meta.isMapped() || meta.isEmbeddedOnly()
+ ||
Modifier.isAbstract(meta.getDescribedType().getModifiers())
+ && !isBaseManagedInterface(meta, types)) {
+ continue;
+ }
+ em.createQuery("DELETE FROM " + meta.getTypeAlias() + "
o").executeUpdate();
+ }
+ em.getTransaction().commit();
+ } catch (Exception e) {
+ // ignore
+ } finally {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
}
- em.createQuery("DELETE FROM " + meta.getTypeAlias() + "
o").executeUpdate();
+ em.close();
}
- em.getTransaction().commit();
- em.close();
}
/**