Re: Steps to running the TCK against jpox derby

2005-02-22 Thread Michelle Caisse
It may be time to set up a JDO 2 repository.  There JPOX will be the RI, 
not an iut. Is there anything stopping us from doing this now, Michael?  
I think everything would be simpler if we had a real Apache repository now.

-- Michelle
[EMAIL PROTECTED] wrote:
thanks for the maven.xml file with the JPOX enhancer update. The JPOX
enhancer takes .jdo files as arguments and not the .class files of the
pc classes, correct?
   

Correct.
 

My idea is to use the JDORI enhancer during build.
   

In the JPOX Enhancer for JDO 2 we implement the Detachable interface in 
enhanced
files. That's ok to use the JDORI enhancer if there are no detach/attach tests,
but I can recall from the latest times we tried the JDORI enhancer, there were
still some bugs there. Don't ask me what are they, I can't describe.
Running the TCK for a
 

particular JDO implementation is a separate step having special goals:
(1) Call 'maven useapplicationidentity' or 'maven usedatastoreidentity'
to copy the corresponding JDO metadata files.
(2) Run the enhancer.
(3) Call 'maven runtck' to start the TCK.
The project.properties files allows to specify an enhancer different
from the JDORI enhancer to be called in step (2). I think in your case
this would be the JPOX enhancer. Today there are only two properties:
enhancer.main and enhancer.options. So the maven enhancer goal assumes
the JDO implementation enhancer takes the class files as arguments. The
maven.xml you sent show that this was a wrong assumption. I will change
this and add a property enhancer.args to specify class files or metadata
files.
I know the current documentation is poor, so I need to improve there :-).
Regards Michael
   

Hi,
Here is the tck11/maven.xml file updated to use the JPOX enhancer.
I still can't run the tck because JPOX has a strictly validation of the
metadata, and one of these checks needs removal as it was clarified some
time ago by the EG that it's not needed.
Erik Bengtson
-Original Message-
From: Michelle Caisse [mailto:[EMAIL PROTECTED]
Sent: Friday, February 18, 2005 9:52 PM
To: jdo-dev@db.apache.org
Subject: Re: Steps to running the TCK against jpox  derby
Michelle Caisse wrote:
 

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.
   

and put derby.jar and derbytools.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.PersistenceManagerFact
oryImpl
 

#javax.jdo.PersistenceManagerFactoryClass=org.apache.jdo.impl.fostore.FO
StorePMF
 

org.apache.jdo.ConnectionCreate=true
   

javax.jdo.option.ConnectionDriverName=org.apache.derby.jdbc.EmbeddedDriv
er
 

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.J
DOFatalUserException:
 

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(AbstractPersistenceMan
agerFactory.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
   


?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

Re: Steps to running the TCK against jpox derby

2005-02-18 Thread Michelle Caisse
Michelle Caisse wrote:
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.
and put derby.jar and derbytools.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



Re: Steps to running the TCK against jpox derby

2005-02-18 Thread Brian McCallister
If running on OS X, you will need this property in your  
derby.properties as well. HFS+ behaves oddly, apparently, so you need  
to tell it to use a slightly different locking system =(

This property works fine on non OS X systems as well.
derby.storage.fileSyncTransactionLog=true
-Brian
On Feb 18, 2005, at 3:52 PM, Michelle Caisse wrote:
Michelle Caisse wrote:
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.
and put derby.jar and derbytools.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.PersistenceManagerFa 
ctoryImpl
#javax.jdo.PersistenceManagerFactoryClass=org.apache.jdo.impl.fostore. 
FOStorePMF
org.apache.jdo.ConnectionCreate=true
javax.jdo.option.ConnectionDriverName=org.apache.derby.jdbc.EmbeddedDr 
iver
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(AbstractPersistenceM 
anagerFactory.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