db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michelle Caisse <Michelle.Cai...@Sun.COM>
Subject Re: Steps to running the TCK against jpox & derby
Date Tue, 22 Feb 2005 16:59:02 GMT
Good point.  Let's talk at the meeting about what we can do to get the 
Apache repository to happen.

-- Michelle

Michael Bouschen wrote:

> 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
>>>>>>
>>>>>>       
>>>>>
> [...]
>
>


Mime
View raw message