[hibernate-commits] Hibernate SVN: r20080 - entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Jul 30 02:11:47 EDT 2010


Author: stliu
Date: 2010-07-30 02:11:46 -0400 (Fri, 30 Jul 2010)
New Revision: 20080

Modified:
   entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/PackagedEntityManagerTest.java
Log:
JBPAPP-4760 clean db tables after each test

Modified: entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/PackagedEntityManagerTest.java
===================================================================
--- entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/PackagedEntityManagerTest.java	2010-07-30 03:39:45 UTC (rev 20079)
+++ entitymanager/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/ejb/test/PackagedEntityManagerTest.java	2010-07-30 06:11:46 UTC (rev 20080)
@@ -37,20 +37,10 @@
  * @author Gavin King
  */
 @SuppressWarnings("unchecked")
-public class PackagedEntityManagerTest extends TestCase {
+public class PackagedEntityManagerTest extends junit.framework.TestCase {
 
-	public Class[] getAnnotatedClasses() {
-		return new Class[] {Item.class,Distributor.class
-		};
-	}
-
-	@Override
-	protected void buildConfiguration() throws Exception {
-		super.buildConfiguration();
-		factory = Persistence.createEntityManagerFactory( "manager1" );
-	}
-
 	public void testDefaultPar() throws Exception {
+		
 		EntityManagerFactory emf = Persistence.createEntityManagerFactory( "defaultpar", new HashMap() );
 		EntityManager em = emf.createEntityManager();
 		ApplicationServer as = new ApplicationServer();
@@ -358,7 +348,48 @@
 		em.getTransaction().rollback();
 		em.close();
 	}
+	private EntityManagerFactory factory;
+	private EntityManager em;
+	@Override
+	protected void setUp() throws Exception {
+		super.setUp();
+		factory = Persistence.createEntityManagerFactory( "manager1" );
+	}
 
+	@Override
+	protected void tearDown() throws Exception {
+		handleUnclosedResources();
+	}
+
+	protected void handleUnclosedResources() {
+		try {
+			cleanUnclosed( this.em );
+		} catch ( Exception ignore ) {
+		}
+		if(factory!=null){
+			factory.close();
+			factory=null;
+		}
+	}
+	private void cleanUnclosed(EntityManager em) {
+		if ( em == null ) {
+			return;
+		}
+		if ( em.getTransaction().isActive() ) {
+			em.getTransaction().rollback();
+		}
+		if ( em.isOpen() ) {
+			em.close();
+		}
+		em = null;
+	}
+	protected EntityManager getOrCreateEntityManager() {
+		if ( em == null || !em.isOpen() ) {
+			em = factory.createEntityManager();
+		}
+		return em;
+	}
+
 	public PackagedEntityManagerTest() {
 		super();
 	}



More information about the hibernate-commits mailing list