blob: 34a4bde9a7316a0ec4d97ecf1828acadfac18dff [file] [log] [blame]
/*
* 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.
*/
/*
* Test_LifeCycle_Opt.java
*
* Created on August 14, 2001, 3:42 PM
*/
package org.apache.jdo.test;
import org.apache.jdo.test.util.JDORITestRunner;
/**
* Tests LifeCycle state transitions for optimistic transactions with
* retainValues flag set to true.
*
* @author Marina Vatkina
* @version
*/
public class Test_LifeCycle_Opt extends Test_LifeCycle{
/** */
public static void main(String args[]) {
JDORITestRunner.run(Test_LifeCycle_Opt.class);
}
/** Creates new Test_LifeCycle_Opt */
public Test_LifeCycle_Opt() {
int i = 0;
cases.clear();
cases.add (new Case (i++, "Transient: makeTransient, read, write", new int[] { // 0
CREATE_TRANSIENT, ASSERT_TRANSIENT
,GET_OBJECT_ID, ASSERT_TRANSIENT //
,MAKE_TRANSIENT, ASSERT_TRANSIENT // A5.9-5
,READ_FIELD, ASSERT_TRANSIENT // A5.9-13
,WRITE_FIELD, ASSERT_TRANSIENT // A5.9-16
,DELETE_PERSISTENT, CATCH_JDO_USER_EXCEPTION // A5.9-2
,MAKE_NONTRANSACTIONAL, CATCH_JDO_USER_EXCEPTION // A5.9-4
,EVICT, ASSERT_TRANSIENT // A5.9-12
,REFRESH, ASSERT_TRANSIENT // A5.9-11
}));
cases.add (new Case (i++, "Transient: read, write, commit, rollback", new int[] { // 1
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,READ_FIELD, ASSERT_TRANSIENT // A5.9-15
,WRITE_FIELD, ASSERT_TRANSIENT // A5.9-17
,MAKE_DIRTY, ASSERT_TRANSIENT // A5.9-17
,COMMIT_TRANSACTION, ASSERT_TRANSIENT // A5.9-6
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT // A5.9-8
}));
cases.add (new Case (i++, "Transient: makeTransactional, read, commit, rollback", new int[] { // 2
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_CLEAN
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_CLEAN // A5.9-88
,READ_FIELD, ASSERT_TRANSIENT_CLEAN // A5.9-99
,MAKE_TRANSIENT, ASSERT_TRANSIENT_CLEAN // A5.9-93
,DELETE_PERSISTENT, CATCH_JDO_USER_EXCEPTION // A5.9-87
,EVICT, ASSERT_TRANSIENT_CLEAN // A5.9-97
,REFRESH, ASSERT_TRANSIENT_CLEAN // A5.9-96
,COMMIT_TRANSACTION, ASSERT_TRANSIENT_CLEAN // A5.9-92
,EVICT, ASSERT_TRANSIENT_CLEAN // A5.9-97
,REFRESH, ASSERT_TRANSIENT_CLEAN // A5.9-96
,READ_FIELD, ASSERT_TRANSIENT_CLEAN // A5.9-98
,WRITE_FIELD, ASSERT_TRANSIENT_CLEAN // A5.9-101
,MAKE_DIRTY, ASSERT_TRANSIENT_CLEAN // A5.9-101
,BEGIN_TRANSACTION, ASSERT_TRANSIENT_CLEAN
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT_CLEAN // A5.9-94
}));
cases.add (new Case (i++, "TransientClean: read, write, makeTransactional, makeTransient, commit, rollback", new int[] { // 3
ASSERT_TRANSIENT_CLEAN
,BEGIN_TRANSACTION, ASSERT_TRANSIENT_CLEAN
,WRITE_FIELD, ASSERT_TRANSIENT_DIRTY // A5.9-102
,MAKE_DIRTY, ASSERT_TRANSIENT_DIRTY // A5.9-102
,READ_FIELD, ASSERT_TRANSIENT_DIRTY // A5.9-116
,EVICT, ASSERT_TRANSIENT_DIRTY // A5.9-114
,REFRESH, ASSERT_TRANSIENT_DIRTY // A5.9-113
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_DIRTY // A5.9-105
,MAKE_NONTRANSACTIONAL, CATCH_JDO_USER_EXCEPTION // A5.9-106
,MAKE_TRANSIENT, ASSERT_TRANSIENT_DIRTY // A5.9-107
,DELETE_PERSISTENT, CATCH_JDO_USER_EXCEPTION // A5.9-104
,COMMIT_TRANSACTION, ASSERT_TRANSIENT_CLEAN // A5.9-109
,BEGIN_TRANSACTION, ASSERT_TRANSIENT_CLEAN
,MAKE_DIRTY, ASSERT_TRANSIENT_DIRTY // A5.9-119
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT_CLEAN // A5.9-111
}));
cases.add (new Case (i++, "TransientClean: makeTransactional, makeNonTransactional, commit, rollback", new int[] { // 4
ASSERT_TRANSIENT_CLEAN
,BEGIN_TRANSACTION, ASSERT_TRANSIENT_CLEAN
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_CLEAN // A5.9-88
,MAKE_NONTRANSACTIONAL, ASSERT_TRANSIENT // A5.9-89
,COMMIT_TRANSACTION, ASSERT_TRANSIENT // A5.9-6
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_CLEAN
,MAKE_NONTRANSACTIONAL, ASSERT_TRANSIENT // A5.9-89
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT // A5.9-8
}));
cases.add (new Case (i++, "Transient: makeTransactional, makePersistent, rollback", new int[] { // 5
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_CLEAN
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW // A5.9-86
,EVICT, ASSERT_PERSISTENT_NEW // A5.9-29
,REFRESH, ASSERT_PERSISTENT_NEW // A5.9-28
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT // A5.9-26
}));
cases.add (new Case (i++, "Transient: makeTransactional, write, makePersistent, rollback", new int[] { // 6
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_TRANSACTIONAL, ASSERT_TRANSIENT_CLEAN
,WRITE_FIELD, ASSERT_TRANSIENT_DIRTY // A5.9-102
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW // A5.9-103
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT // A5.9-26
}));
cases.add (new Case (i++, "Transient: makePersistent, rollback", new int[] { // 7
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION , ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW // A5.9-1
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW // A5.9-18
,GET_OBJECT_ID, ASSERT_PERSISTENT_NEW // A5.9-18
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_NEW // A5.9-20
,MAKE_NONTRANSACTIONAL, CATCH_JDO_USER_EXCEPTION // A5.9-21
,MAKE_TRANSIENT, CATCH_JDO_USER_EXCEPTION // A5.9-22
,READ_FIELD, ASSERT_PERSISTENT_NEW // A5.9-31
,WRITE_FIELD, ASSERT_PERSISTENT_NEW // A5.9-34
,MAKE_DIRTY, ASSERT_PERSISTENT_NEW // A5.9-34
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT // A5.9-25
}));
cases.add (new Case (i++, "Transient: makePersistent, delete, rollback", new int[] { // 8
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,DELETE_PERSISTENT, ASSERT_PERSISTENT_NEW_DELETED // A5.9-19
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW_DELETED // A5.9-120
,DELETE_PERSISTENT, ASSERT_PERSISTENT_NEW_DELETED // A5.9-121
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_NEW_DELETED // A5.9-122
,EVICT, ASSERT_PERSISTENT_NEW_DELETED // A5.9-131
,REFRESH, ASSERT_PERSISTENT_NEW_DELETED // A5.9-130
,MAKE_TRANSIENT, CATCH_JDO_USER_EXCEPTION // A5.9-124
,MAKE_NONTRANSACTIONAL, CATCH_JDO_USER_EXCEPTION // A5.9-123
,READ_FIELD, CATCH_JDO_USER_EXCEPTION // A5.9-133
,WRITE_FIELD, CATCH_JDO_USER_EXCEPTION // A5.9-136
,MAKE_DIRTY, CATCH_JDO_USER_EXCEPTION // A5.9-136
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT // A5.9-127
}));
cases.add (new Case (i++, "Transient: makePersistent, delete, commit", new int[] { // 9
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,DELETE_PERSISTENT, ASSERT_PERSISTENT_NEW_DELETED // A5.9-19
,COMMIT_TRANSACTION, ASSERT_TRANSIENT // A5.9-125
}));
cases.add (new Case (i++, "Transient: makePersistent, commit", new int[] { // 10
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
}));
cases.add (new Case (i++, "PersistentDirty: makePersistent, makeTransactional, commit", new int[] { // 11
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,WRITE_FIELD, ASSERT_PERSISTENT_DIRTY // A5.9-170
,EVICT, ASSERT_PERSISTENT_DIRTY // A5.9-63
,WRITE_FIELD, ASSERT_PERSISTENT_DIRTY // A5.9-68
,MAKE_DIRTY, ASSERT_PERSISTENT_DIRTY // A5.9-68
,READ_FIELD, ASSERT_PERSISTENT_DIRTY // A5.9-65
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_DIRTY // A5.9-54
,MAKE_NONTRANSACTIONAL, CATCH_JDO_USER_EXCEPTION // A5.9-55
,MAKE_TRANSIENT, CATCH_JDO_USER_EXCEPTION // A5.9-56
,MAKE_PERSISTENT, ASSERT_PERSISTENT_DIRTY // A5.9-52
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-57
}));
cases.add (new Case (i++, "Nontransactional: makeNontransactional, read, write", new int[] { // 12
ASSERT_PERSISTENT_NONTRANSACTIONAL
,MAKE_NONTRANSACTIONAL, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-157
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-166
,WRITE_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-169
,MAKE_DIRTY, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-169
}));
cases.add (new Case (i++, "Nontransactional: makePersistent, makeTransactional", new int[] { // 13
ASSERT_PERSISTENT_NONTRANSACTIONAL
,MAKE_PERSISTENT, CATCH_JDO_USER_EXCEPTION // A12.5.7-1
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,REFRESH, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-164
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-154
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_CLEAN // A5.9-156
,READ_FIELD, ASSERT_PERSISTENT_CLEAN // A5.9-48
,MAKE_DIRTY, ASSERT_PERSISTENT_DIRTY // A5.9-51
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-41
}));
cases.add (new Case (i++, "PersistentDirty: rollback", new int[] { // 14
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,MAKE_DIRTY, ASSERT_PERSISTENT_DIRTY // A5.9-51
,ROLLBACK_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-59
}));
cases.add (new Case (i++, "PersistentDirty: commit", new int[] { // 15
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,MAKE_DIRTY, ASSERT_PERSISTENT_DIRTY // A5.9-51
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-41
}));
cases.add (new Case (i++, "PersistentDirty: refresh", new int[] { // 16
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,WRITE_FIELD, ASSERT_PERSISTENT_DIRTY // A5.9-51
,REFRESH, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-62
,ROLLBACK_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-59
}));
cases.add (new Case (i++, "PersistentNonTransactional: makePersistent, makeTransactional", new int[] { // 17
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-154
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_CLEAN // A5.9-37
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-40
}));
cases.add (new Case (i++, "PersistentNonTransactional: makeNontransactional", new int[] { // 18
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,MAKE_NONTRANSACTIONAL, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-38
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-160
}));
cases.add (new Case (i++, "PersistentDeleted: rollback", new int[] { // 19
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-167
,DELETE_PERSISTENT, ASSERT_PERSISTENT_DELETED // A5.9-36
,EVICT, ASSERT_PERSISTENT_DELETED // A5.9-148
,REFRESH, ASSERT_PERSISTENT_DELETED // A5.9-147
,READ_FIELD, CATCH_JDO_USER_EXCEPTION // A5.9-134
,ROLLBACK_TRANSACTION ,ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-145
}));
cases.add (new Case (i++, "PersistentDeleted: makePersistent, makeTransactional, commit", new int[] { // 20
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,GET_OBJECT_ID, ASSERT_PERSISTENT_NONTRANSACTIONAL
,DELETE_PERSISTENT, ASSERT_PERSISTENT_DELETED // A5.9-155
,MAKE_PERSISTENT, ASSERT_PERSISTENT_DELETED // A5.9-137
,DELETE_PERSISTENT, ASSERT_PERSISTENT_DELETED // A5.9-138
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_DELETED // A5.9-139
,MAKE_NONTRANSACTIONAL, CATCH_JDO_USER_EXCEPTION // A5.9-140
,MAKE_TRANSIENT, CATCH_JDO_USER_EXCEPTION // A5.9-141
,READ_FIELD, CATCH_JDO_USER_EXCEPTION // A5.9-151
,WRITE_FIELD, CATCH_JDO_USER_EXCEPTION // A5.9-153
,MAKE_DIRTY, CATCH_JDO_USER_EXCEPTION // A5.9-153
,COMMIT_TRANSACTION, ASSERT_TRANSIENT // A5.9-142
}));
cases.add (new Case (i++, "Transient: getObjectById(false), getObjectById(true), makePersistent, commit", new int[] { // 21
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,GET_OBJECT_BY_ID_WOUT_VALIDATE, ASSERT_PERSISTENT_NONTRANSACTIONAL
,READ_FIELD, CATCH_JDO_DATASTORE_EXCEPTION
,GET_OBJECT_BY_ID_WITH_VALIDATE, CATCH_JDO_DATASTORE_EXCEPTION
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,GET_OBJECT_ID, ASSERT_PERSISTENT_NEW
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
}));
cases.add (new Case (i++, "Nontransactional: getObjectById(false), getObjectById(true)", new int[] { // 22
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,GET_OBJECT_BY_ID_WOUT_VALIDATE, ASSERT_PERSISTENT_NONTRANSACTIONAL
,GET_OBJECT_BY_ID_WITH_VALIDATE, ASSERT_PERSISTENT_NONTRANSACTIONAL
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
}));
cases.add (new Case (i++, "Nontransactional: makeTransient, commit, rollback", new int[] { // 23
ASSERT_PERSISTENT_NONTRANSACTIONAL
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,MAKE_TRANSIENT, ASSERT_TRANSIENT // A5.9-158
,COMMIT_TRANSACTION, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,MAKE_TRANSIENT, ASSERT_TRANSIENT // A5.9-158
,ROLLBACK_TRANSACTION, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
,MAKE_TRANSIENT, ASSERT_TRANSIENT // A5.9-158
}));
cases.add (new Case (i++, "Nontransactional: evict", new int[] { // 24
CREATE_TRANSIENT, ASSERT_TRANSIENT
,BEGIN_TRANSACTION, ASSERT_TRANSIENT
,MAKE_PERSISTENT, ASSERT_PERSISTENT_NEW
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
,REFRESH, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-164
,EVICT, ASSERT_HOLLOW // A5.9-165
,EVICT, ASSERT_HOLLOW // A5.9-80
,REFRESH, ASSERT_HOLLOW // A5.9-79
,BEGIN_TRANSACTION, ASSERT_HOLLOW
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL
,EVICT, ASSERT_HOLLOW // A5.9-80
,REFRESH, ASSERT_HOLLOW // A5.9-79
,COMMIT_TRANSACTION, ASSERT_HOLLOW // A5.9-23
}));
cases.add (new Case (i++, "PersistentClean: evict", new int[] { // 25
ASSERT_HOLLOW
,BEGIN_TRANSACTION, ASSERT_HOLLOW
,READ_FIELD, ASSERT_PERSISTENT_NONTRANSACTIONAL
,MAKE_TRANSACTIONAL, ASSERT_PERSISTENT_CLEAN // A5.9-37
,REFRESH, ASSERT_PERSISTENT_CLEAN // A5.9-45
,EVICT, ASSERT_HOLLOW // A5.9-46
,COMMIT_TRANSACTION, ASSERT_HOLLOW // A5.9-23
}));
cases.add (new Case (i++, "Hollow: makeDirty", new int[] { // 26
ASSERT_HOLLOW
,BEGIN_TRANSACTION, ASSERT_HOLLOW
,MAKE_DIRTY, ASSERT_PERSISTENT_DIRTY // A5.9-85
,COMMIT_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-23
,BEGIN_TRANSACTION, ASSERT_PERSISTENT_NONTRANSACTIONAL
,EVICT, ASSERT_HOLLOW // A5.9-80
,COMMIT_TRANSACTION, ASSERT_HOLLOW // A5.9-23
,MAKE_DIRTY, ASSERT_PERSISTENT_NONTRANSACTIONAL // A5.9-84
}));
}
/**
* Initializes JDO startup properties with default values.
* Sub classes can overwrite this method in order to change those default
* values.
*/
protected void initProperties()
{ super.initProperties();
properties.setProperty( "javax.jdo.option.Optimistic", "true" );
}
}