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 mb...@apache.org on 2005/07/15 19:45:06 UTC

svn commit: r219225 [1/2] - in /incubator/jdo/trunk/tck20: ./ test/conf/ test/java/org/apache/jdo/tck/ test/java/org/apache/jdo/tck/api/persistencecapable/ test/java/org/apache/jdo/tck/pc/singlefieldidentity/ test/java/org/apache/jdo/tck/util/ test/jdo...

Author: mbo
Date: Fri Jul 15 10:45:04 2005
New Revision: 219225

URL: http://svn.apache.org/viewcvs?rev=219225&view=rev
Log:
Added new test case for assertions A7.12-38, A7.12-39, A7.12-25. Submitted by Michael Watzek

Added:
    incubator/jdo/trunk/tck20/test/conf/jndi.properties
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/AbstractPCPointSingleField.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldByte.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldCharacter.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldDate.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldInteger.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldLong.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivebyte.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivechar.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitiveint.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivelong.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitiveshort.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldShort.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldString.java
    incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/
    incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
    incubator/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/
    incubator/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
Modified:
    incubator/jdo/trunk/tck20/maven.xml
    incubator/jdo/trunk/tck20/project.properties
    incubator/jdo/trunk/tck20/test/conf/alltests.conf
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/util/BatchResultPrinter.java
    incubator/jdo/trunk/tck20/test/sql/derby/applicationidentity/schema.sql

Modified: incubator/jdo/trunk/tck20/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/maven.xml?rev=219225&r1=219224&r2=219225&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/maven.xml (original)
+++ incubator/jdo/trunk/tck20/maven.xml Fri Jul 15 10:45:04 2005
@@ -519,6 +519,8 @@
         <pathelement location="${dbcp.jarfile}"/>
         <pathelement location="${pool.jarfile}"/>
         <pathelement location="${collections.jarfile}"/>
+        <!-- Jar files for jndi -->
+        <pathelement path="${jndi}"/>
     </path>
 
     <!-- ==== -->
@@ -544,6 +546,7 @@
                <include name="commons-logging.properties"/>
                <include name="simplelog.properties"/>
                <include name="logging.properties"/>
+               <include name="jndi.properties"/>
             </fileset>
             <fileset dir="${basedir}/test/java">
                 <include name="**/*.xml"/>

Modified: incubator/jdo/trunk/tck20/project.properties
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/project.properties?rev=219225&r1=219224&r2=219225&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/project.properties (original)
+++ incubator/jdo/trunk/tck20/project.properties Fri Jul 15 10:45:04 2005
@@ -81,6 +81,9 @@
 pool.jarfile = ${pom.getDependencyPath('commons-pool')}
 collections.jarfile = ${pom.getDependencyPath('commons-collections')}
 
+# jndi dependencies
+jndi = ${basedir}/fscontext.jar${path.separator}${basedir}/providerutil.jar
+
 jdo.tck.pcclasses.sources = \
     org/apache/jdo/tck/pc/lifecycle/StateTransitionObj.java \
     org/apache/jdo/tck/pc/company/Address.java \
@@ -158,7 +161,18 @@
     org/apache/jdo/tck/pc/mylib/PCRect.java \
     org/apache/jdo/tck/pc/mylib/PrimitiveTypes.java \
     org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackClass.java \
-    org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.java
+    org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivebyte.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldByte.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivechar.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldCharacter.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitiveint.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldInteger.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivelong.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldLong.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitiveshort.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldShort.java \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldString.java
 
 jdo.tck.pcclasses.files = \
     org/apache/jdo/tck/pc/lifecycle/StateTransitionObj.class \
@@ -237,7 +251,18 @@
     org/apache/jdo/tck/pc/mylib/PCRect.class \
     org/apache/jdo/tck/pc/mylib/PrimitiveTypes.class \
     org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackClass.class \
-    org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.class
+    org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivebyte.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldByte.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivechar.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldCharacter.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitiveint.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldInteger.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitivelong.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldLong.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldPrimitiveshort.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldShort.class \
+    org/apache/jdo/tck/pc/singlefieldidentity/PCPointSingleFieldString.class
 
 jdo.tck.paclasses.sources = \
     org/apache/jdo/tck/models/inheritance/FieldWithSameNameInSuperclass.java \
@@ -323,4 +348,5 @@
     org/apache/jdo/tck/pc/instancecallbacks/package.jdo \
     org/apache/jdo/tck/pc/lifecycle/StateTransitionObj.jdo \
     org/apache/jdo/tck/pc/mylib/package.jdo \
+    org/apache/jdo/tck/pc/singlefieldidentity/package.jdo \
     org/apache/jdo/tck/package.jdo

Modified: incubator/jdo/trunk/tck20/test/conf/alltests.conf
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/conf/alltests.conf?rev=219225&r1=219224&r2=219225&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/conf/alltests.conf (original)
+++ incubator/jdo/trunk/tck20/test/conf/alltests.conf Fri Jul 15 10:45:04 2005
@@ -1,347 +1,359 @@
-jdo.tck.description = All standard tests with standard mapping, no testdata. 
-jdo.tck.testdata = 
-jdo.tck.standarddata = 
-jdo.tck.mapping = 0
-jdo.tck.classes = \
-org.apache.jdo.tck.api.instancecallbacks.AccessOtherInstancesInPrestore \
-org.apache.jdo.tck.api.instancecallbacks.AccessingFieldsInPredelete \
-org.apache.jdo.tck.api.instancecallbacks.CallingJdoPostload \
-org.apache.jdo.tck.api.instancecallbacks.CallingJdoPreclear \
-org.apache.jdo.tck.api.instancecallbacks.CallingJdoPredelete \
-org.apache.jdo.tck.api.instancecallbacks.CallingJdoPrestore \
-org.apache.jdo.tck.api.instancecallbacks.ModificationOfNontransactionalNonpersistentFields \
-org.apache.jdo.tck.api.instancecallbacks.NoAccessToFieldsAfterPredelete \
-org.apache.jdo.tck.api.jdohelper.GetObjectId \
-org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull \
-org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient \
-org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.GetPersistenceManager \
-org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull \
-org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient \
-org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId \
-org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull \
-org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient \
-org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.IsDeleted \
-org.apache.jdo.tck.api.jdohelper.IsDeletedFalse \
-org.apache.jdo.tck.api.jdohelper.IsDeletedForNull \
-org.apache.jdo.tck.api.jdohelper.IsDeletedForTransient \
-org.apache.jdo.tck.api.jdohelper.IsDeletedNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.IsDirty \
-org.apache.jdo.tck.api.jdohelper.IsDirtyFalse \
-org.apache.jdo.tck.api.jdohelper.IsDirtyForNull \
-org.apache.jdo.tck.api.jdohelper.IsDirtyForTransient \
-org.apache.jdo.tck.api.jdohelper.IsDirtyNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.IsNew \
-org.apache.jdo.tck.api.jdohelper.IsNewFalse \
-org.apache.jdo.tck.api.jdohelper.IsNewForNull \
-org.apache.jdo.tck.api.jdohelper.IsNewForTransient \
-org.apache.jdo.tck.api.jdohelper.IsNewNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.IsPersistent \
-org.apache.jdo.tck.api.jdohelper.IsPersistentFalse \
-org.apache.jdo.tck.api.jdohelper.IsPersistentForNull \
-org.apache.jdo.tck.api.jdohelper.IsPersistentForTransient \
-org.apache.jdo.tck.api.jdohelper.IsPersistentNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.IsTransactional \
-org.apache.jdo.tck.api.jdohelper.IsTransactionalFalse \
-org.apache.jdo.tck.api.jdohelper.IsTransactionalForNull \
-org.apache.jdo.tck.api.jdohelper.IsTransactionalForTransient \
-org.apache.jdo.tck.api.jdohelper.IsTransactionalNotPersistenceCapable \
-org.apache.jdo.tck.api.jdohelper.MakeDirty \
-org.apache.jdo.tck.api.jdohelper.MakeDirtyForNull \
-org.apache.jdo.tck.api.jdohelper.MakeDirtyForTransient \
-org.apache.jdo.tck.api.jdohelper.MakeDirtyNotPersistenceCapable \
-org.apache.jdo.tck.api.persistencemanager.close.AfterCloseAllMethodsThrowException \
-org.apache.jdo.tck.api.persistencemanager.cache.CallingEvictAllWithCollectionContainingNulls \
-org.apache.jdo.tck.api.persistencemanager.cache.CallingRefreshAllWithCollectionContainingNulls \
-org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllWithNoParameters \
-org.apache.jdo.tck.api.persistencemanager.ChangingObjectIdHasNoEffectOnInstance \
-org.apache.jdo.tck.api.persistencemanager.close.CloseThrowsExceptionWhenActiveTx \
-org.apache.jdo.tck.api.persistencemanager.ConcurrentPersistenceManagers \
-org.apache.jdo.tck.api.persistencemanager.ConcurrentPersistenceManagersSameClasses \
-org.apache.jdo.tck.api.persistencemanager.CurrentTransaction \
-org.apache.jdo.tck.api.persistencemanager.DeletePersistent \
-org.apache.jdo.tck.api.persistencemanager.DeletePersistentAllFails \
-org.apache.jdo.tck.api.persistencemanager.DeletePersistentFailsIfInstanceIsTransient \
-org.apache.jdo.tck.api.persistencemanager.DeletePersistentFailsIfInstanceManagedByAnotherPersistenceManager \
-org.apache.jdo.tck.api.persistencemanager.DeletePersistentHasNoEffectOnDeletedInstances \
-org.apache.jdo.tck.api.persistencemanager.cache.EvictAllWithNoParameters \
-org.apache.jdo.tck.api.persistencemanager.cache.EvictingCollectionOfInstancesSideEffects \
-org.apache.jdo.tck.api.persistencemanager.cache.EvictingWithRestoreValuesFalse \
-org.apache.jdo.tck.api.persistencemanager.cache.EvictingWithRetainValuesFalse \
-org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability \
-org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithNoSubclasses \
-org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses \
-org.apache.jdo.tck.api.persistencemanager.flags.GetIgnoreCache \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectById \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceInCache \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceInCacheNoStateChange \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceNotInCache \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceNotInCacheNoTx \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceNotInDatastore \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNotResolved \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdWithValidationInstanceInCache \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdWithValidationInstanceInCacheNotInDatastore \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdWithValidationInstanceNotInCacheNotInDatastore \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectId \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdClass \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdClassForAbstractOrNonPersistenceCapableClass \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdForNullOrNotPersistent \
-org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdWithApplicationModifyingIdentity \
-org.apache.jdo.tck.api.persistencemanager.GetPersistenceManagerFactory \
-org.apache.jdo.tck.api.persistencemanager.GetSetUserObject \
-org.apache.jdo.tck.api.persistencemanager.GetTransactionalObjectIdWhenObjectIdBeingChanged \
-org.apache.jdo.tck.api.persistencemanager.GetTransactionalObjectIdWithNoTransaction \
-org.apache.jdo.tck.api.persistencemanager.close.IsClosedIsFalseUponConstruction \
-org.apache.jdo.tck.api.persistencemanager.close.IsClosedIsFalseUponRetrievalFromPool \
-org.apache.jdo.tck.api.persistencemanager.close.IsClosedIsTrueAfterClose \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalAllFails \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalDirtyInstance \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalIsImmediate \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalPersistentCleanInstance \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalTransientCleanInstance \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistent \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAllFails \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAssignsObjectId \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentFailsIfInstanceManagedByAnotherPersistenceManager \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentHasNoEffectOnPersistentInstances \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactional \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalANontransactionalPersistentInstance \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalAllFails \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalIsImmediate \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalPriorToTransactionRolledback \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalWithinTransactionRolledback \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransient \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientAllFails \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientCausesLossOfIdentity \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientFailsWithDirtyInstance \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientFieldsPreservedUnchanged \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientHasNoEffectOnTransientInstances \
-org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientNotSubjectToRollback \
-org.apache.jdo.tck.api.persistencemanager.NoPersistenceManagerIfTransient \
-org.apache.jdo.tck.api.persistencemanager.ObjectIdUniqueAmongInstances \
-org.apache.jdo.tck.api.persistencemanager.OneInstanceOfObjectPerPersistenceManager \
-org.apache.jdo.tck.api.persistencemanager.OnePersistenceManagerIfPersistentOrTransactional \
-org.apache.jdo.tck.api.persistencemanager.OptimisticFailure \
-org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToEvictAllThrowsException \
-org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToEvictHasNoEffect \
-org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToRefreshAllThrowsException \
-org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToRefreshHasNoEffect \
-org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllNoParameterSideEffects \
-org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllWithArraySideEffects \
-org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllWithCollectionSideEffects \
-org.apache.jdo.tck.api.persistencemanager.cache.RefreshSideEffects \
-org.apache.jdo.tck.api.persistencemanager.cache.Retrieve \
-org.apache.jdo.tck.api.persistencemanager.SameTransactionInstanceForAllCallsToCurrentTransaction \
-org.apache.jdo.tck.api.persistencemanager.flags.SetIgnoreCacheToFalse \
-org.apache.jdo.tck.api.persistencemanager.flags.SetIgnoreCacheToTrue \
-org.apache.jdo.tck.api.persistencemanager.flags.SetMultithreadedFalse \
-org.apache.jdo.tck.api.persistencemanager.flags.SetMultithreadedTrue \
-org.apache.jdo.tck.api.persistencemanager.flags.SettingFlagsWithTransactionInstance \
-org.apache.jdo.tck.api.persistencemanager.ThreadSafe \
-org.apache.jdo.tck.api.persistencemanager.TransientTransactionalInstanceRetainsValuesAtCommit \
-org.apache.jdo.tck.api.persistencemanagerfactory.AfterCloseGetPMThrowsException \
-org.apache.jdo.tck.api.persistencemanagerfactory.AfterCloseSetMethodsThrowException \
-org.apache.jdo.tck.api.persistencemanagerfactory.AfterGetPersistenceManagerNoSetMethodsSucceed \
-org.apache.jdo.tck.api.persistencemanagerfactory.Close \
-org.apache.jdo.tck.api.persistencemanagerfactory.CloseFailsIfTransactionActive \
-org.apache.jdo.tck.api.persistencemanagerfactory.CloseWithoutPermissionThrowsSecurityException \
-org.apache.jdo.tck.api.persistencemanagerfactory.GetPersistenceManager \
-org.apache.jdo.tck.api.persistencemanagerfactory.GetPersistenceManagerFactoryByPropertiesInstance \
-org.apache.jdo.tck.api.persistencemanagerfactory.GetPersistenceManagerForUser \
-org.apache.jdo.tck.api.persistencemanagerfactory.GetProperties \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetConnectionPassword \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetConnectionURL \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetConnectionUserName \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetIgnoreCache \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetMultithreaded \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetNonTransactionalRead \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetNonTransactionalWrite \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetOptimistic \
-org.apache.jdo.tck.api.persistencemanagerfactory.SetRetainValues \
-org.apache.jdo.tck.api.persistencemanagerfactory.SupportedOptions \
-org.apache.jdo.tck.extents.CloseAll \
-org.apache.jdo.tck.extents.CloseOfExtentIteratorIsIteratorSpecific \
-org.apache.jdo.tck.extents.GetCandidateClass \
-org.apache.jdo.tck.extents.GetPersistenceManager \
-org.apache.jdo.tck.extents.HasSubclassesFalse \
-org.apache.jdo.tck.extents.HasSubclassesTrue \
-org.apache.jdo.tck.extents.InstancesDeletedPriorToIterationNotReturned \
-org.apache.jdo.tck.extents.InstancesPersistedPriorToIterationReturned \
-org.apache.jdo.tck.extents.IteratorHasNextFalseAfterExtentClose \
-org.apache.jdo.tck.extents.IteratorMutatingMethods \
-org.apache.jdo.tck.extents.IteratorNextAfterExtentClose \
-org.apache.jdo.tck.extents.IteratorNextAfterExtentCloseAll \
-org.apache.jdo.tck.extents.Iterators \
-org.apache.jdo.tck.lifecycle.HollowInstanceMaintainsPK \
-org.apache.jdo.tck.lifecycle.MultiplePMsReturnInstancesRepresentingSamePC \
-org.apache.jdo.tck.lifecycle.ObjectIdNotModifiedWhenObjectIdInstanceModified \
-org.apache.jdo.tck.lifecycle.PMReturnsIdenticalInstancesForEqualObjIds \
-org.apache.jdo.tck.lifecycle.PMsCanSharePCClassesButNotPCInstances \
-org.apache.jdo.tck.lifecycle.StateTransitions \
-org.apache.jdo.tck.lifecycle.TransientTransactionalStateCommit \
-org.apache.jdo.tck.lifecycle.TransientTransactionalStateRollback \
-org.apache.jdo.tck.lifecycle.nontransactional.ModificationOfNontransactionalInstanceOutsideTransaction \
-org.apache.jdo.tck.models.embedded.SecondClassObjectsTrackTheirChanges  \
-org.apache.jdo.tck.models.fieldtypes.TestArrayCollections \
-org.apache.jdo.tck.models.fieldtypes.TestArrayListCollections \
-org.apache.jdo.tck.models.fieldtypes.TestCollectionCollections \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfBigDecimal \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfBigInteger \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfBoolean \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfByte \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfCharacter \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfDate \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfDouble \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfFloat \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfInteger \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfLocale \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfLong \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfObject \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitiveboolean \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivebyte \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivechar \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivedouble \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivefloat \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitiveint \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivelong \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitiveshort \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfShort \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfSimpleClass \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfSimpleInterface \
-org.apache.jdo.tck.models.fieldtypes.TestFieldsOfString \
-org.apache.jdo.tck.models.fieldtypes.TestHashMapStringKeyCollections \
-org.apache.jdo.tck.models.fieldtypes.TestHashMapStringValueCollections \
-org.apache.jdo.tck.models.fieldtypes.TestHashSetCollections \
-org.apache.jdo.tck.models.fieldtypes.TestHashtableStringKeyCollections \
-org.apache.jdo.tck.models.fieldtypes.TestHashtableStringValueCollections \
-org.apache.jdo.tck.models.fieldtypes.TestLinkedListCollections \
-org.apache.jdo.tck.models.fieldtypes.TestListCollections \
-org.apache.jdo.tck.models.fieldtypes.TestMapStringKeyCollections \
-org.apache.jdo.tck.models.fieldtypes.TestMapStringValueCollections \
-org.apache.jdo.tck.models.fieldtypes.TestSetCollections \
-org.apache.jdo.tck.models.fieldtypes.TestTreeMapStringKeyCollections \
-org.apache.jdo.tck.models.fieldtypes.TestTreeMapStringValueCollections \
-org.apache.jdo.tck.models.fieldtypes.TestTreeSetCollections \
-org.apache.jdo.tck.models.fieldtypes.TestVectorCollections \
-org.apache.jdo.tck.models.inheritance.FieldWithSameNameInSuperclass \
-org.apache.jdo.tck.models.inheritance.NonPersistentFieldsAreNonPersistentInSubclasses \
-org.apache.jdo.tck.models.inheritance.NonpersistentSuperClass \
-org.apache.jdo.tck.models.inheritance.PersistenceCapableFlexibilityInInheritanceHierarchy \
-org.apache.jdo.tck.models.inheritance.PersistentFieldsArePersistentInSubClasses \
-org.apache.jdo.tck.models.inheritance.TransactionalFieldsAreTransactionalInSubclasses \
-org.apache.jdo.tck.query.AssignmentPrePostIncrementDecrementNotSupported \
-org.apache.jdo.tck.query.BoundParameterCheck \
-org.apache.jdo.tck.query.Cast \
-org.apache.jdo.tck.query.Close \
-org.apache.jdo.tck.query.CloseAll \
-org.apache.jdo.tck.query.ComparingCollectionFieldToNull \
-org.apache.jdo.tck.query.ComparingPersistentAndNonPersistentInstance \
-org.apache.jdo.tck.query.CompileQuery \
-org.apache.jdo.tck.query.DeclareImports \
-org.apache.jdo.tck.query.DeclareParameters \
-org.apache.jdo.tck.query.DeclareVariables \
-org.apache.jdo.tck.query.DenoteUniquenessInFilter \
-org.apache.jdo.tck.query.ExecuteQuery \
-org.apache.jdo.tck.query.ExecuteQueryWhenPersistenceManagerIsClosed \
-org.apache.jdo.tck.query.ExecuteQueryWithArray \
-org.apache.jdo.tck.query.ExecuteQueryWithMap \
-org.apache.jdo.tck.query.ExecutingMultipleQueriesSimultaneouslyIsThreadSafe \
-org.apache.jdo.tck.query.ExecutingQueryWhenNoTransactionNoNontransactionalRead \
-org.apache.jdo.tck.query.GetIgnoreCache \
-org.apache.jdo.tck.query.GetPersistenceManager \
-org.apache.jdo.tck.query.GetPersistenceManagerFromRestoredSerializedQuery \
-org.apache.jdo.tck.query.IgnoreCacheFalse \
-org.apache.jdo.tck.query.ImmutableQueryResult \
-org.apache.jdo.tck.query.MethodsAndObjectConstructionNotSupported \
-org.apache.jdo.tck.query.MultipleActiveQueryInstanceInSamePersistenceManager \
-org.apache.jdo.tck.query.MultipleIdenticalImports \
-org.apache.jdo.tck.query.NamespaceOfIdentifiers \
-org.apache.jdo.tck.query.NavigationThroughACollectionField \
-org.apache.jdo.tck.query.NavigationThroughANullValuedField \
-org.apache.jdo.tck.query.NavigationThroughReferencesUsesDotOperator \
-org.apache.jdo.tck.query.NewQueryFromExistingQueryBoundToPMFromSameVendor \
-org.apache.jdo.tck.query.NewQueryFromRestoredSerializedQuery \
-org.apache.jdo.tck.query.NewQueryWithCandidateClass \
-org.apache.jdo.tck.query.NewQueryWithCandidateClassAndCollection \
-org.apache.jdo.tck.query.NewQueryWithCandidateClassAndExtent \
-org.apache.jdo.tck.query.NewQueryWithCandidateClassAndFilter \
-org.apache.jdo.tck.query.NewQueryWithCandidateClassCollectionFilter \
-org.apache.jdo.tck.query.NewQueryWithExtent \
-org.apache.jdo.tck.query.NewQueryWithExtentAndFilter \
-org.apache.jdo.tck.query.NewQueryWithSpecifiedLanguageAndQuery \
-org.apache.jdo.tck.query.NullCollectionsAndContainsMethod \
-org.apache.jdo.tck.query.NullCollectionsAndIsEmpty \
-org.apache.jdo.tck.query.OrderingSpecification \
-org.apache.jdo.tck.query.ParameterBoundToDifferentPM \
-org.apache.jdo.tck.query.ParameterDeclaredWithSameNameAsFieldOfCandidateClass \
-org.apache.jdo.tck.query.ParenthesesMarkOperatorPrecedence \
-org.apache.jdo.tck.query.QueryIsSerializable \
-org.apache.jdo.tck.query.QueryResultPassedToAnotherQuery \
-org.apache.jdo.tck.query.QueryWithNoFilter \
-org.apache.jdo.tck.query.PrimitiveParameterPassedAsNull \
-org.apache.jdo.tck.query.RestoredSerializedQueryInstanceLosesAssociationWithPM \
-org.apache.jdo.tck.query.SeparateNamespaceForTypeNames \
-org.apache.jdo.tck.query.SetCandidateCollection \
-org.apache.jdo.tck.query.SetCandidateExtent \
-org.apache.jdo.tck.query.SetFilter \
-org.apache.jdo.tck.query.SetIgnoreCache \
-org.apache.jdo.tck.query.SetOrdering \
-org.apache.jdo.tck.query.SetterReplacePreviousValues \
-org.apache.jdo.tck.query.StartsWithAndEndsWith \
-org.apache.jdo.tck.query.SupportedCollectionMethods \
-org.apache.jdo.tck.query.ThisIsReservedWordForElementOfCollection \
-org.apache.jdo.tck.query.UseOfThisToAcessHiddenField \
-org.apache.jdo.tck.query.VariableDeclaredWithSameNameAsFieldOfCandidateClass \
-org.apache.jdo.tck.query.WhiteSpaceIsACharacterAndIgnored \
-org.apache.jdo.tck.query.operators.BinaryAddition \
-org.apache.jdo.tck.query.operators.BinarySubtraction \
-org.apache.jdo.tck.query.operators.BitwiseComplement \
-org.apache.jdo.tck.query.operators.BooleanLogicalAND \
-org.apache.jdo.tck.query.operators.BooleanLogicalOR \
-org.apache.jdo.tck.query.operators.ConditionalAND \
-org.apache.jdo.tck.query.operators.ConditionalOR \
-org.apache.jdo.tck.query.operators.Division \
-org.apache.jdo.tck.query.operators.Equality \
-org.apache.jdo.tck.query.operators.EqualityAndComparisonsBetweenDateFieldsAndParameters \
-org.apache.jdo.tck.query.operators.EqualityAndComparisonsBetweenPrimitivesAndWrapperInstances \
-org.apache.jdo.tck.query.operators.EqualityAndComparisonsBetweenStringFieldsAndParameters \
-org.apache.jdo.tck.query.operators.GreaterThan \
-org.apache.jdo.tck.query.operators.GreaterThanOrEqual \
-org.apache.jdo.tck.query.operators.LessThan \
-org.apache.jdo.tck.query.operators.LessThanOrEqual \
-org.apache.jdo.tck.query.operators.LogicalComplement \
-org.apache.jdo.tck.query.operators.Multiplication \
-org.apache.jdo.tck.query.operators.NotEquals \
-org.apache.jdo.tck.query.operators.PromotionOfNumericOperands \
-org.apache.jdo.tck.query.operators.SignInversion \
-org.apache.jdo.tck.query.operators.StringConcatenation \
-org.apache.jdo.tck.query.operators.UnaryPlus \
-org.apache.jdo.tck.transactions.AfterCompletionMethodCalledWhenCommitted \
-org.apache.jdo.tck.transactions.AfterCompletionMethodCalledWhenRolledback \
-org.apache.jdo.tck.transactions.BeforeCompletionMethodCalled \
-org.apache.jdo.tck.transactions.BeforeCompletionMethodNotCalledBeforeRollback \
-org.apache.jdo.tck.transactions.Commit \
-org.apache.jdo.tck.transactions.GetOptimistic \
-org.apache.jdo.tck.transactions.GetPersistenceManager \
-org.apache.jdo.tck.transactions.GetRetainValues \
-org.apache.jdo.tck.transactions.GetSynchronization \
-org.apache.jdo.tck.transactions.IsActive \
-org.apache.jdo.tck.transactions.IsActiveUntilAfterCompletionMethodCalled \
-org.apache.jdo.tck.transactions.Rollback \
-org.apache.jdo.tck.transactions.SetNontransactionalRead \
-org.apache.jdo.tck.transactions.WhenNontransactionalReadIsFalse \
-org.apache.jdo.tck.transactions.SetNontransactionalReadCalledDuringTxCompletion \
-org.apache.jdo.tck.transactions.SetNontransactionalWriteCalledDuringTxCompletion \
-org.apache.jdo.tck.transactions.SetNontransactionalReadTrueWhenNotSupported \
-org.apache.jdo.tck.transactions.SetOptimistic \
-org.apache.jdo.tck.transactions.SetOptimisticCalledDuringTxCompletion \
-org.apache.jdo.tck.transactions.SetOptimisticDuringTransaction \
-org.apache.jdo.tck.transactions.SetOptimisticTrueWhenNotSupported \
-org.apache.jdo.tck.transactions.SetRetainValues \
-org.apache.jdo.tck.transactions.SetRetainValuesCalledDuringTxCompletion \
-org.apache.jdo.tck.transactions.SetRetainValuesTrueWhenNotSupported \
-org.apache.jdo.tck.transactions.SetSynchronization \
-org.apache.jdo.tck.transactions.SetSynchronizationToNull
+jdo.tck.description = All standard tests with standard mapping, no testdata. 
+jdo.tck.testdata = 
+jdo.tck.standarddata = 
+jdo.tck.mapping = 0
+jdo.tck.classes = \
+org.apache.jdo.tck.api.instancecallbacks.AccessOtherInstancesInPrestore \
+org.apache.jdo.tck.api.instancecallbacks.AccessingFieldsInPredelete \
+org.apache.jdo.tck.api.instancecallbacks.CallingJdoPostload \
+org.apache.jdo.tck.api.instancecallbacks.CallingJdoPreclear \
+org.apache.jdo.tck.api.instancecallbacks.CallingJdoPredelete \
+org.apache.jdo.tck.api.instancecallbacks.CallingJdoPrestore \
+org.apache.jdo.tck.api.instancecallbacks.ModificationOfNontransactionalNonpersistentFields \
+org.apache.jdo.tck.api.instancecallbacks.NoAccessToFieldsAfterPredelete \
+org.apache.jdo.tck.api.jdohelper.GetObjectId \
+org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull \
+org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient \
+org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.GetPersistenceManager \
+org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull \
+org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient \
+org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId \
+org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull \
+org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient \
+org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.IsDeleted \
+org.apache.jdo.tck.api.jdohelper.IsDeletedFalse \
+org.apache.jdo.tck.api.jdohelper.IsDeletedForNull \
+org.apache.jdo.tck.api.jdohelper.IsDeletedForTransient \
+org.apache.jdo.tck.api.jdohelper.IsDeletedNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.IsDirty \
+org.apache.jdo.tck.api.jdohelper.IsDirtyFalse \
+org.apache.jdo.tck.api.jdohelper.IsDirtyForNull \
+org.apache.jdo.tck.api.jdohelper.IsDirtyForTransient \
+org.apache.jdo.tck.api.jdohelper.IsDirtyNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.IsNew \
+org.apache.jdo.tck.api.jdohelper.IsNewFalse \
+org.apache.jdo.tck.api.jdohelper.IsNewForNull \
+org.apache.jdo.tck.api.jdohelper.IsNewForTransient \
+org.apache.jdo.tck.api.jdohelper.IsNewNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.IsPersistent \
+org.apache.jdo.tck.api.jdohelper.IsPersistentFalse \
+org.apache.jdo.tck.api.jdohelper.IsPersistentForNull \
+org.apache.jdo.tck.api.jdohelper.IsPersistentForTransient \
+org.apache.jdo.tck.api.jdohelper.IsPersistentNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.IsTransactional \
+org.apache.jdo.tck.api.jdohelper.IsTransactionalFalse \
+org.apache.jdo.tck.api.jdohelper.IsTransactionalForNull \
+org.apache.jdo.tck.api.jdohelper.IsTransactionalForTransient \
+org.apache.jdo.tck.api.jdohelper.IsTransactionalNotPersistenceCapable \
+org.apache.jdo.tck.api.jdohelper.MakeDirty \
+org.apache.jdo.tck.api.jdohelper.MakeDirtyForNull \
+org.apache.jdo.tck.api.jdohelper.MakeDirtyForTransient \
+org.apache.jdo.tck.api.jdohelper.MakeDirtyNotPersistenceCapable \
+org.apache.jdo.tck.api.persistencecapable.CopyKeyFieldsFromObjectId \
+org.apache.jdo.tck.api.persistencecapable.NewObjectIdInstance \
+org.apache.jdo.tck.api.persistencemanager.ChangingObjectIdHasNoEffectOnInstance \
+org.apache.jdo.tck.api.persistencemanager.ConcurrentPersistenceManagers \
+org.apache.jdo.tck.api.persistencemanager.ConcurrentPersistenceManagersSameClasses \
+org.apache.jdo.tck.api.persistencemanager.CurrentTransaction \
+org.apache.jdo.tck.api.persistencemanager.DeletePersistent \
+org.apache.jdo.tck.api.persistencemanager.DeletePersistentAllFails \
+org.apache.jdo.tck.api.persistencemanager.DeletePersistentFailsIfInstanceIsTransient \
+org.apache.jdo.tck.api.persistencemanager.DeletePersistentFailsIfInstanceManagedByAnotherPersistenceManager \
+org.apache.jdo.tck.api.persistencemanager.DeletePersistentHasNoEffectOnDeletedInstances \
+org.apache.jdo.tck.api.persistencemanager.GetPersistenceManagerFactory \
+org.apache.jdo.tck.api.persistencemanager.GetSetUserObject \
+org.apache.jdo.tck.api.persistencemanager.GetTransactionalObjectIdWhenObjectIdBeingChanged \
+org.apache.jdo.tck.api.persistencemanager.GetTransactionalObjectIdWithNoTransaction \
+org.apache.jdo.tck.api.persistencemanager.NoPersistenceManagerIfTransient \
+org.apache.jdo.tck.api.persistencemanager.ObjectIdUniqueAmongInstances \
+org.apache.jdo.tck.api.persistencemanager.OneInstanceOfObjectPerPersistenceManager \
+org.apache.jdo.tck.api.persistencemanager.OnePersistenceManagerIfPersistentOrTransactional \
+org.apache.jdo.tck.api.persistencemanager.OptimisticFailure \
+org.apache.jdo.tck.api.persistencemanager.SameTransactionInstanceForAllCallsToCurrentTransaction \
+org.apache.jdo.tck.api.persistencemanager.ThreadSafe \
+org.apache.jdo.tck.api.persistencemanager.TransientTransactionalInstanceRetainsValuesAtCommit \
+org.apache.jdo.tck.api.persistencemanager.cache.CallingEvictAllWithCollectionContainingNulls \
+org.apache.jdo.tck.api.persistencemanager.cache.CallingRefreshAllWithCollectionContainingNulls \
+org.apache.jdo.tck.api.persistencemanager.cache.EvictAllWithNoParameters \
+org.apache.jdo.tck.api.persistencemanager.cache.EvictingCollectionOfInstancesSideEffects \
+org.apache.jdo.tck.api.persistencemanager.cache.EvictingWithRestoreValuesFalse \
+org.apache.jdo.tck.api.persistencemanager.cache.EvictingWithRetainValuesFalse \
+org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToEvictAllThrowsException \
+org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToEvictHasNoEffect \
+org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToRefreshAllThrowsException \
+org.apache.jdo.tck.api.persistencemanager.cache.PassingNullToRefreshHasNoEffect \
+org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllNoParameterSideEffects \
+org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllWithArraySideEffects \
+org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllWithCollectionSideEffects \
+org.apache.jdo.tck.api.persistencemanager.cache.RefreshAllWithNoParameters \
+org.apache.jdo.tck.api.persistencemanager.cache.RefreshSideEffects \
+org.apache.jdo.tck.api.persistencemanager.cache.Retrieve \
+org.apache.jdo.tck.api.persistencemanager.close.AfterCloseAllMethodsThrowException \
+org.apache.jdo.tck.api.persistencemanager.close.CloseThrowsExceptionWhenActiveTx \
+org.apache.jdo.tck.api.persistencemanager.close.IsClosedIsFalseUponConstruction \
+org.apache.jdo.tck.api.persistencemanager.close.IsClosedIsFalseUponRetrievalFromPool \
+org.apache.jdo.tck.api.persistencemanager.close.IsClosedIsTrueAfterClose \
+org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability \
+org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithNoSubclasses \
+org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses \
+org.apache.jdo.tck.api.persistencemanager.flags.GetIgnoreCache \
+org.apache.jdo.tck.api.persistencemanager.flags.SetIgnoreCacheToFalse \
+org.apache.jdo.tck.api.persistencemanager.flags.SetIgnoreCacheToTrue \
+org.apache.jdo.tck.api.persistencemanager.flags.SetMultithreadedFalse \
+org.apache.jdo.tck.api.persistencemanager.flags.SetMultithreadedTrue \
+org.apache.jdo.tck.api.persistencemanager.flags.SettingFlagsWithTransactionInstance \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectById \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceInCache \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceInCacheNoStateChange \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceNotInCache \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceNotInCacheNoTx \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNoValidationInstanceNotInDatastore \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdNotResolved \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdWithValidationInstanceInCache \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdWithValidationInstanceInCacheNotInDatastore \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectByIdWithValidationInstanceNotInCacheNotInDatastore \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectId \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdClass \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdClassForAbstractOrNonPersistenceCapableClass \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdForNullOrNotPersistent \
+org.apache.jdo.tck.api.persistencemanager.getobject.GetObjectIdWithApplicationModifyingIdentity \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalAllFails \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalDirtyInstance \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalIsImmediate \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalPersistentCleanInstance \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeNontransactionalTransientCleanInstance \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistent \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAllFails \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAssignsObjectId \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentFailsIfInstanceManagedByAnotherPersistenceManager \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentHasNoEffectOnPersistentInstances \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactional \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalANontransactionalPersistentInstance \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalAllFails \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalIsImmediate \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalPriorToTransactionRolledback \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransactionalWithinTransactionRolledback \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransient \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientAllFails \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientCausesLossOfIdentity \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientFailsWithDirtyInstance \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientFieldsPreservedUnchanged \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientHasNoEffectOnTransientInstances \
+org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientNotSubjectToRollback \
+org.apache.jdo.tck.api.persistencemanagerfactory.AfterCloseGetPMThrowsException \
+org.apache.jdo.tck.api.persistencemanagerfactory.AfterCloseSetMethodsThrowException \
+org.apache.jdo.tck.api.persistencemanagerfactory.AfterGetPersistenceManagerNoSetMethodsSucceed \
+org.apache.jdo.tck.api.persistencemanagerfactory.Close \
+org.apache.jdo.tck.api.persistencemanagerfactory.CloseFailsIfTransactionActive \
+org.apache.jdo.tck.api.persistencemanagerfactory.CloseWithoutPermissionThrowsSecurityException \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPersistenceManager \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPersistenceManagerFactoryByPropertiesInstance \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPersistenceManagerForUser \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetProperties \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetConnectionPassword \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetConnectionURL \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetConnectionUserName \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetIgnoreCache \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetMultithreaded \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetNonTransactionalRead \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetNonTransactionalWrite \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetOptimistic \
+org.apache.jdo.tck.api.persistencemanagerfactory.SetRetainValues \
+org.apache.jdo.tck.api.persistencemanagerfactory.SupportedOptions \
+org.apache.jdo.tck.extents.CloseAll \
+org.apache.jdo.tck.extents.CloseOfExtentIteratorIsIteratorSpecific \
+org.apache.jdo.tck.extents.GetCandidateClass \
+org.apache.jdo.tck.extents.GetPersistenceManager \
+org.apache.jdo.tck.extents.HasSubclassesFalse \
+org.apache.jdo.tck.extents.HasSubclassesTrue \
+org.apache.jdo.tck.extents.InstancesDeletedPriorToIterationNotReturned \
+org.apache.jdo.tck.extents.InstancesPersistedPriorToIterationReturned \
+org.apache.jdo.tck.extents.IteratorHasNextFalseAfterExtentClose \
+org.apache.jdo.tck.extents.IteratorMutatingMethods \
+org.apache.jdo.tck.extents.IteratorNextAfterExtentClose \
+org.apache.jdo.tck.extents.IteratorNextAfterExtentCloseAll \
+org.apache.jdo.tck.extents.Iterators \
+org.apache.jdo.tck.lifecycle.HollowInstanceMaintainsPK \
+org.apache.jdo.tck.lifecycle.MultiplePMsReturnInstancesRepresentingSamePC \
+org.apache.jdo.tck.lifecycle.ObjectIdNotModifiedWhenObjectIdInstanceModified \
+org.apache.jdo.tck.lifecycle.PMReturnsIdenticalInstancesForEqualObjIds \
+org.apache.jdo.tck.lifecycle.PMsCanSharePCClassesButNotPCInstances \
+org.apache.jdo.tck.lifecycle.StateTransitions \
+org.apache.jdo.tck.lifecycle.TransientTransactionalStateCommit \
+org.apache.jdo.tck.lifecycle.TransientTransactionalStateRollback \
+org.apache.jdo.tck.lifecycle.nontransactional.ModificationOfNontransactionalInstanceOutsideTransaction \
+org.apache.jdo.tck.models.embedded.SecondClassObjectsTrackTheirChanges  \
+org.apache.jdo.tck.models.fieldtypes.TestArrayCollections \
+org.apache.jdo.tck.models.fieldtypes.TestArrayListCollections \
+org.apache.jdo.tck.models.fieldtypes.TestCollectionCollections \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfBigDecimal \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfBigInteger \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfBoolean \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfByte \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfCharacter \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfDate \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfDouble \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfFloat \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfInteger \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfLocale \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfLong \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfObject \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitiveboolean \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivebyte \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivechar \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivedouble \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivefloat \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitiveint \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitivelong \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfPrimitiveshort \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfShort \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfSimpleClass \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfSimpleInterface \
+org.apache.jdo.tck.models.fieldtypes.TestFieldsOfString \
+org.apache.jdo.tck.models.fieldtypes.TestHashMapStringKeyCollections \
+org.apache.jdo.tck.models.fieldtypes.TestHashMapStringValueCollections \
+org.apache.jdo.tck.models.fieldtypes.TestHashSetCollections \
+org.apache.jdo.tck.models.fieldtypes.TestHashtableStringKeyCollections \
+org.apache.jdo.tck.models.fieldtypes.TestHashtableStringValueCollections \
+org.apache.jdo.tck.models.fieldtypes.TestLinkedListCollections \
+org.apache.jdo.tck.models.fieldtypes.TestListCollections \
+org.apache.jdo.tck.models.fieldtypes.TestMapStringKeyCollections \
+org.apache.jdo.tck.models.fieldtypes.TestMapStringValueCollections \
+org.apache.jdo.tck.models.fieldtypes.TestSetCollections \
+org.apache.jdo.tck.models.fieldtypes.TestTreeMapStringKeyCollections \
+org.apache.jdo.tck.models.fieldtypes.TestTreeMapStringValueCollections \
+org.apache.jdo.tck.models.fieldtypes.TestTreeSetCollections \
+org.apache.jdo.tck.models.fieldtypes.TestVectorCollections \
+org.apache.jdo.tck.models.inheritance.FieldWithSameNameInSuperclass \
+org.apache.jdo.tck.models.inheritance.NonPersistentFieldsAreNonPersistentInSubclasses \
+org.apache.jdo.tck.models.inheritance.NonpersistentSuperClass \
+org.apache.jdo.tck.models.inheritance.PersistenceCapableFlexibilityInInheritanceHierarchy \
+org.apache.jdo.tck.models.inheritance.PersistentFieldsArePersistentInSubClasses \
+org.apache.jdo.tck.models.inheritance.TransactionalFieldsAreTransactionalInSubclasses \
+org.apache.jdo.tck.query.AssignmentPrePostIncrementDecrementNotSupported \
+org.apache.jdo.tck.query.BoundParameterCheck \
+org.apache.jdo.tck.query.Cast \
+org.apache.jdo.tck.query.Close \
+org.apache.jdo.tck.query.CloseAll \
+org.apache.jdo.tck.query.ComparingCollectionFieldToNull \
+org.apache.jdo.tck.query.ComparingPersistentAndNonPersistentInstance \
+org.apache.jdo.tck.query.CompileQuery \
+org.apache.jdo.tck.query.DeclareImports \
+org.apache.jdo.tck.query.DeclareParameters \
+org.apache.jdo.tck.query.DeclareVariables \
+org.apache.jdo.tck.query.DenoteUniquenessInFilter \
+org.apache.jdo.tck.query.ExecuteQuery \
+org.apache.jdo.tck.query.ExecuteQueryWhenPersistenceManagerIsClosed \
+org.apache.jdo.tck.query.ExecuteQueryWithArray \
+org.apache.jdo.tck.query.ExecuteQueryWithMap \
+org.apache.jdo.tck.query.ExecutingMultipleQueriesSimultaneouslyIsThreadSafe \
+org.apache.jdo.tck.query.ExecutingQueryWhenNoTransactionNoNontransactionalRead \
+org.apache.jdo.tck.query.GetIgnoreCache \
+org.apache.jdo.tck.query.GetPersistenceManager \
+org.apache.jdo.tck.query.GetPersistenceManagerFromRestoredSerializedQuery \
+org.apache.jdo.tck.query.IgnoreCacheFalse \
+org.apache.jdo.tck.query.ImmutableQueryResult \
+org.apache.jdo.tck.query.MethodsAndObjectConstructionNotSupported \
+org.apache.jdo.tck.query.MultipleActiveQueryInstanceInSamePersistenceManager \
+org.apache.jdo.tck.query.MultipleIdenticalImports \
+org.apache.jdo.tck.query.NamespaceOfIdentifiers \
+org.apache.jdo.tck.query.NavigationThroughACollectionField \
+org.apache.jdo.tck.query.NavigationThroughANullValuedField \
+org.apache.jdo.tck.query.NavigationThroughReferencesUsesDotOperator \
+org.apache.jdo.tck.query.NewQueryFromExistingQueryBoundToPMFromSameVendor \
+org.apache.jdo.tck.query.NewQueryFromRestoredSerializedQuery \
+org.apache.jdo.tck.query.NewQueryWithCandidateClass \
+org.apache.jdo.tck.query.NewQueryWithCandidateClassAndCollection \
+org.apache.jdo.tck.query.NewQueryWithCandidateClassAndExtent \
+org.apache.jdo.tck.query.NewQueryWithCandidateClassAndFilter \
+org.apache.jdo.tck.query.NewQueryWithCandidateClassCollectionFilter \
+org.apache.jdo.tck.query.NewQueryWithExtent \
+org.apache.jdo.tck.query.NewQueryWithExtentAndFilter \
+org.apache.jdo.tck.query.NewQueryWithSpecifiedLanguageAndQuery \
+org.apache.jdo.tck.query.NullCollectionsAndContainsMethod \
+org.apache.jdo.tck.query.NullCollectionsAndIsEmpty \
+org.apache.jdo.tck.query.OrderingSpecification \
+org.apache.jdo.tck.query.ParameterBoundToDifferentPM \
+org.apache.jdo.tck.query.ParameterDeclaredWithSameNameAsFieldOfCandidateClass \
+org.apache.jdo.tck.query.ParenthesesMarkOperatorPrecedence \
+org.apache.jdo.tck.query.QueryIsSerializable \
+org.apache.jdo.tck.query.QueryResultPassedToAnotherQuery \
+org.apache.jdo.tck.query.QueryWithNoFilter \
+org.apache.jdo.tck.query.PrimitiveParameterPassedAsNull \
+org.apache.jdo.tck.query.RestoredSerializedQueryInstanceLosesAssociationWithPM \
+org.apache.jdo.tck.query.SeparateNamespaceForTypeNames \
+org.apache.jdo.tck.query.SetCandidateCollection \
+org.apache.jdo.tck.query.SetCandidateExtent \
+org.apache.jdo.tck.query.SetFilter \
+org.apache.jdo.tck.query.SetIgnoreCache \
+org.apache.jdo.tck.query.SetOrdering \
+org.apache.jdo.tck.query.SetterReplacePreviousValues \
+org.apache.jdo.tck.query.StartsWithAndEndsWith \
+org.apache.jdo.tck.query.SupportedCollectionMethods \
+org.apache.jdo.tck.query.ThisIsReservedWordForElementOfCollection \
+org.apache.jdo.tck.query.UseOfThisToAcessHiddenField \
+org.apache.jdo.tck.query.VariableDeclaredWithSameNameAsFieldOfCandidateClass \
+org.apache.jdo.tck.query.WhiteSpaceIsACharacterAndIgnored \
+org.apache.jdo.tck.query.operators.BinaryAddition \
+org.apache.jdo.tck.query.operators.BinarySubtraction \
+org.apache.jdo.tck.query.operators.BitwiseComplement \
+org.apache.jdo.tck.query.operators.BooleanLogicalAND \
+org.apache.jdo.tck.query.operators.BooleanLogicalOR \
+org.apache.jdo.tck.query.operators.ConditionalAND \
+org.apache.jdo.tck.query.operators.ConditionalOR \
+org.apache.jdo.tck.query.operators.Division \
+org.apache.jdo.tck.query.operators.Equality \
+org.apache.jdo.tck.query.operators.EqualityAndComparisonsBetweenDateFieldsAndParameters \
+org.apache.jdo.tck.query.operators.EqualityAndComparisonsBetweenPrimitivesAndWrapperInstances \
+org.apache.jdo.tck.query.operators.EqualityAndComparisonsBetweenStringFieldsAndParameters \
+org.apache.jdo.tck.query.operators.GreaterThan \
+org.apache.jdo.tck.query.operators.GreaterThanOrEqual \
+org.apache.jdo.tck.query.operators.LessThan \
+org.apache.jdo.tck.query.operators.LessThanOrEqual \
+org.apache.jdo.tck.query.operators.LogicalComplement \
+org.apache.jdo.tck.query.operators.Multiplication \
+org.apache.jdo.tck.query.operators.NotEquals \
+org.apache.jdo.tck.query.operators.PromotionOfNumericOperands \
+org.apache.jdo.tck.query.operators.SignInversion \
+org.apache.jdo.tck.query.operators.StringConcatenation \
+org.apache.jdo.tck.query.operators.UnaryPlus \
+org.apache.jdo.tck.transactions.AfterCompletionMethodCalledWhenCommitted \
+org.apache.jdo.tck.transactions.AfterCompletionMethodCalledWhenRolledback \
+org.apache.jdo.tck.transactions.BeforeCompletionMethodCalled \
+org.apache.jdo.tck.transactions.BeforeCompletionMethodNotCalledBeforeRollback \
+org.apache.jdo.tck.transactions.Commit \
+org.apache.jdo.tck.transactions.GetOptimistic \
+org.apache.jdo.tck.transactions.GetPersistenceManager \
+org.apache.jdo.tck.transactions.GetRetainValues \
+org.apache.jdo.tck.transactions.GetSynchronization \
+org.apache.jdo.tck.transactions.IsActive \
+org.apache.jdo.tck.transactions.IsActiveUntilAfterCompletionMethodCalled \
+org.apache.jdo.tck.transactions.Rollback \
+org.apache.jdo.tck.transactions.SetNontransactionalRead \
+org.apache.jdo.tck.transactions.WhenNontransactionalReadIsFalse \
+org.apache.jdo.tck.transactions.SetNontransactionalReadCalledDuringTxCompletion \
+org.apache.jdo.tck.transactions.SetNontransactionalWriteCalledDuringTxCompletion \
+org.apache.jdo.tck.transactions.SetNontransactionalReadTrueWhenNotSupported \
+org.apache.jdo.tck.transactions.SetOptimistic \
+org.apache.jdo.tck.transactions.SetOptimisticCalledDuringTxCompletion \
+org.apache.jdo.tck.transactions.SetOptimisticDuringTransaction \
+org.apache.jdo.tck.transactions.SetOptimisticTrueWhenNotSupported \
+org.apache.jdo.tck.transactions.SetRetainValues \
+org.apache.jdo.tck.transactions.SetRetainValuesCalledDuringTxCompletion \
+org.apache.jdo.tck.transactions.SetRetainValuesTrueWhenNotSupported \
+org.apache.jdo.tck.transactions.SetSynchronization \
+org.apache.jdo.tck.transactions.SetSynchronizationToNull
+
+# need to be added as soon as the new A8 test cases are checked in
+#org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByFile \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByFileAndClassLoader \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByResource \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByResourceAndClassLoader \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByStream \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByStreamAndClassLoader \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByJNDILocation \
+org.apache.jdo.tck.api.persistencemanagerfactory.GetPMFByJNDILocationAndClassLoader \

Added: incubator/jdo/trunk/tck20/test/conf/jndi.properties
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/conf/jndi.properties?rev=219225&view=auto
==============================================================================
--- incubator/jdo/trunk/tck20/test/conf/jndi.properties (added)
+++ incubator/jdo/trunk/tck20/test/conf/jndi.properties Fri Jul 15 10:45:04 2005
@@ -0,0 +1,17 @@
+#
+# 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.
+
+java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
+java.naming.provider.url=file:.

Modified: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java?rev=219225&r1=219224&r2=219225&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java (original)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/JDO_Test.java Fri Jul 15 10:45:04 2005
@@ -132,10 +132,10 @@
      * String indicating the type of identity used for the current test case.
      * The value is either "applicationidentity" or "datastoreidentity".
      */
-    protected final String identitytype;
+    protected final String identitytype = System.getProperty("jdo.tck.identitytype");
 
     /** Name of the file contaninig the properties for the PMF. */
-    protected static String PMFProperties;
+    protected static String PMFProperties = System.getProperty("PMFProperties");
 
     /** The Properties object for the PersistenceManagerFactory. */
     protected static Properties PMFPropertiesObject;
@@ -174,12 +174,6 @@
      */
     private Collection tearDownClasses = new LinkedList();
     
-    /** */
-    protected JDO_Test() {
-        PMFProperties = System.getProperty("PMFProperties");
-        identitytype = System.getProperty("jdo.tck.identitytype");
-    }
-
     /** */
     protected void setUp() throws Exception {
         pmf = getPMF();

Added: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java?rev=219225&view=auto
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java (added)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java Fri Jul 15 10:45:04 2005
@@ -0,0 +1,70 @@
+/*
+ * 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.persistencecapable;
+
+import javax.jdo.JDOHelper;
+import javax.jdo.PersistenceManager;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.JDO_Test;
+
+/**
+ * This class is the super class for all persistence-capable tests. 
+ * @author Michael Watzek
+ */
+abstract class AbstractPersistenceCapableTest extends JDO_Test {
+
+    /**
+     * Makes the given object persistent, 
+     * adds it as tear down instance,
+     * and returns its object id.
+     * @param pc the transient instance to be made persistent 
+     * @return the object id of the persistent instance
+     */
+    protected Object makePersistent(Object pc) {
+        PersistenceManager pm = getPM();
+        pm.currentTransaction().begin();
+        pm.makePersistent(pc);
+        Object result = JDOHelper.getObjectId(pc);
+        pm.currentTransaction().commit();
+        addTearDownInstance(pc);
+        return result;
+    }
+    
+    protected boolean isTestToBePerformed() {
+        int index = getClass().getName().lastIndexOf('.');
+        String testName = index==-1 ? 
+                getClass().getName() : getClass().getName().substring(index+1);
+        if (!isBinaryCompatibilitySupported()) {
+            printUnsupportedOptionalFeatureNotTested(
+                    testName, "javax.jdo.option.BinaryCompatibility");
+        } else if (!isApplicationIdentitySupported()) {
+            printUnsupportedOptionalFeatureNotTested(
+                    testName, "javax.jdo.option.ApplicationIdentity");
+        }
+        return isBinaryCompatibilitySupported() &&
+               isApplicationIdentitySupported() &&
+               runsWithApplicationIdentity();
+    }
+    
+    protected void assertPersistenceCapable(Object o) {
+        if (!(o instanceof PersistenceCapable)) {
+            throw new IllegalArgumentException
+                ("Argument o must be instance of PersistenceCapable.");
+        }
+    }
+}

Added: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java?rev=219225&view=auto
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java (added)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java Fri Jul 15 10:45:04 2005
@@ -0,0 +1,295 @@
+/*
+ * 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.persistencecapable;
+
+import javax.jdo.identity.ByteIdentity;
+import javax.jdo.identity.CharIdentity;
+import javax.jdo.identity.IntIdentity;
+import javax.jdo.identity.LongIdentity;
+import javax.jdo.identity.ObjectIdentity;
+import javax.jdo.identity.ShortIdentity;
+import javax.jdo.identity.SingleFieldIdentity;
+import javax.jdo.identity.StringIdentity;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.pc.singlefieldidentity.AbstractPCPointSingleField;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldByte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldCharacter;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldDate;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldInteger;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldLong;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivebyte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivechar;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveint;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivelong;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveshort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldShort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldString;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B>CopyKeyFieldsFromObjectId of PersistenceCapable
+ *<BR>
+ *<B>Keywords:</B> persistencecapable
+ *<BR>
+ *<B>Assertion IDs:</B> A7.12-25
+ *<BR>
+ *<B>Assertion Description: </B>
+ *<p>
+ * A7.12-25<br>
+ * public void jdoCopyKeyFieldsFromObjectId(ObjectIdFieldConsumer fc, Object oid);
+ * This method copies fields to the field manager instance 
+ * from the second parameter instance.
+ * 
+ * @author Michael Watzek
+ */
+public class CopyKeyFieldsFromObjectId  extends AbstractPersistenceCapableTest {
+
+    /** */
+    private static final String ASSERTION_FAILED = 
+        "Assertion A7.12-25 (jdoCopyKeyFieldsFromObjectId) 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(CopyKeyFieldsFromObjectId .class);
+    }
+
+    public void testSingleFieldIdentitybyte() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldPrimitivebyte(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityByte() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldByte(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentitychar() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldPrimitivechar(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityCharacter() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldCharacter(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityint() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldPrimitiveint(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInteger() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldInteger(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentitylong() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldPrimitivelong(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityLong() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldLong(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityshort() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldPrimitiveshort(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityShort() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldShort(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityString() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldString(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityDate() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentity(new PCPointSingleFieldDate(1, 2));
+        }
+    }
+    
+    /**
+     * The common method for test cases checking for assertion A7.12-25:<br>
+     * public void jdoCopyKeyFieldsFromObjectId(ObjectIdFieldConsumer fc, Object oid);
+     * This method copies fields to the field manager instance 
+     * from the second parameter instance.
+     * @param o the object to check
+     */
+    private void singleFieldIdentity(AbstractPCPointSingleField o) {
+        assertPersistenceCapable(o);
+        SingleFieldIdentity sfi = (SingleFieldIdentity) makePersistent(o);
+        PersistenceCapable pc = (PersistenceCapable) o;
+        ObjectIdFieldConsumer objectIdFieldConsumer = 
+            new ObjectIdFieldConsumer();
+        pc.jdoCopyKeyFieldsFromObjectId(objectIdFieldConsumer, sfi);
+        if (!objectIdFieldConsumer.equals(sfi)) {
+            fail(ASSERTION_FAILED + 
+                    "pc.jdoCopyKeyFieldsFromObjectId copies unexpected " +
+                    "fields into an object id field consumer using a " +
+                    "single field indentity object id.");
+        }
+    }
+
+    private static class ObjectIdFieldConsumer 
+        implements PersistenceCapable.ObjectIdFieldConsumer {
+        
+        private boolean booleanField;
+        private byte byteField;
+        private char charField;
+        private double doubleField;
+        private float floatField;
+        private int intField;
+        private long longField;
+        private short shortField;
+        private String stringField;
+        private Object objectField;
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeBooleanField(int, boolean)
+         */
+        public void storeBooleanField(int fieldNumber, boolean value) {
+            this.booleanField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeCharField(int, char)
+         */
+        public void storeCharField(int fieldNumber, char value) {
+            this.charField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeByteField(int, byte)
+         */
+        public void storeByteField(int fieldNumber, byte value) {
+            this.byteField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeShortField(int, short)
+         */
+        public void storeShortField(int fieldNumber, short value) {
+            this.shortField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeIntField(int, int)
+         */
+        public void storeIntField(int fieldNumber, int value) {
+            this.intField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeLongField(int, long)
+         */
+        public void storeLongField(int fieldNumber, long value) {
+            this.longField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeFloatField(int, float)
+         */
+        public void storeFloatField(int fieldNumber, float value) {
+            this.floatField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeDoubleField(int, double)
+         */
+        public void storeDoubleField(int fieldNumber, double value) {
+            this.doubleField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeStringField(int, java.lang.String)
+         */
+        public void storeStringField(int fieldNumber, String value) {
+            this.stringField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeObjectField(int, java.lang.Object)
+         */
+        public void storeObjectField(int fieldNumber, Object value) {
+            if (value instanceof Boolean)
+                this.booleanField = ((Boolean)value).booleanValue();
+            else if (value instanceof Boolean)
+                this.booleanField = ((Boolean)value).booleanValue();
+            else if (value instanceof Byte)
+                this.byteField = ((Byte)value).byteValue();
+            else if (value instanceof Character)
+                this.charField = ((Character)value).charValue();
+            else if (value instanceof Double)
+                this.doubleField = ((Double)value).doubleValue();
+            else if (value instanceof Float)
+                this.floatField = ((Float)value).floatValue();
+            else if (value instanceof Integer)
+                this.intField = ((Integer)value).intValue();
+            else if (value instanceof Long)
+                this.longField = ((Long)value).longValue();
+            else if (value instanceof Short)
+                this.shortField = ((Short)value).shortValue();
+            else if (value instanceof String)
+                this.stringField = (String)value;
+            else
+                this.objectField = value;
+        }
+        
+        public boolean equals(SingleFieldIdentity sfi) {
+            if (sfi==null)
+                throw new IllegalArgumentException ("Argument sfi must not be null");
+            boolean result = false;
+            if (sfi instanceof ByteIdentity) 
+                result = ((ByteIdentity)sfi).getKey()==this.byteField;
+            else if (sfi instanceof CharIdentity) 
+                result = ((CharIdentity)sfi).getKey()==this.charField;
+            else if (sfi instanceof IntIdentity) 
+                result = ((IntIdentity)sfi).getKey()==this.intField;
+            else if (sfi instanceof LongIdentity) 
+                result = ((LongIdentity)sfi).getKey()==this.longField;
+            else if (sfi instanceof ShortIdentity) 
+                result = ((ShortIdentity)sfi).getKey()==this.shortField;
+            else if (sfi instanceof StringIdentity) 
+                result = ((StringIdentity)sfi).getKey().equals(this.stringField);
+            else 
+                result = ((ObjectIdentity)sfi).getKey().equals(this.objectField);
+            return result;
+        }
+    }
+}

Added: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java?rev=219225&view=auto
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java (added)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java Fri Jul 15 10:45:04 2005
@@ -0,0 +1,237 @@
+/*
+ * 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.persistencecapable;
+
+import javax.jdo.JDONullIdentityException;
+import javax.jdo.identity.SingleFieldIdentity;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.pc.singlefieldidentity.AbstractPCPointSingleField;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldByte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldCharacter;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldDate;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldInteger;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldLong;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivebyte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivechar;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveint;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivelong;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveshort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldShort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldString;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B>NewObjectIdInstance of PersistenceCapable
+ *<BR>
+ *<B>Keywords:</B> persistencecapable
+ *<BR>
+ *<B>Assertion IDs:</B> A7.12-38, A7.12-39
+ *<BR>
+ *<B>Assertion Description: </B>
+ *<p>
+ * A7.12-38:<br>
+ * For classes using single field identity method 
+ * <code>PersistenceCapable.newObjectIdInstance()</code> must be called 
+ * on a persistent instance with its primary key field initialized, 
+ * or a JDONullIdentityException is thrown.<p>
+ * 
+ * A7.12-39:<br>
+ * The instance returned is initialized with the value of the primary key 
+ * field of the instance on which the method is called.
+ * 
+ * @author Michael Watzek
+ */
+public class NewObjectIdInstance extends AbstractPersistenceCapableTest {
+
+    /** */
+    private static final String FAILED = 
+        " (jdoNewObjectIdInstance) failed: ";
+
+    /** */
+    private static final String ASSERTION_A7_12_38_FAILED = 
+        "Assertion A7.12-38" + FAILED;
+
+    /** */
+    private static final String ASSERTION_A7_12_39_FAILED = 
+        "Assertion A7.12-39" + 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(NewObjectIdInstance.class);
+    }
+
+    public void testSingleFieldIdentityNotInitializedByte() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldByte());
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedCharacter() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldCharacter());
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedInteger() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldInteger());
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedLong() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldLong());
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedShort() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldShort());
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedString() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldString());
+        }
+    }
+
+    public void testSingleFieldIdentityNotInitializedDate() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityNotInitialized(new PCPointSingleFieldDate());
+        }
+    }
+
+    public void testSingleFieldIdentityInitializedbyte() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivebyte(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedByte() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldByte(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedchar() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivechar(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedCharacter() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldCharacter(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedint() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldPrimitiveint(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedInteger() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldInteger(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedlong() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivelong(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedLong() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldLong(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedshort() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldPrimitiveshort(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedShort() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldShort(1, 2));
+        }
+    }
+    
+    public void testSingleFieldIdentityInitializedString() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldString(1, 2));
+        }
+    }
+
+    public void testSingleFieldIdentityInitializedDate() {
+        if (isTestToBePerformed()) {
+            singleFieldIdentityInitialized(new PCPointSingleFieldDate(1, 2));
+        }
+    }
+
+    /**
+     * The common method for test cases checking for assertion A7.12-38:<br>
+     * For classes using single field identity method 
+     * <code>PersistenceCapable.newObjectIdInstance()</code> must be called 
+     * on a persistent instance with its primary key field initialized, 
+     * @param o the object to check
+     */
+    private void singleFieldIdentityNotInitialized(AbstractPCPointSingleField o) {
+        assertPersistenceCapable(o);
+        PersistenceCapable pc = (PersistenceCapable) o;
+        try {
+            Object sfi = pc.jdoNewObjectIdInstance();
+            String message = ASSERTION_A7_12_38_FAILED + 
+            "pc.jdoNewObjectIdInstance should throw " +
+            "JDONullIdentityException if PK field is null, but it returned "+sfi;
+            fail(message);
+        } catch (JDONullIdentityException e) {
+            // expected exception
+            if (debug)
+                logger.debug("caught expected exception " + e.toString());
+        } 
+    }
+    
+    /**
+     * The common method for test cases checking for assertion A7.12-39:<br>
+     * The instance returned is initialized with the value of the primary key 
+     * field of the instance on which the method is called.
+     * @param o the persistent instance to check
+     */
+    private void singleFieldIdentityInitialized(AbstractPCPointSingleField o) {
+        assertPersistenceCapable(o);
+        makePersistent(o);
+        PersistenceCapable pc = (PersistenceCapable) o;
+        SingleFieldIdentity sfi = 
+            (SingleFieldIdentity) pc.jdoNewObjectIdInstance();
+        if (!o.equalsPKField(sfi)) {
+            fail(ASSERTION_A7_12_39_FAILED + 
+                    "pc.jdoNewObjectIdInstance() returned unexpected " +
+                    "single field identity object id.");
+        }
+    }
+}

Added: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/AbstractPCPointSingleField.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/AbstractPCPointSingleField.java?rev=219225&view=auto
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/AbstractPCPointSingleField.java (added)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/singlefieldidentity/AbstractPCPointSingleField.java Fri Jul 15 10:45:04 2005
@@ -0,0 +1,53 @@
+/*
+ * 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.pc.singlefieldidentity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.jdo.identity.SingleFieldIdentity;
+
+/**
+ * This is the super class for all PCPoint single indentity classes.
+ * It defines an abstract method <code>equals(SingleFieldIdentity)</code>.
+ * That method ensures that all single identity test cases have a common
+ * implementation.  
+ * @author Michael Watzek
+ */
+abstract public class AbstractPCPointSingleField implements Serializable {
+    
+    /** 
+     * This field is used by subclasses 
+     * to compute the value of the primary key field.
+     */ 
+    static long counter = new Date().getTime();
+
+    /**
+     * Returns <code>true</code> if the given the key of the given 
+     * <code>SingleFieldIdentity</code> instance equals the key in the subclass
+     * of this class.
+     * @param singleFieldIdentity the single field identity to check.
+     * @return returns <code>true</code> if the given the key of the given 
+     * <code>SingleFieldIdentity</code> instance equals the key in the subclass
+     * of this class.
+     */
+    abstract public boolean equalsPKField(SingleFieldIdentity singleFieldIdentity);
+
+    public String toString() {
+        return '(' + getClass().getName() + ')';
+    }
+}