Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetNonTransactionalWrite.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetNonTransactionalWrite.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetNonTransactionalWrite.java (Arbeitskopie) @@ -51,6 +51,11 @@ private static final String ASSERTION_FAILED = "Assertions A11.1-9,A11.1-10 (SetNonTransactionalWrite) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -60,19 +65,6 @@ BatchTestRunner.run(SetNonTransactionalWrite.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - - /** set NonTransactionalWrite to true or false and use getNonTransactionalWrite value to verify */ public void test () { if (!isNontransactionalWriteSupported()) { @@ -82,10 +74,11 @@ } Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; try { Class cl = Class.forName(pmfClass); @@ -105,6 +98,9 @@ } catch (Exception ex) { fail(ASSERTION_FAILED, "Failed in setting NonTransactionalWrite " + ex); + } finally { + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } } Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetMultithreaded.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetMultithreaded.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetMultithreaded.java (Arbeitskopie) @@ -51,6 +51,11 @@ private static final String ASSERTION_FAILED = "Assertions A11.1-11,A11.1-12 (SetMultithreaded) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -60,25 +65,14 @@ BatchTestRunner.run(SetMultithreaded.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - /** set Multithreaded to true or false and use getMultithreaded value to verify */ public void test() { Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; try { Class cl = Class.forName(pmfClass); @@ -95,10 +89,12 @@ "Multithreaded set to false, value returned by PMF is " + pmf.getMultithreaded()); } - } - catch (Exception ex) { + } catch (Exception ex) { fail(ASSERTION_FAILED, "Failed in setting Multithreaded " + ex); + } finally { + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } } Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetRetainValues.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetRetainValues.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetRetainValues.java (Arbeitskopie) @@ -52,6 +52,11 @@ private static final String ASSERTION_FAILED = "Assertion A11.1-3,A11.1-4 (SetRetainValues) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -61,26 +66,15 @@ BatchTestRunner.run(SetRetainValues.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - /** set RetainValues to true or false and use getRetainValues value to verify */ public void test() { Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); - + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; + try { Class cl = Class.forName(pmfClass); pmf = (PersistenceManagerFactory) cl.newInstance(); @@ -99,6 +93,9 @@ } catch (Exception ex) { fail(ASSERTION_FAILED, "Failed in setting RetainValues " + ex); + } finally { + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } } Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/GetPersistenceManager.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/GetPersistenceManager.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/GetPersistenceManager.java (Arbeitskopie) @@ -52,6 +52,11 @@ private static final String ASSERTION_FAILED = "Assertion A11.3-1 (GetPersistenceManager) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -61,26 +66,16 @@ BatchTestRunner.run(GetPersistenceManager.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - - + /** */ public void test() { Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); - + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; + PersistenceManager pm = null; + try { Class cl = Class.forName(pmfClass); pmf = (PersistenceManagerFactory) cl.newInstance(); @@ -90,12 +85,15 @@ pm = pmf.getPersistenceManager(); } catch (Exception ex) { - fail(ASSERTION_FAILED, + fail(ASSERTION_FAILED, "unexpected exception " + ex); } finally { if (debug) logger.debug("Persistence Manager obtained: " + pm); - if (pm != null) pm.close(); + if ((pm != null) && !pm.isClosed()) + pm.close(); + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } } Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetIgnoreCache.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetIgnoreCache.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetIgnoreCache.java (Arbeitskopie) @@ -50,6 +50,11 @@ private static final String ASSERTION_FAILED = "Assertion A11.1-5 (SetIgnoreCache) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -59,26 +64,14 @@ BatchTestRunner.run(SetIgnoreCache.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - - /** set IgnoreCache to true or false and use getIgnoreCache value to verify */ public void test() { Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; try { Class cl = Class.forName(pmfClass); @@ -98,6 +91,9 @@ } catch (Exception ex) { fail(ASSERTION_FAILED, "Failed in setting IgnoreCache" + ex); + } finally { + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } } Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/GetPersistenceManagerForUser.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/GetPersistenceManagerForUser.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/GetPersistenceManagerForUser.java (Arbeitskopie) @@ -52,6 +52,11 @@ private static final String ASSERTION_FAILED = "Assertion A11.3-2 (GetPersistenceManagerForUser) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -60,25 +65,16 @@ public static void main(String[] args) { BatchTestRunner.run(GetPersistenceManagerForUser.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - /** */ public void test() { Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; + PersistenceManager pm = null; try { Class cl = Class.forName(pmfClass); @@ -92,7 +88,10 @@ } finally { if (debug) logger.debug("Persistence Manager obtained: " + pm); - if (pm != null) pm.close(); + if ((pm != null) && !pm.isClosed()) + pm.close(); + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } } Index: src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetNonTransactionalRead.java =================================================================== --- src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetNonTransactionalRead.java (Revision 425660) +++ src/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetNonTransactionalRead.java (Arbeitskopie) @@ -51,6 +51,11 @@ private static final String ASSERTION_FAILED = "Assertions A11.1-7,A11.1-8 (SetNonTransactionalRead) failed: "; + private static final String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; + private static final String URL = "javax.jdo.option.ConnectionURL"; + private static final String USERNAME = "javax.jdo.option.ConnectionUserName"; + private static final String PASSWORD = "javax.jdo.option.ConnectionPassword"; + /** * The main is called when the class * is directly executed from the command line. @@ -60,26 +65,14 @@ BatchTestRunner.run(SetNonTransactionalRead.class); } - private PersistenceManagerFactory pmf; - private PersistenceManager pm; - private String pmfClass; - private String url; - private String username; - private String password; - - private static String PMFCLASS = "javax.jdo.PersistenceManagerFactoryClass"; - private static String URL = "javax.jdo.option.ConnectionURL"; - private static String USERNAME = "javax.jdo.option.ConnectionUserName"; - private static String PASSWORD = "javax.jdo.option.ConnectionPassword"; - - /** set NonTransactionalRead to true or false and use getNonTransactionalRead value to verify */ public void test() { Properties props = loadProperties(PMFProperties); - pmfClass = props.getProperty(PMFCLASS); - url = props.getProperty(URL); - username = props.getProperty(USERNAME); - password = props.getProperty(PASSWORD); + String pmfClass = props.getProperty(PMFCLASS); + String url = props.getProperty(URL); + String username = props.getProperty(USERNAME); + String password = props.getProperty(PASSWORD); + PersistenceManagerFactory pmf = null; try { Class cl = Class.forName(pmfClass); @@ -100,6 +93,9 @@ catch (Exception ex) { fail(ASSERTION_FAILED, "Failed in setting NonTransactionalRead " + ex); + } finally { + if ((pmf != null) && !pmf.isClosed()) + pmf.close(); } } }