Hi, Michael and others,
Here's what I've done to get jpox and derby to run against the TCK, to the point where they need to find tables in the database.
1. Put jpox-1.1.0-beta-1.jar in tck11/iut_jars.
2. Put log4j-1.2.9.jar in tck11/iut_jars. (jpox needed this.)
3 Edit tck11/project.properties:
# iut
iut.properties = ${basedir}/jpox.properties
4. Create jpox.properties:
javax.jdo.PersistenceManagerFactoryClass=org.jpox.PersistenceManagerFactoryImpl
#javax.jdo.PersistenceManagerFactoryClass=org.apache.jdo.impl.fostore.FOStorePMF
org.apache.jdo.ConnectionCreate=true
javax.jdo.option.ConnectionDriverName=org.apache.derby.jdbc.EmbeddedDriver
javax.jdo.option.ConnectionURL=jdbc:derby:jdotckdb
#javax.jdo.option.ConnectionURL=fostore:database/fostore
javax.jdo.option.ConnectionUserName=tckuser
javax.jdo.option.ConnectionPassword=tckuser
javax.jdo.option.Optimistic=false
javax.jdo.option.RetainValues=false
javax.jdo.option.RestoreValues=false
5. In the classpath section of tck11/maven.xml, place these lines BEFORE the JDO jar file lines:
<!-- Jar files for the implementation to be tested -->
<path refid="test_iut_jars" />
else [java] 1) testGetObjectId(org.apache.jdo.tck.api.jdohelper.GetObjectId)javax.jdo.JDOFatalUserException: JDO 2.0 capabilities cannot be accessed! Please make sure that you do not have a JDO 1.0 jar in front of the JDO 2 classes in your CLASSPATH.
[java] at org.jpox.AbstractPersistenceManagerFactory.<init>(AbstractPersistenceManagerFactory.java:113)
6. Manually create a derby database. I'm using iut_jars as the derby system directory, meaning that it looks there for databases and derby.properties. I wrote some scripts to create the db. The procedure for deleting a derby database is an OS delete operation on the directory and files.
7. Add the following line to maven.xml in the <goal name="runtck.single" ...> section:
<sysproperty key="derby.system.home" value="${basedir}/iut_jars"/>
-- Michelle
