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/05/22 20:40:21 UTC

svn commit: r171355 [1/31] - in /incubator/jdo/trunk/fostore20: ./ src/ src/conf/ src/java/ src/java/org/ src/java/org/apache/ src/java/org/apache/jdo/ src/java/org/apache/jdo/impl/ src/java/org/apache/jdo/impl/fostore/ test/ test/conf/ test/fsuid2/ test/fsuid2/org/ test/fsuid2/org/apache/ test/fsuid2/org/apache/jdo/ test/fsuid2/org/apache/jdo/pc/ test/java/ test/java/org/ test/java/org/apache/ test/java/org/apache/jdo/ test/java/org/apache/jdo/impl/ test/java/org/apache/jdo/impl/fostore/ test/java/org/apache/jdo/pc/ test/java/org/apache/jdo/pc/appid/ test/java/org/apache/jdo/pc/empdept/ test/java/org/apache/jdo/pc/serializable/ test/java/org/apache/jdo/pc/xempdept/ test/java/org/apache/jdo/test/ test/java/org/apache/jdo/test/query/ test/java/org/apache/jdo/test/util/ test/jdo/ test/jdo/org/ test/jdo/org/apache/ test/jdo/org/apache/jdo/ test/jdo/org/apache/jdo/pc/ test/jdo/org/apache/jdo/pc/appid/ test/jdo/org/apache/jdo/pc/empdept/ test/jdo/org/apache/jdo/pc/serializable/ test/jdo/org/apache/jdo/pc/xempdept/

Author: mbo
Date: Sun May 22 11:40:13 2005
New Revision: 171355

URL: http://svn.apache.org/viewcvs?rev=171355&view=rev
Log:
First version of JDO2 implementation (FOStore). It includes the FOStore datastore implementation plus test cases.

Added:
    incubator/jdo/trunk/fostore20/
    incubator/jdo/trunk/fostore20/maven.xml
    incubator/jdo/trunk/fostore20/project.properties
    incubator/jdo/trunk/fostore20/project.xml
    incubator/jdo/trunk/fostore20/src/
    incubator/jdo/trunk/fostore20/src/conf/
    incubator/jdo/trunk/fostore20/src/conf/commons-logging.properties
    incubator/jdo/trunk/fostore20/src/conf/logging.properties
    incubator/jdo/trunk/fostore20/src/conf/simplelog.properties
    incubator/jdo/trunk/fostore20/src/java/
    incubator/jdo/trunk/fostore20/src/java/org/
    incubator/jdo/trunk/fostore20/src/java/org/apache/
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AID.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AIDTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AbstractFieldManager.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AbstractFieldRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AbstractRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/ActivateClassHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/ActivateClassRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/BeginTxHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/BeginTxRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Block.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/BooleanTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/BufferedRequestFactory.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Bundle.properties
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/ByteTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/CLID.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/CharTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/CommitHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/CommitRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/CreateOIDHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/CreateOIDRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DBClass.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DBExtent.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DBInfo.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DeleteHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DeleteRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DoubleTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DummyTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DumpHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DumpOption.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/DumpRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Dumper.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreAbstractMethodException.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreBtreeStorage.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreClientConnection.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreClientConnectionImpl.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreConnection.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreConnectionFactory.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreConnectionId.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreConnector.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreDatabase.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreDatabaseException.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreExtent.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreFatalIOException.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreFatalInternalException.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreInput.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreLocalConnection.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreLoginException.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreModel.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreOutput.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStorePM.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStorePMF.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStorePMFFactory.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreRemoteConnection.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreSchemaUID.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreServerConnection.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreServerConnectionImpl.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreStoreManager.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreTranscriberFactory.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreURLStreamHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FOStoreUnsupportedException.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FetchHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FetchRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FieldFetcher.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FieldRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/FloatTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/GetClassHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/GetClassRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/GetExtentHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/GetExtentRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/GetInstancesHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/GetInstancesRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/I18N.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/InsertHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/InsertRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/IntTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/LoginHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/LoginRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/LongTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Main.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Message.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/OID.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/ObjectTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Reply.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/ReplyHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Request.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RequestFactory.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RequestFinisher.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RequestHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RequestId.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RequestType.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RollbackHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/RollbackRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/ShortTranscriber.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Status.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/SubclassSet.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/Tester.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/UpdateHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/UpdateRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/VerifyHandler.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/VerifyRequest.java
    incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/package.html
    incubator/jdo/trunk/fostore20/test/
    incubator/jdo/trunk/fostore20/test/conf/
    incubator/jdo/trunk/fostore20/test/conf/CF.properties.sav
    incubator/jdo/trunk/fostore20/test/conf/JDO20Policy
    incubator/jdo/trunk/fostore20/test/conf/PMF.properties
    incubator/jdo/trunk/fostore20/test/conf/commons-logging.properties
    incubator/jdo/trunk/fostore20/test/conf/jndi.properties
    incubator/jdo/trunk/fostore20/test/conf/logging.properties
    incubator/jdo/trunk/fostore20/test/conf/simplelog.properties
    incubator/jdo/trunk/fostore20/test/conf/tests.list
    incubator/jdo/trunk/fostore20/test/fsuid2/
    incubator/jdo/trunk/fostore20/test/fsuid2/build.xml
    incubator/jdo/trunk/fostore20/test/fsuid2/dist.xml
    incubator/jdo/trunk/fostore20/test/fsuid2/org/
    incubator/jdo/trunk/fostore20/test/fsuid2/org/apache/
    incubator/jdo/trunk/fostore20/test/fsuid2/org/apache/jdo/
    incubator/jdo/trunk/fostore20/test/fsuid2/org/apache/jdo/pc/
    incubator/jdo/trunk/fostore20/test/fsuid2/org/apache/jdo/pc/PCPoint.java
    incubator/jdo/trunk/fostore20/test/fsuid2/org/apache/jdo/pc/PCPoint.jdo
    incubator/jdo/trunk/fostore20/test/fsuid2/org/apache/jdo/pc/fsuid2.jdoproperties
    incubator/jdo/trunk/fostore20/test/java/
    incubator/jdo/trunk/fostore20/test/java/org/
    incubator/jdo/trunk/fostore20/test/java/org/apache/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/impl/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/impl/fostore/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/impl/fostore/Test_FSUID.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/impl/fostore/Test_Transcriber.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/DepartmentFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/EmployeeFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/InsuranceFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/InterfacesFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/LargeObjFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCArrays.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCBase.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCCollection.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCCollections.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCCycle.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCCycle2.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCDepartment.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCDepartment1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCDerived.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCEmployee1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCFullTimeEmployee1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCId.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCInsurance.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCInsurance1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCInterfaces.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCLargeObj.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCPoint.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCPoint1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCPoint1Key.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCPrimitive.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCProject.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCProject1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCRect.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCRefArrays.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCSCO.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PCStroke.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/PointFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/ProjectFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/RectFactory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCDepartment.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCFullTimeEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCInsurance.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCObjectKey.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCPartTimeEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCPerson.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCPoint.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCProject.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/appid/PCRect.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCDepartment.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCFullTimeEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCInsurance.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCPartTimeEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCPerson.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/empdept/PCProject.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCClass1.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCClass2A.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCClass2B.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCSub3.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCSub4A.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCSub4B.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/PCSuper.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/Readme.txt
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/serializable/Transient.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Company.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Department.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Employee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/FullTimeEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Identifiable.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Insurance.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/PartTimeEmployee.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Person.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/PrimitiveTypes.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/Project.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/pc/xempdept/xempdept.jpg   (with props)
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/EmpDeptSupport.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Point.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_4510817.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_4515265.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_6214617.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_ActivateClass.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_AppId.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Arrays.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_ClassRegistration.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_ClosePMF.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Collections.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Container.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Cycle.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Delete.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_DupAppId.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_EmpDept.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_EmpDeptAppId.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_EmpDeptAppIdDelete.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_EmpDeptAppIdInsert.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_EmpDeptAppIdUpdate.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_EmpDeptSerialization.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Extent.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_FSUID2.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Fetch.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Fetch2.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_FetchInserted.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Freezer.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_GetObjectById.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_GetObjectById2.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_HollowUpdate.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Inheritance.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Insert.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Insert2.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Interfaces.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_JDOModel.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_KeyFieldNull.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_LargeObj.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_LifeCycle.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_LifeCycle_Opt.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_LifeCycle_RetF.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_LifeCycle_RetFOpt.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Many.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Navigate.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_NegAll.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_NonTxAccess.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_ObjectId.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Optimistic.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_OptimisticNullNotNull.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_PCDerived.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_PMFProperties.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_ParallelPMs.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Primitives.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Query.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Reachability.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Rect.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_RectAppId.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_RefArrays.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Rollback.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_RollbackFlushedNew.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCO.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOArrayList.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOArrayListOptimistic.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCODate.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOHashMap.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOHashSet.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOHashtable.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOLinkedList.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCORollback.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOSqlDate.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOTreeMap.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOTreeSet.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCOVector.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SCO_Base.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SerialPMs.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Serialize.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SerializeComplex.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_SerializeInher.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_StringOID.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Stroke.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_Update.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_UserHashCode.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_WeakHashSet.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/Test_WeakValueHashMap.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/AdvancedTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/ArithmeticTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/BasicTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/CollectionTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/InheritanceTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/NavigationTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/NegativeTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/OrderingTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/ParameterTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/PositiveTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/QueryApiTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/QueryErrorTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/QueryTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/ScopingTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/SemanticErrorTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/SyntaxErrorTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/TreeTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/query/UnsupportedTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/AbstractTest.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/BatchResultPrinter.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/Container.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/DumpExtent.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/Factory.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/JDORITestRunner.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/OIDComparator.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/SwingTestRunner.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/TestListSuite.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/TestSelector.java
    incubator/jdo/trunk/fostore20/test/java/org/apache/jdo/test/util/Util.java
    incubator/jdo/trunk/fostore20/test/jdo/
    incubator/jdo/trunk/fostore20/test/jdo/org/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/appid/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/appid/appid.jdoproperties
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/appid/package.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/empdept/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/empdept/empdept.jdoproperties
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/empdept/package.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/package.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/pc.jdoproperties
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/serializable/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/serializable/package.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/serializable/serializable.jdoproperties
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/Company.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/Department.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/Employee.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/FullTimeEmployee.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/Insurance.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/PartTimeEmployee.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/Person.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/PrimitiveTypes.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/Project.jdo
    incubator/jdo/trunk/fostore20/test/jdo/org/apache/jdo/pc/xempdept/xempdept.jdoproperties
    incubator/jdo/trunk/fostore20/test/runtest.xml

Added: incubator/jdo/trunk/fostore20/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/maven.xml?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/maven.xml (added)
+++ incubator/jdo/trunk/fostore20/maven.xml Sun May 22 11:40:13 2005
@@ -0,0 +1,332 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+
+<project default="default"
+    xmlns:j="jelly:core"
+    xmlns:ant="jelly:ant"
+    xmlns:maven="jelly:maven"
+    >
+
+    <!-- ==================== -->
+    <!-- Default Global Goals -->
+    <!-- ==================== -->
+
+    <goal name="default">
+        <attainGoal name="jar:install-snapshot"/>
+    </goal>
+
+    <goal name="build">
+        <attainGoal name="default"/>
+    </goal>
+
+    <goal name="rebuild">
+        <attainGoal name="clean"/>
+        <attainGoal name="build"/>
+    </goal>
+
+    <postGoal name="test:prepare-filesystem">
+        <mkdir dir="${jdo.testdir}"/>
+    </postGoal>
+
+    <preGoal name="test:test">
+        <attainGoal name="pcclasses"/>
+        <attainGoal name="testjar.build"/>
+        <attainGoal name="fsuid2.build"/>
+    </preGoal>
+
+    <postGoal name="clean:clean">
+        <delete file="${jdo.pcclasses.jarfile}"/>
+        <delete file="${jdo.testclasses.jarfile}"/>
+        <ant dir="${basedir}/test/fsuid2" target="clean"/>
+    </postGoal>
+
+    <goal name="clobber" prereqs="clean">
+        <delete>
+            <fileset dir="." defaultexcludes="no" includes="**/*~"/>
+        </delete>
+        <ant dir="${basedir}/test/fsuid2" target="clobber"/>
+    </goal>
+
+    <!-- ================== -->
+    <!-- Running test cases -->
+    <!-- ================== -->
+
+    <goal name="runtest">
+        <attainGoal name="runtest.list"/>
+        <attainGoal name="runtest.security"/>
+        <attainGoal name="runtest.multiJVMtests"/>
+    </goal>
+
+    <!-- Runs all tests from the specified test list in batch mode. -->
+    <goal name="runtest.list" prereqs="pcclasses, testjar.build">
+        <ant target="runtest.list"
+             dir="${basedir}/test" antfile="runtest.xml">
+            <property name="testlist" value="${jdo.testlist}"/>
+            <property name="jdoapi" value="${jdo.jdoapi.jarfile}"/>
+            <property name="jdobtree" value="${jdo.jdobtree.jarfile}"/>
+            <property name="jdocore" value="${jdo.jdocore.jarfile}"/>
+            <property name="jdoruntime" value="${jdo.jdoruntime.jarfile}"/>
+            <property name="jdoquery" value="${jdo.jdoquery.jarfile}"/>
+            <property name="jdofostore" value="${maven.build.dir}/classes"/>
+            <property name="jdoritests" value="${jdo.testclasses.jarfile}"/>
+            <property name="pcclasses" value="${jdo.pcclasses.jarfile}"/>
+            <property name="testdir" value="${jdo.testdir}"/>
+            <property name="fsuidjar" value="${jdo.fsuid.jarfile}"/>
+            <property name="junit" value="${junit.jarfile}"/>
+            <property name="jta" value="${jta.jarfile}"/>
+            <property name="antlr" value="${antlr.jarfile}"/>
+            <property name="logging" value="${logging.jarfile}"/>
+            <property name="jndi" value="${jndi}"/>
+            <property name="xmlparser" value="${xmlparser}"/>
+            <property name="status.verbose" value="${status.verbose}"/>
+        </ant>
+    </goal>
+
+    <goal name="runtest.security" prereqs="pcclasses, testjar.build">
+        <ant target="runtest.security"
+             dir="${basedir}/test" antfile="runtest.xml">
+            <property name="policyfile" value="${jdo.security.policy}"/>
+            <property name="testlist" value="${jdo.testlist}"/>
+            <property name="jdoapi" value="${jdo.jdoapi.jarfile}"/>
+            <property name="jdobtree" value="${jdo.jdobtree.jarfile}"/>
+            <property name="jdocore" value="${jdo.jdocore.jarfile}"/>
+            <property name="jdoruntime" value="${jdo.jdoruntime.jarfile}"/>
+            <property name="jdoquery" value="${jdo.jdoquery.jarfile}"/>
+            <property name="jdofostore" value="${maven.build.dir}/classes"/>
+            <property name="jdoritests" value="${jdo.testclasses.jarfile}"/>
+            <property name="pcclasses" value="${jdo.pcclasses.jarfile}"/>
+            <property name="testdir" value="${jdo.testdir}"/>
+            <property name="fsuidjar" value="${jdo.fsuid.jarfile}"/>
+            <property name="junit" value="${junit.jarfile}"/>
+            <property name="jta" value="${jta.jarfile}"/>
+            <property name="antlr" value="${antlr.jarfile}"/>
+            <property name="logging" value="${logging.jarfile}"/>
+            <property name="jndi" value="${jndi}"/>
+            <property name="xmlparser" value="${xmlparser}"/>
+            <property name="status.verbose" value="${status.verbose}"/>
+        </ant>
+    </goal>
+
+    <!-- Runs tests that cannot be run from a test list 
+         (e.g. they require starting a sequence of test programs 
+          where each test programs needs to run in its own JVM.
+    -->
+    <goal name="runtest.multiJVMtests" prereqs="pcclasses, testjar.build">
+        <ant target="runtest.multiJVMtests" 
+             dir="${basedir}/test" antfile="runtest.xml">
+            <property name="jdoapi" value="${jdo.jdoapi.jarfile}"/>
+            <property name="jdobtree" value="${jdo.jdobtree.jarfile}"/>
+            <property name="jdocore" value="${jdo.jdocore.jarfile}"/>
+            <property name="jdoruntime" value="${jdo.jdoruntime.jarfile}"/>
+            <property name="jdoquery" value="${jdo.jdoquery.jarfile}"/>
+            <property name="jdofostore" value="${maven.build.dir}/classes"/>
+            <property name="jdoenhancer" value="${jdo.jdoenhancer.jarfile}"/>
+            <property name="jdoritests" value="${jdo.testclasses.jarfile}"/>
+            <property name="pcclasses" value="${jdo.pcclasses.jarfile}"/>
+            <property name="testdir" value="${jdo.testdir}"/>
+            <property name="fsuidjar" value="${jdo.fsuid.jarfile}"/>
+            <property name="junit" value="${junit.jarfile}"/>
+            <property name="jta" value="${jta.jarfile}"/>
+            <property name="antlr" value="${antlr.jarfile}"/>
+            <property name="logging" value="${logging.jarfile}"/>
+            <property name="jndi" value="${jndi}"/>
+            <property name="xmlparser" value="${xmlparser}"/>
+            <property name="status.verbose" value="${status.verbose}"/>
+        </ant>
+    </goal>
+
+    <!-- ================ -->
+    <!-- Enhancer support -->
+    <!-- ================ -->
+
+    <preGoal name="pcclasses">
+        <condition property="enhancement.required">
+            <not>
+                <uptodate targetfile="${jdo.pcclasses.jarfile}">
+                    <srcfiles dir="${basedir}/test/jdo"
+                              includes="org/apache/jdo/pc/**/*.jdo, 
+                                        org/apache/jdo/pc/**/*.jdoproperties"/>
+                    <srcfiles dir="${basedir}/test/java"
+                              includes="org/apache/jdo/pc/**/*.java,
+                                        org/apache/jdo/util/Util.java,
+                                        org/apache/jdo/test/Test_PCDerived.java"/>
+                </uptodate>
+            </not>
+        </condition>
+    </preGoal>
+
+    <goal name="pcclasses">
+        <j:if test="${enhancement.required}">
+            <attainGoal name="copymetadata"/>
+            <attainGoal name="checkmetadata"/>
+            <attainGoal name="enhance"/>
+            <attainGoal name="augmentationtest"/>
+            <attainGoal name="annotationtest"/>
+	    <attainGoal name="pcclassesjar.build"/>
+        </j:if>
+    </goal>
+
+    <goal name="copymetadata"
+          description="Copies JDO metadata files to target/test-classes">
+        <copy todir="${jdo.testclasses.dir}">
+            <fileset dir="${basedir}/test/jdo" includes="**/*.jdo"/>
+        </copy>
+        <mkdir dir="${jdo.enhancer.enhanced.dir}"/>
+        <copy todir="${jdo.enhancer.enhanced.dir}">
+            <fileset dir="${basedir}/test/jdo" includes="**/*.jdo"/>
+        </copy>
+    </goal>
+
+    <goal name="checkmetadata"
+          description="Check existence of XML metadata for pc classes">
+        <echo>Check existence of XML metadata for pc classes</echo>
+        <java fork="yes" failonerror="yes" 
+              classname="${jdo.xmlexists.main}" 
+              classpath="${jdo.xmlexists.classpath}">
+            <arg line="${jdo.pcclasses.pc.classes}"/>
+            <arg line="${jdo.pcclasses.empdept.classes}"/>
+            <arg line="${jdo.pcclasses.xempdept.classes}"/>
+            <arg line="${jdo.pcclasses.appid.classes}"/>
+            <arg line="${jdo.pcclasses.serializable.classes}"/>
+        </java>
+    </goal>
+
+    <goal name="enhance"
+          description="Enhance persistence-capable and persistence-aware classes">
+        <echo>Enhance persistence-capable and persistence-aware classes</echo>
+        <java failonerror="true" fork="true" 
+              classname="${jdo.enhancer.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="${jdo.enhancer.options}"/>
+            <arg line="${jdo.pcclasses.pc.files}"/>
+            <arg line="${jdo.pcclasses.empdept.files}"/>
+            <arg line="${jdo.pcclasses.xempdept.files}"/>
+            <arg line="${jdo.pcclasses.appid.files}"/>
+            <arg line="${jdo.pcclasses.serializable.files}"/>
+            <arg line="${jdo.pawareclasses.test.files}"/>
+        </java>
+   </goal>
+
+    <goal name="augmentationtest">
+        <java fork="yes" failonerror="yes" 
+              classname="${jdo.augmentationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="${jdo.augmentationtest.options}"/>
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/pc.jdoproperties"/>
+            <arg line="${jdo.pcclasses.pc.classes}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.augmentationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="${jdo.augmentationtest.options}"/>
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/empdept/empdept.jdoproperties"/>
+            <arg line="${jdo.pcclasses.empdept.classes}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.augmentationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="${jdo.augmentationtest.options}"/>
+            <arg line=" --properties ${basedir}/test/jdo/org/apache/jdo/pc/xempdept/xempdept.jdoproperties"/>
+            <arg line="${jdo.pcclasses.xempdept.classes}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.augmentationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="${jdo.augmentationtest.options}"/>
+            <arg line=" --properties ${basedir}/test/jdo/org/apache/jdo/pc/appid/appid.jdoproperties"/>
+            <arg line=" ${jdo.pcclasses.appid.classes}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.augmentationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="${jdo.augmentationtest.options}"/>
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/serializable/serializable.jdoproperties"/>
+            <arg line="${jdo.pcclasses.serializable.classes}"/>
+        </java>
+    </goal>
+
+    <goal name="annotationtest">
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.annotationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/pc.jdoproperties"/>
+            <arg line="${jdo.pcclasses.pc.files}"/>
+            <arg line="${jdo.pawareclasses.test.files}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.annotationtest.main}"
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/empdept/empdept.jdoproperties"/>
+            <arg line="${jdo.pcclasses.empdept.files}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.annotationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/xempdept/xempdept.jdoproperties"/>
+            <arg line="${jdo.pcclasses.xempdept.files}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.annotationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/appid/appid.jdoproperties"/>
+            <arg line=" ${jdo.pcclasses.appid.files}"/>
+        </java>
+        <java fork="yes" failonerror="yes"
+              classname="${jdo.annotationtest.main}" 
+              classpath="${jdo.enhancer.classpath}">
+            <arg line="--properties ${basedir}/test/jdo/org/apache/jdo/pc/serializable/serializable.jdoproperties"/>
+            <arg line="${jdo.pcclasses.serializable.files}"/>
+        </java>
+    </goal>
+
+    <goal name="pcclassesjar.build">
+        <delete file="${jdo.pcclasses.jarfile}"/>
+        <jar jarfile="${jdo.pcclasses.jarfile}">
+            <fileset dir="${jdo.testclasses.dir}" 
+                     includes="org/apache/jdo/util/Util.class, 
+                               org/apache/jdo/pc/**/*.class, 
+                               org/apache/jdo/pc/**/*.jdo"/>
+        </jar>
+    </goal>
+
+    <!-- ==== -->
+    <!-- Misc -->
+    <!-- ==== -->
+
+    <goal name="testjar.build">
+        <delete file="${jdo.testclasses.jarfile}"/>
+        <jar jarfile="${jdo.testclasses.jarfile}">
+            <fileset dir="${jdo.testclasses.dir}" 
+                     includes="org/apache/jdo/test/**/*.class, 
+                               org/apache/jdo/impl/fostore/*.class"/> 
+            <fileset dir="${basedir}/test/conf"
+                     includes="*properties"/>
+        </jar>
+    </goal>
+
+    <goal name="fsuid2.build">
+        <ant dir="${basedir}/test/fsuid2" target="build">
+            <property name="jdoapi" value="${jdo.jdoapi.jarfile}"/>
+            <property name="jdocore" value="${jdo.jdocore.jarfile}"/>
+            <property name="jdoenhancer" value="${jdo.jdoenhancer.jarfile}"/>
+            <property name="logging" value="${logging.jarfile}"/>
+            <property name="xerces" value="${xerces.jarfile}"/>
+            <property name="fsuid2.jarfile" value="${jdo.fsuid.jarfile}"/>
+        </ant>
+    </goal>
+
+</project>

Added: incubator/jdo/trunk/fostore20/project.properties
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/project.properties?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/project.properties (added)
+++ incubator/jdo/trunk/fostore20/project.properties Sun May 22 11:40:13 2005
@@ -0,0 +1,201 @@
+#
+# 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.
+
+# Start new JVM for junit tests
+maven.junit.fork = yes
+maven.junit.dir = ${jdo.testdir}
+
+# checkstyle settings
+maven.checkstyle.properties = ${basedir}/../jdo_checks.xml
+
+# dependencies
+jdo.jdoapi.jarfile = ${pom.getDependencyPath('apache-jdo:jdo1-api')}
+jdo.jdobtree.jarfile = ${pom.getDependencyPath('apache-jdo:jdo-btree')}
+jdo.jdocore.jarfile = ${pom.getDependencyPath('apache-jdo:jdo2-core')}
+jdo.jdoenhancer.jarfile = ${pom.getDependencyPath('apache-jdo:jdo2-enhancer')}
+jdo.jdoruntime.jarfile = ${pom.getDependencyPath('apache-jdo:jdo2-runtime')}
+jdo.jdoquery.jarfile = ${pom.getDependencyPath('apache-jdo:jdo2-query')}
+junit.jarfile = ${pom.getDependencyPath('junit:junit')}
+antlr.jarfile = ${pom.getDependencyPath('antlr:antlr')}
+jta.jarfile = ${pom.getDependencyPath('geronimo-spec:geronimo-spec-jta')}
+logging.jarfile = ${pom.getDependencyPath('commons-logging')}
+# JNDI implementation
+jndi = ${basedir}/fscontext.jar${path.separator}${basedir}/providerutil.jar
+xmlparser = 
+
+jdo.testclasses.dir = ${maven.build.dir}/test-classes
+jdo.pcclasses.jarfile = ${maven.build.dir}/test-classes/pcclasses.jar
+jdo.testclasses.jarfile = ${maven.build.dir}/test-classes/jdo-ri-tests.jar
+jdo.fsuid.jarfile = ${maven.build.dir}/test-classes/fsuid2.jar
+jdo.testlist = ${basedir}/test/conf/tests.list
+jdo.testdir = ${maven.build.dir}/database
+jdo.security.policy = ${basedir}/test/conf/JDO20Policy
+
+# enhancer 
+jdo.enhancer.enhanced.dir = ${maven.build.dir}/test-classes
+jdo.enhancer.main = org.apache.jdo.enhancer.Main
+jdo.enhancer.options = -f -d "${jdo.enhancer.enhanced.dir}" -s "${jdo.enhancer.sourcepath}"
+jdo.enhancer.sourcepath = ${maven.build.dir}/test-classes${path.separator}${jdo.jdoapi.jarfile}
+jdo.enhancer.classpath = ${jdo.jdoenhancer.jarfile}${path.separator}${jdo.jdocore.jarfile}${path.separator}${jdo.jdoapi.jarfile}${path.separator}${logging.jarfile}
+jdo.annotationtest.main = org.apache.jdo.impl.enhancer.util.AnnotationTest
+jdo.annotationtest.options = -s "${jdo.enhancer.enhanced.dir}${path.separator}${jdo.enhancer.sourcepath}"
+jdo.augmentationtest.main = org.apache.jdo.impl.enhancer.util.AugmentationTest
+jdo.augmentationtest.options = -s "${jdo.enhancer.enhanced.dir}${path.separator}${jdo.enhancer.sourcepath}"
+jdo.xmlexists.main = org.apache.jdo.impl.model.jdo.xml.XMLExists
+jdo.xmlexists.classpath = ${maven.build.dir}/test-classes${path.separator}${jdo.jdoruntime.jarfile}${path.separator}${jdo.jdocore.jarfile}${path.separator}${jdo.jdoapi.jarfile}${path.separator}${logging.jarfile}
+
+jdo.pcclasses.pc.classes= \
+  org.apache.jdo.pc.PCArrays \
+  org.apache.jdo.pc.PCCollections \
+  org.apache.jdo.pc.PCCycle \
+  org.apache.jdo.pc.PCCycle2 \
+  org.apache.jdo.pc.PCDepartment \
+  org.apache.jdo.pc.PCDepartment1 \
+  org.apache.jdo.pc.PCEmployee \
+  org.apache.jdo.pc.PCEmployee1 \
+  org.apache.jdo.pc.PCFullTimeEmployee1 \
+  org.apache.jdo.pc.PCInsurance \
+  org.apache.jdo.pc.PCInsurance1 \
+  org.apache.jdo.pc.PCInterfaces \
+  org.apache.jdo.pc.PCLargeObj \
+  org.apache.jdo.pc.PCPoint \
+  org.apache.jdo.pc.PCPoint1 \
+  org.apache.jdo.pc.PCPrimitive \
+  org.apache.jdo.pc.PCProject \
+  org.apache.jdo.pc.PCProject1 \
+  org.apache.jdo.pc.PCRect \
+  org.apache.jdo.pc.PCRefArrays \
+  org.apache.jdo.pc.PCSCO \
+  org.apache.jdo.pc.PCStroke \
+  org.apache.jdo.pc.PCBase \
+  org.apache.jdo.pc.PCDerived \
+  org.apache.jdo.pc.PCId \
+  org.apache.jdo.pc.PCCollection
+
+jdo.pcclasses.pc.files= \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCArrays.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCCollections.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCCycle.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCCycle2.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCDepartment.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCDepartment1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCEmployee1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCFullTimeEmployee1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCInsurance.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCInsurance1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCInterfaces.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCLargeObj.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCPoint.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCPoint1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCPrimitive.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCProject.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCProject1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCRect.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCRefArrays.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCSCO.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCStroke.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCBase.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCDerived.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCId.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/PCCollection.class
+
+jdo.pcclasses.empdept.classes= \
+  org.apache.jdo.pc.empdept.PCPerson \
+  org.apache.jdo.pc.empdept.PCEmployee \
+  org.apache.jdo.pc.empdept.PCFullTimeEmployee \
+  org.apache.jdo.pc.empdept.PCPartTimeEmployee \
+  org.apache.jdo.pc.empdept.PCInsurance \
+  org.apache.jdo.pc.empdept.PCDepartment \
+  org.apache.jdo.pc.empdept.PCProject
+
+jdo.pcclasses.empdept.files= \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCPerson.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCFullTimeEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCPartTimeEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCInsurance.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCDepartment.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/empdept/PCProject.class
+
+jdo.pcclasses.xempdept.classes= \
+  org.apache.jdo.pc.xempdept.Company \
+  org.apache.jdo.pc.xempdept.Department \
+  org.apache.jdo.pc.xempdept.Person \
+  org.apache.jdo.pc.xempdept.Employee \
+  org.apache.jdo.pc.xempdept.FullTimeEmployee \
+  org.apache.jdo.pc.xempdept.PartTimeEmployee \
+  org.apache.jdo.pc.xempdept.Insurance \
+  org.apache.jdo.pc.xempdept.Project \
+  org.apache.jdo.pc.xempdept.PrimitiveTypes
+
+jdo.pcclasses.xempdept.files= \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/Company.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/Department.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/Person.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/Employee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/FullTimeEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/PartTimeEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/Insurance.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/Project.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/xempdept/PrimitiveTypes.class
+
+jdo.pcclasses.appid.classes= \
+  org.apache.jdo.pc.appid.PCPoint \
+  org.apache.jdo.pc.appid.PCRect \
+  org.apache.jdo.pc.appid.PCPerson \
+  org.apache.jdo.pc.appid.PCEmployee \
+  org.apache.jdo.pc.appid.PCFullTimeEmployee \
+  org.apache.jdo.pc.appid.PCPartTimeEmployee \
+  org.apache.jdo.pc.appid.PCInsurance \
+  org.apache.jdo.pc.appid.PCDepartment \
+  org.apache.jdo.pc.appid.PCProject \
+  org.apache.jdo.pc.appid.PCObjectKey
+
+jdo.pcclasses.appid.files= \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCPoint.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCRect.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCPerson.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCFullTimeEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCPartTimeEmployee.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCInsurance.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCDepartment.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCProject.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/appid/PCObjectKey.class
+
+jdo.pcclasses.serializable.classes= \
+  org.apache.jdo.pc.serializable.PCClass1 \
+  org.apache.jdo.pc.serializable.PCClass2A \
+  org.apache.jdo.pc.serializable.PCClass2B \
+  org.apache.jdo.pc.serializable.PCSuper \
+  org.apache.jdo.pc.serializable.PCSub3 \
+  org.apache.jdo.pc.serializable.PCSub4A \
+  org.apache.jdo.pc.serializable.PCSub4B
+
+jdo.pcclasses.serializable.files= \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCClass1.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCClass2A.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCClass2B.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCSuper.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCSub3.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCSub4A.class \
+  ${jdo.testclasses.dir}/org/apache/jdo/pc/serializable/PCSub4B.class
+
+jdo.pawareclasses.test.classes= \
+  org.apache.jdo.test.Test_PCDerived
+
+jdo.pawareclasses.test.files= \
+  ${jdo.testclasses.dir}/org/apache/jdo/test/Test_PCDerived.class

Added: incubator/jdo/trunk/fostore20/project.xml
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/project.xml?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/project.xml (added)
+++ incubator/jdo/trunk/fostore20/project.xml Sun May 22 11:40:13 2005
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+
+<project>
+    <pomVersion>3</pomVersion>
+    <extend>../project.xml</extend>
+    <!-- ============== -->
+    <!-- Identification -->
+    <!-- ============== -->
+    <name>JDO2 Implementation (FOStore)</name>
+    <artifactId>jdo2-fostore</artifactId>
+    <currentVersion>2.0</currentVersion>
+    <package>org.apache.jdo</package>
+    <shortDescription>Java Data Object 2.0 (JDO) Core</shortDescription>
+    <description>The Java Data Objects 2.0 (JDO) API is a standard interface-based 
+Java model abstraction of persistence, developed as Java Specification 
+Request JSR 243 under the auspices of the Java Community Process.</description>
+    <repository />
+    <!-- ============ -->
+    <!-- Dependencies -->
+    <!-- ============ -->
+    <dependencies>
+        <dependency>
+            <groupId>apache-jdo</groupId>
+            <artifactId>jdo1-api</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>apache-jdo</groupId>
+            <artifactId>jdo2-core</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>apache-jdo</groupId>
+            <artifactId>jdo2-enhancer</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>apache-jdo</groupId>
+            <artifactId>jdo2-query</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>apache-jdo</groupId>
+            <artifactId>jdo2-runtime</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>apache-jdo</groupId>
+            <artifactId>jdo-btree</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <id>commons-logging</id>
+            <version>1.0.4</version>
+        </dependency>
+        <dependency>
+            <groupId>geronimo-spec</groupId>
+            <artifactId>geronimo-spec-jta</artifactId>
+            <version>1.0.1B-rc2</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+        </dependency>
+        <dependency>
+            <groupId>antlr</groupId>
+            <artifactId>antlr</artifactId>
+            <version>2.7.3</version>
+            <url>http://www.antlr.org/download.html</url>
+        </dependency>
+    </dependencies>
+    <!-- =================== -->
+    <!-- Build Specification -->
+    <!-- =================== -->
+    <build>
+        <sourceDirectory>src/java</sourceDirectory>
+        <unitTestSourceDirectory>test/java</unitTestSourceDirectory>
+        <!-- Unit test cases -->
+        <unitTest>
+            <includes>
+                <include>org/**/Test_*.java</include>
+            </includes>
+            <excludes>
+                <exclude>org/**/util/*.java</exclude>
+                <exclude>org/**/Test_ClassRegistration.java</exclude>
+                <exclude>org/**/Test_FSUID2.java</exclude>
+                <exclude>org/**/Test_FetchInserted.java</exclude>
+                <exclude>org/**/Test_GetObjectById2.java</exclude>
+                <exclude>org/**/Test_NonExistent.java</exclude>
+                <exclude>org/**/Test_EmpDeptAppIdInsert.java</exclude>
+                <exclude>org/**/Test_EmpDeptAppIdUpdate.java</exclude>
+                <exclude>org/**/Test_EmpDeptAppIdDelete.java</exclude>
+            </excludes>
+            <resources>
+                <resource>
+                    <directory>${basedir}/test/conf</directory>
+                    <includes>
+                        <include>PMF.properties</include>
+                        <include>jndi.properties</include>
+                        <include>commons-logging.properties</include>
+                        <include>simplelog.properties</include>
+                        <include>logging.properties</include>
+                    </includes>
+                </resource>
+            </resources>
+        </unitTest>
+        <!-- J A R  R E S O U R C E S -->
+        <!-- Resources that are packaged up inside the JAR file -->
+        <resources>
+            <resource>
+                <directory>${basedir}/src/java</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                </includes>
+            </resource>
+        </resources>
+    </build>
+</project>
+

Added: incubator/jdo/trunk/fostore20/src/conf/commons-logging.properties
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/src/conf/commons-logging.properties?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/src/conf/commons-logging.properties (added)
+++ incubator/jdo/trunk/fostore20/src/conf/commons-logging.properties Sun May 22 11:40:13 2005
@@ -0,0 +1,45 @@
+#
+# 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.
+
+#
+# This is a sample apache commons logging configuration file defining logging 
+# properties for the JDO2 Implementation (FOStore) sources. It defines what
+# logging implementation the apache commons logging API should use by specifying
+# the property org.apache.commons.logging.Log (see below). Please note, that
+# there are separate property files for each logging implementation to set the
+# log level of the loggers:
+# - SimpleLog:      simplelog.properties 
+# - JDK1.4 logging: logging.properties
+#
+# The JDO2 Implementation (FOStore) sources use the following logger instances:
+# org.apache.jdo.impl.fostore         File Object Store implementation
+# Dependent projects:
+# org.apache.jdo.util                 Utility classes
+# org.apache.jdo.impl.model.jdo       JDOModel implementation
+# org.apache.jdo.impl.model.jdo.xml   XML parser for JDO metadata files
+# org.apache.jdo.impl.pm              PM and PMF implementation
+# org.apache.jdo.impl.sco             SCO implementation
+# org.apache.jdo.impl.state           StateManager implementation
+# org.apache.jdo.store                Generic StoreManager implementation
+# org.apache.jdo.impl.jdoql           JDOQL query runtime
+# org.apache.jdo.impl.jdoql.jdoqlc    JDOQL query compiler
+#
+
+# Uncomment the next line if you want to use the apache simple logger
+#org.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog
+
+# Uncomment the next two lines if you want to use JDK 1.4 logging
+#org.apache.commons.logging.Log = org.apache.jdo.util.JDOJdk14Logger
+

Added: incubator/jdo/trunk/fostore20/src/conf/logging.properties
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/src/conf/logging.properties?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/src/conf/logging.properties (added)
+++ incubator/jdo/trunk/fostore20/src/conf/logging.properties Sun May 22 11:40:13 2005
@@ -0,0 +1,68 @@
+#
+# 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.
+
+#
+# This is a sample properties file to configure standard JDK 1.4 logging for 
+# the JDO2 Implementation (FOStore) sources. 
+# Below you find an entry for each of the source logger instances. 
+# Please uncomment the line and adapt the log level to your needs, 
+# in case to want to enable a particular logger.
+#
+# The following describes the mapping between the log level of JDK 1.4 logging
+# and apache commns logging:
+#   JDK 1.4        Apache 
+#   FINEST         trace 
+#   FINE, FINER    debug 
+#   INFO, CONFIG   info
+#   WARNING        warn
+#   SEVERE         error, fatal
+#
+
+######################
+# FOStore source logger
+######################
+
+# FOStore logger
+#org.apache.jdo.impl.fostore.level = FINE
+
+######################
+# Dependent projects
+######################
+
+# Utility class logger
+#org.apache.jdo.util.level = FINE
+# JDOModel logger
+#org.apache.jdo.impl.model.jdo.level = FINE
+# XML parser logger
+#org.apache.jdo.impl.model.jdo.xml.level = FINE
+# PM and PMF logger
+#org.apache.jdo.impl.pm.level = FINE
+# SCO logger
+#org.apache.jdo.impl.sco.level = FINE
+# StateManager logger
+#org.apache.jdo.impl.state.level = FINE
+# Generic StoreManager logger
+#org.apache.jdo.store.level = FINE
+# JDOQL query logger
+#org.apache.jdo.impl.jdoql.level = FINE
+# JDOQL query compiler logger
+#org.apache.jdo.impl.jdoql.jdoqlc.level = FINE
+
+######################
+# JDK 1.4 logging properties
+######################
+
+handlers = java.util.logging.ConsoleHandler
+java.util.logging.ConsoleHandler.level = FINEST

Added: incubator/jdo/trunk/fostore20/src/conf/simplelog.properties
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/src/conf/simplelog.properties?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/src/conf/simplelog.properties (added)
+++ incubator/jdo/trunk/fostore20/src/conf/simplelog.properties Sun May 22 11:40:13 2005
@@ -0,0 +1,58 @@
+#
+# 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.
+
+#
+# This is a sample properties file to configure apache commons logging SimpleLog
+# implementation for the JDO2 Implementation (FOStore) sources. 
+# Below you find an entry for each of the source logger instances. 
+# Please uncomment the line and adapt the log level to your needs, 
+# in case to want to enable a particular logger.
+#
+
+######################
+# FOStore source logger
+######################
+
+# FOStore logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.fostore = debug
+
+######################
+# Dependent projects
+######################
+
+# Utility class logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.util = debug
+# JDOModel logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.model.jdo = debug
+# XML parser logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.model.jdo.xml = debug
+# PM and PMF logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.pm = debug
+# SCO logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.sco = debug
+# StateManager logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.state = debug
+# Generic StoreManager logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.store = debug
+# JDOQL query logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.jdoql = debug
+# JDOQL query compiler logger
+#org.apache.commons.logging.simplelog.log.org.apache.jdo.impl.jdoql.jdoqlc = debug
+
+######################
+# Default logging level
+######################
+
+org.apache.commons.logging.simplelog.defaultlog = error

Added: incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AID.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AID.java?rev=171355&view=auto
==============================================================================
--- incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AID.java (added)
+++ incubator/jdo/trunk/fostore20/src/java/org/apache/jdo/impl/fostore/AID.java Sun May 22 11:40:13 2005
@@ -0,0 +1,449 @@
+/*
+ * 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.impl.fostore;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.IOException;
+import java.util.Arrays;
+
+import java.security.AccessController;
+import java.security.MessageDigest;
+import java.security.PrivilegedAction;
+import java.security.NoSuchAlgorithmException;
+
+import javax.jdo.JDOFatalException;
+import javax.jdo.JDOFatalInternalException;
+import javax.jdo.JDOUserException;
+import javax.jdo.JDOFatalUserException;
+import javax.jdo.spi.JDOImplHelper;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.pm.PersistenceManagerInternal;
+import org.apache.jdo.state.StateManagerInternal;
+import org.apache.jdo.util.I18NHelper;
+
+
+/**
+ * Represents the identity of a JDO object in the File/Object store.  This
+ * implementation uses application identity.  The identity is based on the class
+ * of the object and a byte[] buffer that represents values in the user
+ * object Id instance which creates a unique identifier within that class.  
+ * These ID's are unique only within a single datastore.
+ * <p>
+ *
+ * @author Marina Vatkina
+ */
+public class AID extends OID {
+
+    // These bytes represent user ID:
+    private byte[] buffer;
+
+    // Hashcode uniquely identifying this AID via UID.
+    private int hashCode;
+
+    // CLID for the superclass that corresponds to the user defined
+    // key class.
+    private long sCLIDBits;
+
+    /** I18N support. */
+    private static final I18NHelper msg = I18NHelper.getInstance(I18N.NAME);
+
+    /** JDOImplHelper instance */
+    private final static JDOImplHelper jdoImplHelper = 
+        (JDOImplHelper) AccessController.doPrivileged (
+            new PrivilegedAction () {
+                public Object run () {
+                    try {
+                        return JDOImplHelper.getInstance();
+                    }
+                    catch (SecurityException e) {
+                        throw new JDOFatalUserException (msg.msg(
+                            e.getMessage()), e); // NOI18N
+                    }
+                }
+            }    
+        );
+
+    /** 
+     * Default constructor.
+     */
+    public AID() {
+        super();
+        sCLIDBits = getCLID().getId();
+    }
+
+    /**
+    * Creates an AID with the given value.
+    */
+    public AID(long oid) {
+        super(oid);
+        sCLIDBits = getCLID().getId();
+    }
+
+    /**
+    * Create and return a new instance of AID. 
+    * @return a new instance of AID.
+    */
+    static AID create(Class pcClass, PersistenceCapable pc, 
+                                      Object userOid, 
+                                      PersistenceManagerInternal pm,
+                                      FOStorePMF pmf) {
+        boolean fromPC = false;
+        if (userOid == null) { 
+            fromPC = true;
+            userOid = pc.jdoNewObjectIdInstance();
+            pc.jdoCopyKeyFieldsToObjectId(userOid);
+        }
+        AID rc = new AID();
+        rc.createBuffer(userOid, pcClass, pmf, fromPC, pc);
+        rc.setSuperCLIDBits(pcClass, userOid.getClass(), pm, pmf);
+
+        return rc;
+    }
+
+
+    /**
+    * Determines if this AID is equal to another.
+    * @param other The other AID in the equality comparison.
+    * @return True if they are equal, false otherwise.
+    */
+    public boolean equals(Object other) {
+        boolean rc = false;
+        if (other instanceof AID) {
+            AID o = (AID)other;
+
+            long uidBits = this.oid & UID_MASK;
+            long o_uidBits = o.oid & UID_MASK;
+
+            // It is enough to compare super class CLID bits,
+            // as there are no 2 subclasses with the same uid.
+            rc = Arrays.equals(this.buffer, o.buffer) && 
+                (uidBits == o_uidBits) && (sCLIDBits == o.sCLIDBits);
+        }
+        return rc;
+    }
+
+    /**
+    * Returns a String representation of this AID.  Includes whether or not
+    * the instance is provisional, and its reserved bits, if they are set.
+    */
+    public String toString() {
+        StringBuffer rc =
+            new StringBuffer(
+                "OID: " + // NOI18N
+                ((oid & CLID_MASK) >> CLID_SHIFT) +
+                "-0x") ; // NOI18N
+        for (int i = 0; i < buffer.length; i++) {
+            rc.append(toHexString(buffer[i]));
+        }       
+
+        if (isProvisional()) {
+            rc.append(" (provisional)"); // NOI18N
+        }
+        long res = oid & RESERVED_MASK;
+        if (res > 0) {
+            res = res >> RESERVED_SHIFT;
+            rc.append(" (reserved=" + res + ")"); // NOI18N
+        }
+        rc.append(" (super CLID=" + sCLIDBits + ")"); // NOI18N
+        return rc.toString();      
+    }
+
+    /**
+    * Returns the id itself in String form, for debugging.
+    */
+    public String oidString() {
+        return "" + oid; // NOI18N
+    }
+
+    /**
+    * Provides a unique hashCode for this AID.
+    */
+    public int hashCode() {
+        if (0 == hashCode) {
+            hashCode = new Long(oid & UID_MASK).hashCode();
+        }
+        return hashCode;
+    }
+
+    
+    /**
+     * Returns true for application identity type for this OID.
+     */
+    boolean isApplicationIdentity() {
+        return true;
+    }
+
+    /**
+     * Returns false for datastore identity type for this OID.
+     */
+    boolean isDataStoreIdentity() {
+        return false;
+    }
+
+    /**
+     * Returns copy of the requested oid to be accessed by the user.
+     */
+    Object getExternalObjectId(PersistenceCapable pc) {
+
+        // Create and return user Oid value from persistence-capable
+        // instance.
+        Object rc = pc.jdoNewObjectIdInstance();
+        pc.jdoCopyKeyFieldsToObjectId(rc);
+
+        return rc;
+    }
+
+    //
+    // Serialization
+    // We provide the {write,read}Object methods for java.io.Serialization, so
+    // that we know exactly what's being written and read.  We also have
+    // methods used elsewhere in the fostore package that don't rely
+    // ObjectOutput stuff.
+    //
+
+    /**
+    * Writes this AID to the output stream.
+    */
+    public void writeObject(ObjectOutputStream out) throws IOException {
+        write(out);
+    }
+
+    /**
+    * Reads this AID's value from the input stream. 
+    */
+    public void readObject(ObjectInputStream in) throws IOException {
+        boolean applicationIdentity = in.readBoolean();
+        oid = in.readLong();
+        this.readBuffer(in);
+    }
+
+    /**
+    * Writes this AID to the output stream.
+    */
+    void write(DataOutput out) throws IOException {
+        if (logger.isDebugEnabled()) {
+                logger.debug("AID.write: " + this + " oid: " + oid);  // NOI18N
+        }
+        out.writeBoolean(true);
+        out.writeLong(oid);
+        out.writeLong(sCLIDBits);
+        out.writeInt(buffer.length);
+        out.write(buffer);
+    }
+
+    /**
+    * Reads AID buffer's value from the input stream. 
+    */
+    void readBuffer(DataInput in) throws IOException {
+        try {
+            sCLIDBits = in.readLong();
+            int length = in.readInt();
+            buffer = new byte[length];
+            in.readFully(buffer);
+        } catch (IOException ex) {
+            throw new FOStoreFatalIOException(
+                AID.class, "read", ex); // NOI18N
+        }
+        if (logger.isDebugEnabled()) {
+                logger.debug("AID.read: " + this);  // NOI18N
+        }
+    }
+
+    /** Replaces provisional oid with real oid (datastore identity only)
+     * @param realOID as OID instance
+     * @param pmf as FOStorePMF
+     * @param sm as StateManagerInternal
+     */
+    void replaceProvisionalOIDWithReal(OID realOID, FOStorePMF pmf, 
+                                           StateManagerInternal sm) {
+        // Construct oid from new CLID and existing UID.
+        if (logger.isDebugEnabled()) {
+            logger.debug("AID.replaceProvisionalOIDWithReal: " +   // NOI18N
+                this + " with: " + realOID); // NOI18N
+        }
+        OID oldOid = this.copy();
+
+        long clidBits = realOID.oid & CLID_MASK;
+        long uidBits = this.oid & UID_MASK;
+        this.oid = clidBits | uidBits; 
+
+        if (sm != null && sm.getPCClass() != null) { 
+            // Calculate superclass version of this OID for future lookup.
+            setSuperCLIDBits(sm.getPCClass(), null, sm.getPersistenceManager(), pmf);
+
+        } else if (oldOid.isProvisional()) {
+            // else just sync the values.
+            sCLIDBits = getCLID().getId();
+        }
+    }
+
+    /**
+     * Returns copy of the requested oid.
+     */  
+    OID copy() {
+        AID rc = new AID();
+        rc.oid = oid;
+        rc.sCLIDBits = sCLIDBits;
+        rc.buffer = new byte[buffer.length];
+        System.arraycopy(buffer, 0, rc.buffer, 0, buffer.length);
+
+        return rc;
+    }
+
+    /**
+     * Copy key fields from OID into PC instance. No-op for the
+     * datastore identity type for this OID.
+     * @param sm as StateManagerInternal
+     * @param pmf as FOStorePMF
+     * @param pcClass Class of the PC instance.  
+     * @param pkfields array of PK field numbers.
+     */  
+    void copyKeyFieldsToPC(StateManagerInternal sm, FOStorePMF pmf,
+                                    Class pcClass, int[] pkfields) {
+        FieldFetcher ff =
+            new FieldFetcher(new FOStoreInput(buffer, 0, buffer.length),
+                 pmf.getModel(),
+                 sm.getPersistenceManager(),
+                 pcClass.getClassLoader(),
+                 false); // do not skip other fields
+        ff.setPCClass(pcClass);
+
+        sm.replaceFields(pkfields, ff);
+    }
+
+    //
+    // Internal methods.
+    //
+    
+    private void createBuffer (Object userOid, Class pcClass, FOStorePMF pmf, 
+            boolean fromPC, PersistenceCapable pc) {
+        if (logger.isDebugEnabled()) {
+            logger.debug("AID.createBuffer: " +   // NOI18N
+                " for userOid: " + userOid + ", pcClass: " + pcClass.getName()); // NOI18N
+        }
+        FOStoreModel model = pmf.getModel();
+        CLID clid = model.getCLID(pcClass);
+        long clidBits = clid.getId();
+        clidBits <<= CLID_SHIFT;
+        if (clid.isProvisional()) {
+            clidBits |= PROV_CLID_MASK;
+        }
+
+        FOStoreOutput out = new FOStoreOutput();
+        AIDTranscriber aidTranscriber = new AIDTranscriber(out, pcClass, pmf);
+        try {
+            jdoImplHelper.copyKeyFieldsFromObjectId(
+                    pcClass, aidTranscriber, userOid);
+        } catch (NullPointerException npe) {
+            if (fromPC) {
+                throw new JDOUserException(msg.msg("EXC_MakePersistentKeyFieldNull", 
+                    npe.getMessage()), pc);
+            } else {
+                throw new JDOUserException(msg.msg("EXC_GetObjectByIdKeyFieldNull", 
+                    npe.getMessage()), userOid);
+            }
+        }
+
+        // Read the field values part of the block.
+        int length = out.getPos();
+        byte[] temp = out.getBuf();
+        buffer = new byte[length];
+        System.arraycopy(temp, 0, buffer, 0, length);
+
+        long uidBits = computeUID();
+        oid = clidBits | (uidBits & UID_MASK); 
+        if (logger.isDebugEnabled()) {
+            logger.debug("AID.createBuffer: " +   // NOI18N
+                this + " oid: " + Long.toHexString(oid)); // NOI18N
+        }
+
+    }
+
+    /** 
+     * Sets CLID bits for the superclass that corresponds to the user
+     * defined key class.
+     * @param pcClass the class of the persisntence-capable instance or
+     * null if not known.
+     * @param keyClass the class of the user defined key or null if not
+     * known.
+     * @param pm the PersistenceManagerInternal that requested the operation.
+     * @param pmf the FOStorePMF that requested the operation.
+     */
+    private void setSuperCLIDBits(Class pcClass, Class keyClass, 
+                                  PersistenceManagerInternal pm,
+                                  FOStorePMF pmf) {
+        long rc = getCLID().getId();
+
+        if (pcClass != null) {
+            if (keyClass == null) {
+                keyClass = jdoImplHelper.newObjectIdInstance(pcClass).getClass();
+            } 
+            try {
+
+                Class cls = pm.loadPCClassForObjectIdClass(keyClass);
+                if (cls != null) {
+                    rc = pmf.getModel().getCLID(cls).getId();
+
+                    if (logger.isDebugEnabled()) {
+                        logger.debug("AID.getSuperCLID: " + rc);  // NOI18N
+                    }
+                }
+            } catch (Exception e) {
+                // ignore - will set superclass to the pcClass.
+            }
+
+        }
+        sCLIDBits = rc;
+    }
+
+    /**
+     * Compute unique user Id from the buffer.
+     */
+    private long computeUID() {
+        long rc = 0;
+        try {
+            MessageDigest md = MessageDigest.getInstance("SHA"); // NOI18N
+            byte hasharray[] = md.digest(buffer);
+            for (int i = 0; i < Math.min(8, hasharray.length); i++) {
+                rc += (long)(hasharray[i] & 255) << (i * 8);
+            }
+         
+        } catch (NoSuchAlgorithmException ex) {
+            throw new JDOFatalInternalException(
+                msg.msg("ERR_Algorithm"), ex); // NOI18N
+        }
+        return rc;
+    }
+
+    /**
+     * Covert byte into 2-digit hexadecimal String.
+     */
+    private static String toHexString(int b) {
+        char a = (b < 0)? 'F' : '0';
+        return "" + a + hexDigit[(b & 0xF)]; //NOI18N
+    }
+
+    /** A table of hex digits */
+    private static final char[] hexDigit = {
+        '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
+    };
+
+}