| /* |
| * Copyright 2005 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.jdo.tck.api.persistencemanagerfactory; |
| |
| import java.util.Properties; |
| |
| import javax.jdo.PersistenceManager; |
| import javax.jdo.PersistenceManagerFactory; |
| |
| import org.apache.jdo.tck.JDO_Test; |
| import org.apache.jdo.tck.util.BatchTestRunner; |
| |
| |
| /** |
| *<B>Title:</B>Set optimistic of persistencemanagerfactory |
| *<BR> |
| *<B>Keywords:</B> persistencemanagerfactory |
| *<BR> |
| *<B>Assertion IDs:</B> A11.1-1, A11.1-2. |
| *<BR> |
| *<B>Assertion Description: </B> |
| PersistenceManagerFactory.getOptimistic() returns Value of the Optimistic property,persistenceManagerFactory.setOptimistic(boolean flag) sets |
| the value of the Optimistic property (the transaction mode that specifies concurrency control |
| */ |
| |
| public class SetOptimistic extends JDO_Test { |
| |
| /** */ |
| private static final String ASSERTION_FAILED = |
| "Assertion A11.1-1, A11.1-2 (SetOptimistic) failed: "; |
| |
| /** |
| * The <code>main</code> is called when the class |
| * is directly executed from the command line. |
| * @param args The arguments passed to the program. |
| */ |
| public static void main(String[] args) { |
| BatchTestRunner.run(SetOptimistic.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 Optimistic to true or false and use getOptimistic value to verify */ |
| public void test() { |
| if (!isOptimisticSupported()) { |
| if (debug) |
| logger.debug("\n SetOptimistic() passed: this implementation does not support Optimistic."); |
| return; |
| } |
| |
| Properties props = loadProperties(PMFProperties); |
| pmfClass = props.getProperty(PMFCLASS); |
| url = props.getProperty(URL); |
| username = props.getProperty(USERNAME); |
| password = props.getProperty(PASSWORD); |
| |
| try { |
| Class cl = Class.forName(pmfClass); |
| pmf = (PersistenceManagerFactory) cl.newInstance(); |
| pmf.setOptimistic(false); |
| if (pmf.getOptimistic() != false) { |
| fail(ASSERTION_FAILED, |
| "Optimistic set to false, value returned by PMF is " + |
| pmf.getOptimistic()); |
| } |
| pmf.setOptimistic(true); |
| if (pmf.getOptimistic() != true) { |
| fail(ASSERTION_FAILED, |
| "Optimistic set to true, value returned by PMF is " + |
| pmf.getOptimistic()); |
| } |
| } |
| catch (Exception ex) { |
| fail(ASSERTION_FAILED, |
| "Failed in setting Optimistic " + ex); |
| } |
| } |
| } |