You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by cl...@apache.org on 2008/07/12 02:20:17 UTC

svn commit: r676106 - in /db/jdo/trunk/tck2/src/java/org/apache/jdo/tck: ./ api/persistencemanagerfactory/ api/persistencemanagerfactory/config/

Author: clr
Date: Fri Jul 11 17:20:16 2008
New Revision: 676106

URL: http://svn.apache.org/viewvc?rev=676106&view=rev
Log:
JDO-555 Update pmf tests to use new method closePMF in JDO_Test

Modified:
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/JDO_Test.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseGetPMThrowsException.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/Close.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseWithoutPermissionThrowsSecurityException.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Jdoconfig.java
    db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Persistence.java

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/JDO_Test.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/JDO_Test.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/JDO_Test.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/JDO_Test.java Fri Jul 11 17:20:16 2008
@@ -563,8 +563,9 @@
         JDOException failure = null;
         while (pmf != null) {
             try {
-                if (!pmf.isClosed())
-                    pmf.close();
+                if (!pmf.isClosed()) {
+                    closePMF(pmf);
+                }
                 pmf = null;
             }
             catch (JDOException ex) {
@@ -577,6 +578,11 @@
                     cleanupPM(pms[i]);
                 }
             }
+            catch (RuntimeException ex) {
+                pmf = null;
+                ex.printStackTrace(System.out);
+                throw ex;
+            }
         }
 
         // rethrow JDOException thrown by pmf.close
@@ -584,6 +590,25 @@
             throw failure;
     }
 
+    /** Closes the pmf passed as a parameter. 
+     * This must be done in a doPrivileged block.
+     */
+    public static void closePMF(final PersistenceManagerFactory PMF) {
+        if (PMF != null) {
+            if (!PMF.isClosed()) {
+                AccessController.doPrivileged(
+                    new PrivilegedAction () {
+                        public Object run () {
+                            PMF.close();
+                            return null;
+                        }
+                    }
+                );
+            }
+        }
+    }
+
+
     /** */
     protected static PersistenceManager[] getFailedPersistenceManagers(
         String assertionFailure, JDOException ex) {

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseGetPMThrowsException.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseGetPMThrowsException.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseGetPMThrowsException.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseGetPMThrowsException.java Fri Jul 11 17:20:16 2008
@@ -62,7 +62,7 @@
     public void test() {
         try {
             pmf = getPMF();
-            pmf.close();
+            closePMF(pmf); // don't use closePMF() because that sets pmf to null
             pm = pmf.getPersistenceManager();
             fail(ASSERTION_FAILED,
                 "pmf.getPersistenceManager should throw JDOUserException if pmf is closed.");

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java Fri Jul 11 17:20:16 2008
@@ -102,7 +102,7 @@
         };
        
         pmf = getPMF();
-        pmf.close();
+        closePMF(pmf); // don't use closePMF() because that sets pmf to null
         // each set method should throw an exception
         Collection setCollection = Arrays.asList(setMethods);
         for (Iterator it = setCollection.iterator(); it.hasNext();) {

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/Close.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/Close.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/Close.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/Close.java Fri Jul 11 17:20:16 2008
@@ -63,7 +63,7 @@
                      "PMF.isClosed() returned true on an open pmf");
             }
         
-            pmf.close();
+            closePMF(pmf); // don't use closePMF() because that sets pmf to null
             
             if (!pmf.isClosed()) {
                 fail(ASSERTION_FAILED,

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java Fri Jul 11 17:20:16 2008
@@ -82,7 +82,7 @@
             pm1.currentTransaction().begin();
             pm1.currentTransaction().commit();
             pm2.currentTransaction().begin();
-            pmf.close();
+            closePMF(pmf); // don't use closePMF() because that sets pmf to null
             setAborted();
             fail(ASSERTION_FAILED,
                  "Close incorrectly succeeded with active transaction");
@@ -127,7 +127,7 @@
         if (!isAborted()) {
             try {
                 pm2.currentTransaction().commit();
-                pmf.close();
+                closePMF(pmf); // don't use closePMF() because that sets pmf to null
                 if (!pm1.isClosed()){
                     fail(ASSERTION_FAILED,
                          "Unexpected pm1 is not closed.");
@@ -147,7 +147,7 @@
     /** */
     protected void cleanupPMF(PersistenceManagerFactory pmf) {
         try {
-            pmf.close();
+            closePMF(pmf); // don't use closePMF() because that sets pmf to null
         } catch (JDOException ex) {
             PersistenceManager[] pms = getFailedPersistenceManagers(ex);
             int numberOfPersistenceManagers = pms.length;

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseWithoutPermissionThrowsSecurityException.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseWithoutPermissionThrowsSecurityException.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseWithoutPermissionThrowsSecurityException.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseWithoutPermissionThrowsSecurityException.java Fri Jul 11 17:20:16 2008
@@ -61,9 +61,8 @@
         try {
             System.setSecurityManager(new MySecurityManager());
         } catch (SecurityException se) {
-            fail(ASSERTION_FAILED,
-                "SecurityManager already set, setSecurityManager throws " +
-                se.toString());
+            // running with the TCK SecurityManager; don't run this test
+            return;
         }
 
         try {

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Jdoconfig.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Jdoconfig.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Jdoconfig.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Jdoconfig.java Fri Jul 11 17:20:16 2008
@@ -156,7 +156,7 @@
             fail(ASSERTION_FAILED,
                     "PMF.isClosed() returned true on an open pmf");
         }
-        privatePmf.close();
+        closePMF(privatePmf);
         // have next invocation of getPMF() get a new pmf
         privatePmf = null;
     }
@@ -171,7 +171,7 @@
 
         makePersistent();
 
-        privatePmf.close();
+        closePMF(privatePmf);
         if (!privatePmf.isClosed()) {
             fail(ASSERTION_FAILED,
                     "PMF.isClosed() returned false on a closed pmf");

Modified: db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Persistence.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Persistence.java?rev=676106&r1=676105&r2=676106&view=diff
==============================================================================
--- db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Persistence.java (original)
+++ db/jdo/trunk/tck2/src/java/org/apache/jdo/tck/api/persistencemanagerfactory/config/Persistence.java Fri Jul 11 17:20:16 2008
@@ -121,7 +121,7 @@
         }
         makePersistent();
 
-        pmf.close();
+        closePMF(pmf); // don't use closePMF() because that sets pmf to null
 
         if (!pmf.isClosed()) {
             fail(ASSERTION_FAILED,