This commit is way too big for its changes.

I recommend that everyone do an svn diff prior to commit to make sure that you don't have a line-end problem, such as this appears to have.

Craig

On Jan 31, 2007, at 11:27 AM, [EMAIL PROTECTED] wrote:

Author: kwsutter
Date: Wed Jan 31 11:27:11 2007
New Revision: 501955

URL: http://svn.apache.org/viewvc?view=rev&rev=501955
Log:
Simple test for OPENJPA-116. Just modified the simple TestPersistence testcase with a new variation for testing the exception on getDelegate() when the EM is closed.

Modified:
incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/ org/apache/openjpa/persistence/simple/TestPersistence.java

Modified: incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/ java/org/apache/openjpa/persistence/simple/TestPersistence.java URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa- persistence-jdbc/src/test/java/org/apache/openjpa/persistence/ simple/TestPersistence.java?view=diff&rev=501955&r1=501954&r2=501955 ====================================================================== ======== --- incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/ org/apache/openjpa/persistence/simple/TestPersistence.java (original) +++ incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/ org/apache/openjpa/persistence/simple/TestPersistence.java Wed Jan 31 11:27:11 2007
@@ -1,114 +1,134 @@
-/*
- * Copyright 2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.openjpa.persistence.simple;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.EntityTransaction;
-import javax.persistence.Persistence;
-
-import junit.framework.TestCase;
-import junit.textui.TestRunner;
-import org.apache.openjpa.persistence.OpenJPAEntityManager;
-
-/**
- * Simple test case to get an EntityManager and perform some basic operations.
- *
- * @author Marc Prud'hommeaux
- */
-public class TestPersistence
-    extends TestCase {
-
-    private EntityManagerFactory emf;
-
-    public void setUp() {
-        Map props = new HashMap(System.getProperties());
-        props.put("openjpa.MetaDataFactory",
-            "jpa(Types=" + AllFieldTypes.class.getName() + ")");
-        emf = Persistence.createEntityManagerFactory("test", props);
-    }
-
-    public void tearDown() {
-        if (emf == null)
-            return;
-        try {
-            EntityManager em = emf.createEntityManager();
-            em.getTransaction().begin();
- em.createQuery("delete from AllFieldTypes").executeUpdate();
-            em.getTransaction().commit();
-            em.close();
-            emf.close();
-        } catch (Exception e) {
-        }
-    }
-
-    public void testCreateEntityManager() {
-        EntityManager em = emf.createEntityManager();
-
-        EntityTransaction t = em.getTransaction();
-        assertNotNull(t);
-        t.begin();
-        t.setRollbackOnly();
-        t.rollback();
-
-        // openjpa-facade test
-        assertTrue(em instanceof OpenJPAEntityManager);
-        OpenJPAEntityManager ojem = (OpenJPAEntityManager) em;
-        ojem.getFetchPlan().setMaxFetchDepth(1);
-        assertEquals(1, ojem.getFetchPlan().getMaxFetchDepth());
-        em.close();
-    }
-
-    public void testPersist() {
-        EntityManager em = emf.createEntityManager();
-        em.getTransaction().begin();
-        em.persist(new AllFieldTypes());
-        em.getTransaction().commit();
-        em.close();
-    }
-
-    public void testQuery() {
-        EntityManager em = emf.createEntityManager();
-        em.getTransaction().begin();
-        AllFieldTypes aft = new AllFieldTypes();
-        aft.setStringField("foo");
-        aft.setIntField(10);
-        em.persist(aft);
-        em.getTransaction().commit();
-        em.close();
-
-        em = emf.createEntityManager();
-        em.getTransaction().begin();
-        assertEquals(1, em.createQuery
- ("select x from AllFieldTypes x where x.stringField = 'foo'").
-            getResultList().size());
-        assertEquals(0, em.createQuery
- ("select x from AllFieldTypes x where x.stringField = 'bar'").
-            getResultList().size());
-        assertEquals(1, em.createQuery
-            ("select x from AllFieldTypes x where x.intField >= 10").
-            getResultList().size());
-        em.getTransaction().rollback();
-        em.close();
-    }
-
-    public static void main(String[] args) {
-        TestRunner.run(TestPersistence.class);
-    }
-}
-
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openjpa.persistence.simple;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+import org.apache.openjpa.persistence.OpenJPAEntityManager;
+
+/**
+ * Simple test case to get an EntityManager and perform some basic operations.
+ *
+ * @author Marc Prud'hommeaux
+ */
+public class TestPersistence
+    extends TestCase {
+
+    private EntityManagerFactory emf;
+
+    public void setUp() {
+        Map props = new HashMap(System.getProperties());
+        props.put("openjpa.MetaDataFactory",
+            "jpa(Types=" + AllFieldTypes.class.getName() + ")");
+        emf = Persistence.createEntityManagerFactory("test", props);
+    }
+
+    public void tearDown() {
+        if (emf == null)
+            return;
+        try {
+            EntityManager em = emf.createEntityManager();
+            em.getTransaction().begin();
+ em.createQuery("delete from AllFieldTypes").executeUpdate();
+            em.getTransaction().commit();
+            em.close();
+            emf.close();
+        } catch (Exception e) {
+        }
+    }
+
+    public void testCreateEntityManager() {
+        EntityManager em = emf.createEntityManager();
+
+        EntityTransaction t = em.getTransaction();
+        assertNotNull(t);
+        t.begin();
+        t.setRollbackOnly();
+        t.rollback();
+
+        // openjpa-facade test
+        assertTrue(em instanceof OpenJPAEntityManager);
+        OpenJPAEntityManager ojem = (OpenJPAEntityManager) em;
+        ojem.getFetchPlan().setMaxFetchDepth(1);
+        assertEquals(1, ojem.getFetchPlan().getMaxFetchDepth());
+        em.close();
+    }
+
+    public void testPersist() {
+        EntityManager em = emf.createEntityManager();
+        em.getTransaction().begin();
+        em.persist(new AllFieldTypes());
+        em.getTransaction().commit();
+        em.close();
+    }
+
+    public void testQuery() {
+        EntityManager em = emf.createEntityManager();
+        em.getTransaction().begin();
+        AllFieldTypes aft = new AllFieldTypes();
+        aft.setStringField("foo");
+        aft.setIntField(10);
+        em.persist(aft);
+        em.getTransaction().commit();
+        em.close();
+
+        em = emf.createEntityManager();
+        em.getTransaction().begin();
+        assertEquals(1, em.createQuery
+ ("select x from AllFieldTypes x where x.stringField = 'foo'").
+            getResultList().size());
+        assertEquals(0, em.createQuery
+ ("select x from AllFieldTypes x where x.stringField = 'bar'").
+            getResultList().size());
+        assertEquals(1, em.createQuery
+            ("select x from AllFieldTypes x where x.intField >= 10").
+            getResultList().size());
+        em.getTransaction().rollback();
+        em.close();
+    }
+
+    /**
+ * Ensures that an IllegalStateException is thrown if getDelegate is called
+     * after closing the EntityManager.
+     */
+    public void testGetDelegateAfterClose() {
+        EntityManager em = emf.createEntityManager();
+
+        em.close();
+
+        try {
+            Object o = em.getDelegate();
+            fail();
+        }
+        catch(IllegalStateException ise) {
+            /*
+ * An IllegalStateException is expected. Nothing to do here.
+             */
+        }
+    }
+
+    public static void main(String[] args) {
+        TestRunner.run(TestPersistence.class);
+    }
+}
+



Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to