db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Bouschen <mbo.t...@spree.de>
Subject Re: Steps to running the TCK against jpox & derby
Date Tue, 22 Feb 2005 16:50:12 GMT
Hi Michelle,

> 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?  

AFAIK, the subversion repository is not yet setup. So I have the maven 
jdo projects on my local machine and post new versions to the wiki from 
time to time.

I think almost all the tck tests from JDO 1 will be JDO 2 tests too. We 
could copy them over as astrat of the tck20 subproject. But then we 
would need to maintain them in two places. I really like to have some 
source code version control support when doing this.

I think this is an important topic for the JDO TCK conference call next 
Friday.

> I think everything would be simpler if we had a real Apache repository now.

Correct.

Regards Michael

> 
> -- Michelle
> 
> erik@jpox.org 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:Michelle.Caisse@Sun.COM]
>>>> 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
>>>>>
>>>>>       
[...]


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin			

Mime
View raw message