You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Michelle Caisse <Mi...@Sun.COM> on 2005/04/28 23:27:40 UTC

JDO TCK Conference Call Friday, April 29, 9 am PST

Hi,

We will have our regular meeting Friday (April 29) at 9 am PST to 
discuss JDO TCK issues and status.

Dial-in numbers are:

866 230-6968   294-0479#
International: +1 865 544-7856

Agenda:

XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
fixed?)
JDO API release on ibiblio (Brian T, Craig)
Detached objects (Matthew)
JIRA/Apache accounts( all)
OutOfMemoryError (Michelle)
Apache nightly builds (Brian)
Other  issues  and status (any and all)

-- Michelle

Minutes JDO TCK Conference Call Friday, May 6, 9 am PST

Posted by Craig Russell <Cr...@Sun.COM>.
Attendees: Michelle Caisse, Michael Bouschen, Michael Watzek, Martin 
Zaun, Erik Bengtsen, Craig Russell

XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
fixed?): no more information on orm issues from Brian; Craig still 
needs to update the .dtd putting back a comment on PUBLIC and SYSTEM.

JDO API release on ibiblio (Brian T, Craig): no change

Detached objects (Matthew): Matthew has some code that he would like to 
check in but doesn't have privileges yet.

JIRA/Apache accounts(Craig): Geir has set up JIRA accounts so all the 
committers can administer (assign and close bugs). Erik, Matthew, 
Michael, and Patrick are awaiting committer status. Need to hold a vote 
for Micheal Watzek committer status.

Test development status (Michelle):  JPOX doesn't recognize foreign-key 
as an attribute of a field. It issues a parsing error. JPOX is using an 
internal DTD. Erik will refresh the DTD from the checked-in version.

When running Collection of SimpleInterface, JPOX complains that there 
is no implementation class for the interface. Might be an issue of the 
search order for metadata.

Apache nightly builds (Brian): no change

Other  issues  and status (any and all)

AI: Craig: Run rules need a first pass to be discussed on the expert 
group.

AI: Michael Watzek: The ri11 project is now ready to be evolved into 
five different 20 sub projects. Need to work on the build and maven 
files.

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

Re: Minutes: JDO TCK Conference Call Friday, May 13, 9 am PST

Posted by Michelle Caisse <Mi...@Sun.COM>.
1. XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
fixed?)

> Craig checked in changes to the jdo.dtd and orm.dtd.
>
> AI: Michelle will try the changes.

Works, at least whatever is in the latest JPOX build works. (The issue 
was the foreign-key attribute of the field element.)

-- Michelle

Minutes: JDO TCK Conference Call Friday, May 13, 9 am PST

Posted by Craig Russell <Cr...@Sun.COM>.
Attendees: Michael Bouschen, Michael Watzek, Michelle Caisse, Matthew 
Adams, Martin Zaun, Craig Russell, Erik Bengtson, and Geoff Hendry.

Our regular meeting was held Friday, May 13  at 9 am PST to discuss JDO 
TCK issues and status.

Dial-in numbers are:

866 230-6968   294-0479#
International: +1 865 544-7856

Agenda:

1. XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd 
issues fixed?)

Craig checked in changes to the jdo.dtd and orm.dtd.

AI: Michelle will try the changes.

2. JDO API release on ibiblio (Brian T, Craig)

no change to status.

3. Detached objects (Matthew)

No committer badge. But no changes to code. AI: Craig to ask Geir where 
the committers' badges are for Matthew, Erik, and Michael Watzek.

4. Test development status (Michelle)

Field types (collections and arrays too) are checked in. Need to figure 
out how to get metadata for SimpleClass read in first. Down to 82 
errors, about 20 failures. Using beta3 which was just released. Takes a 
little over an hour to run tck20 compared to 15 minutes to run tck11.

5. Apache nightly builds (Brian)

no change.

7. Other  issues  and status (any and all)

Problem with splitting out runtime and query. org.apache.jdo.store 
defines the StoreManager interface and abstract StoreManagerImpl. They 
have references to the query package. Proposal is to move 4 interfaces 
in query having to do with QueryResult from query to runtime.

Tortoise helps using svn with Windows. AI: Matthew send link to the 
site.

We added foreign keys to the PCRect table and we have test case that 
tries to include null-valued PCPoints. This might be a test case bug.

TestArrayColllections still fails with SimpleInterface[] and 
SimpleClass[] field types. AI: Erik to see if this is a test case bug 
or a JPOX issue. AI: Erik to try the tck without generating schema.

What happens if the column attribute in field element conflicts with a 
column element? This is a spec issue for the experts to resolve. I 
guess it's an error.

JSR 924 (Java SE 5 extensions) need to be examined to see their effect 
on the enhancer. AI: Martin to investigate and see about upgrading the 
ri11 to use the new extensions.

Mahesh ported the ri11 enhancer to use ASM library instead of its own 
classfile library. Future project: to port the changes back to use in a 
future ri20 project.

Geoff Hendry's implementation of JDO, JDOMax, has not yet run against 
the tck20. AI: Geoff try to get tck20 to run with JDOMax.

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

JDO TCK Conference Call Friday, May 13, 9 am PST

Posted by Michelle Caisse <Mi...@Sun.COM>.
Hi,

We will have our regular meeting Friday, May 13  at 9 am PST to discuss 
JDO TCK issues and status.

Dial-in numbers are:

866 230-6968   294-0479#
International: +1 865 544-7856

Agenda:

XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
fixed?)
JDO API release on ibiblio (Brian T, Craig)
Detached objects (Matthew)
Test development status (Michelle)
Apache nightly builds (Brian)
Other  issues  and status (any and all)

-- Michelle

RESEND Minutes JDO TCK Conference Call Friday, May 6, 9 am PST

Posted by Craig Russell <Cr...@Sun.COM>.
Attendees: Michelle Caisse, Michael Bouschen, Michael Watzek, Martin 
Zaun, Erik Bengtson, Craig Russell

XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
fixed?): no more information on orm issues from Brian; Craig still 
needs to update the .dtd putting back a comment on PUBLIC and SYSTEM.

JDO API release on ibiblio (Brian T, Craig): no change

Detached objects (Matthew): Matthew has some code that he would like to 
check in but doesn't have privileges yet.

JIRA/Apache accounts(Craig): Geir has set up JIRA accounts so all the 
committers can administer (assign and close bugs). Erik, Matthew, 
Michael, and Patrick are awaiting committer status. Need to hold a vote 
for Micheal Watzek committer status.

Test development status (Michelle):  JPOX doesn't recognize foreign-key 
as an attribute of a field. It issues a parsing error. JPOX is using an 
internal DTD. Erik will refresh the DTD from the checked-in version.

When running Collection of SimpleInterface, JPOX complains that there 
is no implementation class for the interface. Might be an issue of the 
search order for metadata.

Apache nightly builds (Brian): no change

Other  issues  and status (any and all)

AI: Craig: Run rules need a first pass to be discussed on the expert 
group.

AI: Michael Watzek: The ri11 project is now ready to be evolved into 
five different 20 sub projects. Need to work on the build and maven 
files.

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

RE: JDO TCK Conference Call Friday, May 6, 9 am PST

Posted by "Matthew T. Adams" <ma...@xcalia.com>.
Sorry, I have to attend a school function with my daughter and won't be
able to attend.

Try to have a good time without me! ;)

--matthew

>-----Original Message-----
>From: Michelle Caisse [mailto:Michelle.Caisse@Sun.COM] 
>Sent: Thursday, May 05, 2005 8:22 PM
>To: jdo-dev@db.apache.org; jdo-tck-ext@Sun.COM
>Subject: JDO TCK Conference Call Friday, May 6, 9 am PST
>
>
>Hi,
>
>We will have our regular meeting Friday, May 6  at 9 am PST to discuss 
>JDO TCK issues and status.
>
>Dial-in numbers are:
>
>866 230-6968   294-0479#
>International: +1 865 544-7856
>
>Agenda:
>
>XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
>fixed?)
>JDO API release on ibiblio (Brian T, Craig)
>Detached objects (Matthew)
>JIRA/Apache accounts(Craig)
>Test development status (Michelle)
>Apache nightly builds (Brian)
>Other  issues  and status (any and all)
>
>-- Michelle
>


JDO TCK Conference Call Friday, May 6, 9 am PST

Posted by Michelle Caisse <Mi...@Sun.COM>.
Hi,

We will have our regular meeting Friday, May 6  at 9 am PST to discuss 
JDO TCK issues and status.

Dial-in numbers are:

866 230-6968   294-0479#
International: +1 865 544-7856

Agenda:

XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
fixed?)
JDO API release on ibiblio (Brian T, Craig)
Detached objects (Matthew)
JIRA/Apache accounts(Craig)
Test development status (Michelle)
Apache nightly builds (Brian)
Other  issues  and status (any and all)

-- Michelle

Re: JDO TCK Conference Call Friday, April 29, 9 am PST

Posted by Craig Russell <Cr...@Sun.COM>.
Attending: Matthew Adams, Martin Zaun, Michael Bouschen, Michael 
Watzek, Erik Bengtsen, Michelle Caisse, Craig Russell

1. XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd 
issues fixed?)
Brian checked in changes to the DTD and .xsd for jdo metadata, and will 
still need to resolve issues in the DTD for .orm.

2. Detached objects (Matthew)

Started work on ShoppingCart model for detachment. Simple model with 
ShoppingCart, Items, Product. The ShoppingCart contains objects that 
will become Orders at checkout time.

Issue: How to run the TCK in debug mode?

AI: Matthew figure out how to run the TCK under Netbeans

3. JIRA/Apache accounts( all)

Martin needs to change his password on cvs.apache.org. He was given 
pointers and encouragement to just go and do it.

AI: Craig contact Geir to get Erik and Matthew committer status; get 
erik, matthewadams, mbo, mzaun, mwa administration status on JIRA.

4. OutOfMemoryError (Michelle) JIRA JDO-21

When you run the entire TCK get out of memory errors. Sooner or later 
depending on configuration.

Some tests don't close the PMF when they fail. All are in 
api.persistencemanager package.

AI: Michael will look into upgrading the base JDO test class to make 
sure it's really closing the PMF, even if there are PMs with open 
transactions. There is some sample code in one of the test cases in 
ri11: org.apache.jdo.test.Test_Close_PMF.java that iterates the nested 
exceptions if pmf.close fails.

Some tests in fieldtype use a big chunk of memory 
NewQueryWithExtentAndFilter NewQueryWithSpecifiedLanguageAndQuery use 
about 200MB memory.

AI: Michael. Look for a static variable in the code.

5. Now running with the proper JPOX configuration. validateTables=false 
and validateConstraints=false

Erik is using the TCK with autogenerate schema and SQLServer.

some metadata in .jdo for SimpleInterface needs to be updated.

Time fields need extra information. To be discussed on email.

AI: Erik send email with his issues with TCK 20.

Craig

On Apr 29, 2005, at 8:36 AM, Michelle Caisse wrote:
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

RE: JDO TCK Conference Call Friday, April 29, 9 am PST

Posted by er...@jpox.org.
Hi,

I hereby enumerate my experience and issues I had running the TCK:

- schema is not fully created with the existing DDL script, so the
implementation needs to create it at runtime or pre-runtime. Note: JPOX
can do it at runtime or pre-runtime.

- BigDecimal tests use equals to assert the values; JPOX fails to keep
the 0s after the decimals (9999.999900000 = 9999.9999) as it relies on
the database to do it, and of databases doesn't keep it; I propose the
asserts be changed from equals to compare. Of course, one implementation
could store it in a varchar or char column, but...

- In SimpleInterface tests I had to add the jpox extension
implementation-classes in the metadata. The JDO says that we can look in
the "implements" attribute for the SimpleClass, so we, JPOX, will make
the necessary changes to support it.

- Some query tests require an "id" field that is not available if the
tests are run in datastore identity mode.

- Retrieve test fails as JDO 2, in the current state, has broken the
backward compatibility. 

- Reachability test fails with JPOX. This is a known issue.

Running with Derby

- Derby is limited to 36 constraints by table; FieldsOfSimpleClass class
has more than a 100 fields with 1-1 association with SimpleClass, so if
the implementation automatically creates the foreign key, it will fail.

Running with Eclipse

- with Eclipse I'm able to execute all tests and debug as needed. I
couldn't find any memory leak neither in the JDO TCK nor JPOX, but I see
that the objects in memory don't get gargage collected after each test,
even if it run successfully.

Regards,

Erik Bengtson 

-----Original Message-----
From: Michelle Caisse [mailto:michelle.caisse@sun.com] 
Sent: Friday, April 29, 2005 5:36 PM
To: Brian Topping
Cc: jdo-dev@db.apache.org; jdo-tck-ext@sun.com
Subject: Re: JDO TCK Conference Call Friday, April 29, 9 am PST

Okay, Brian.  Thanks for the report.  I hope everything works out okay.

-- Michelle

Brian Topping wrote:

> Hi gang,
>
> I'm not going to be making it today, been having significant issues
> getting anything done this week and need to spend the day tomorrow at
> hospital(s) for family members.  I'll be trying to get my list taken
> care of this weekend though.
>
> best, Brian
>
> Michelle Caisse wrote:
>
>> Hi,
>>
>> We will have our regular meeting Friday (April 29) at 9 am PST to 
>> discuss JDO TCK issues and status.
>>
>> Dial-in numbers are:
>>
>> 866 230-6968   294-0479#
>> International: +1 865 544-7856
>>
>> Agenda:
>>
>> XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues

>> fixed?)
>> JDO API release on ibiblio (Brian T, Craig)
>> Detached objects (Matthew)
>> JIRA/Apache accounts( all)
>> OutOfMemoryError (Michelle)
>> Apache nightly builds (Brian)
>> Other  issues  and status (any and all)
>>
>> -- Michelle
>>



Re: JDO TCK Conference Call Friday, April 29, 9 am PST

Posted by Michelle Caisse <Mi...@Sun.COM>.
Okay, Brian.  Thanks for the report.  I hope everything works out okay.  
-- Michelle

Brian Topping wrote:

> Hi gang,
>
> I'm not going to be making it today, been having significant issues
> getting anything done this week and need to spend the day tomorrow at
> hospital(s) for family members.  I'll be trying to get my list taken
> care of this weekend though.
>
> best, Brian
>
> Michelle Caisse wrote:
>
>> Hi,
>>
>> We will have our regular meeting Friday (April 29) at 9 am PST to 
>> discuss JDO TCK issues and status.
>>
>> Dial-in numbers are:
>>
>> 866 230-6968   294-0479#
>> International: +1 865 544-7856
>>
>> Agenda:
>>
>> XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
>> fixed?)
>> JDO API release on ibiblio (Brian T, Craig)
>> Detached objects (Matthew)
>> JIRA/Apache accounts( all)
>> OutOfMemoryError (Michelle)
>> Apache nightly builds (Brian)
>> Other  issues  and status (any and all)
>>
>> -- Michelle
>>


Re: JDO TCK Conference Call Friday, April 29, 9 am PST

Posted by Brian Topping <to...@codehaus.org>.
Hi gang,

I'm not going to be making it today, been having significant issues
getting anything done this week and need to spend the day tomorrow at
hospital(s) for family members.  I'll be trying to get my list taken
care of this weekend though.

best, Brian

Michelle Caisse wrote:

> Hi,
>
> We will have our regular meeting Friday (April 29) at 9 am PST to 
> discuss JDO TCK issues and status.
>
> Dial-in numbers are:
>
> 866 230-6968   294-0479#
> International: +1 865 544-7856
>
> Agenda:
>
> XML Schema (Brian T - specifics on orm dtd issues, Craig - dtd issues 
> fixed?)
> JDO API release on ibiblio (Brian T, Craig)
> Detached objects (Matthew)
> JIRA/Apache accounts( all)
> OutOfMemoryError (Michelle)
> Apache nightly builds (Brian)
> Other  issues  and status (any and all)
>
> -- Michelle
>

Re: TestRunner status

Posted by Michelle Caisse <Mi...@Sun.COM>.
Michael,

Thanks for your comments.  My responses are inline.

Michael Bouschen wrote:

> Hi Michelle,
>
> this looks very good!
>
> I have some minor questions/remarks below ...
>
>
>> TestRunner is a project to automate running the TCK for all 
>> databases, identity types, security settings, schemas, mappings, and 
>> test cases with a single maven invocation.  We discussed doing the 
>> hard stuff either in maven or with an extended java/JUnit 
>> TestRunner.  It seems possible to do it in maven.  Below is a working 
>> outline of a maven goal that loops through the various parameters and 
>> repeatedly executes a test run, followed by the results generated by 
>> this goal.
>>
>> _______________
>> maven.xml:
>> _______________
>>
>> <project default="default"
>>    xmlns:j="jelly:core"
>>    xmlns:ant="jelly:ant"
>>    xmlns:maven="jelly:maven"
>>    xmlns:u="jelly:util"
>>    >
>> ...
>>    <!-- ================== -->
>>    <!-- Running test cases -->
>>    <!-- ================== -->
>>
>>    <preGoal name="runallcfgs.jdori">
>>
>>        <!-- Install schema for each database -->
>>        <u:properties file="${basedir}/test/conf/db.list"/>
>>        <u:tokenize var="jdo.tck.dblist" delim=" ">
>>            ${jdo.tck.dblist}
>>        </u:tokenize>
>
>
> Question: The property jdo.tck.dblist is a string of database names 
> separated by space and the tokenize tag converts this string into a 
> collection of strings (one string per database) such that you can use 
> the forEach tag to iterate it. Am I right?
>
> The forEach tag allows to directly iterate a comma separated String (see
> http://jakarta.apache.org/commons/jelly/tags.html#core:forEach). So if 
> we define jdo.tck.dblist as comma separated string we do not need the 
> tokenize:
> jdo.tck.dblist=derby, mysql, oracle

I agree that this ought to work, but I have not been able to make it 
work.  I saw sample code somewhere that used the tokenize tag for a 
similar situation, so perhaps it is necessary.  I did some experiments, 
entering the databases as a comma-delimited list and running with and 
without tokenization.  Echoing the  property before and after 
tokenization, I get:

    [echo] jdo.tck.dblist (before tokenization) = derby,mysql,oracle

    [echo] jdo.tck.dblist (after tokenization) = [derby, mysql, oracle]

Entering the list in the file exactly like the tokenization output still 
did not result in forEach recognizing individual tokens.  For everything 
I tried, it treats the entire list as one item.

>
>>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>>            <attainGoal name="databaseStub"/>
>>        </j:forEach>
>>
>>        <!-- Enhance and build jar file for each identity type -->
>>        <u:properties file="${basedir}/test/conf/identity.list"/>
>>        <u:tokenize var="jdo.tck.idlist" delim=" ">
>>            ${jdo.tck.idlist}
>>        </u:tokenize>
>>        <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>>            <attainGoal name="enhanceStub"/>
>>        </j:forEach>
>>
>>    </preGoal>
>>
>>    <goal name="runallcfgs.jdori" prereqs="java:compile, 
>> testrunner.set, copyprops">
>>
>>        <!-- Run tests for all databases, identity types, and 
>> configurations -->
>>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>>            <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>>                <u:properties 
>> file="${basedir}/test/conf/configurations.list"/>
>
>
> Is there any reason to load the configurations properties here instead 
> of doing this in the preGoal along with the other properties files? I 
> think having the <u:properties> tag as part of the inner loop means 
> the file is loaded multiple times. Or does the file 
> configurations.list refer any properties that are changed in the loops?

Good point.  I pulled this out and put it in the preGoal.

-- Michelle

>
> Regards Michael
>
>>                <u:tokenize var="jdo.tck.cfglist" delim=" ">
>>                    ${jdo.tck.cfglist}
>>                </u:tokenize>
>>                <j:forEach var="jdo.tck.cfg" items="${jdo.tck.cfglist}">
>>                    <!-- get jdo.tck.classes (list of testclasses), 
>> jdo.tck.testdata, jdo.tck.mapping -->
>>                    <u:properties 
>> file="${basedir}/test/conf/${jdo.tck.cfg}"/>
>>                    <attainGoal name="runtckStub"/>
>>                </j:forEach>
>>            </j:forEach>
>>        </j:forEach>
>>
>>    </goal>
>>
>>    <goal name="databaseStub">
>>        <echo>Install schema in ${jdo.tck.db}</echo>
>>    </goal>
>>
>>    <goal name="enhanceStub">
>>        <echo>Enhance classes for ${jdo.tck.id}</echo>
>>    </goal>
>>
>>    <goal name="runtckStub">
>>        <echo>Run tck using database ${jdo.tck.db},
>>                 identity type ${jdo.tck.id},
>>                 configuration ${jdo.tck.cfg}
>>        </echo>
>>        <echo>Run test classes ${jdo.tck.classes}
>>                with test data ${jdo.tck.testdata}
>>                and mapping/schema files ${jdo.tck.mapping}
>>        </echo>
>>    </goal>
>>
>> _______________
>> Results:
>> _______________
>> $ maven -o runallcfgs.jdori
>> __  __
>> |  \/  |__ _Apache__ ___
>> | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
>> |_|  |_\__,_|\_/\___|_||_|  v. 1.0.2
>>
>> You are working offline so the build will continue, but 
>> jpox-SNAPSHOT.jar may be out of date!
>> You are working offline so the build will continue, but 
>> jdo2-api-SNAPSHOT.jar may be out of date!
>> You are working offline so the build will continue, but 
>> jpox-enhancer-SNAPSHOT.jar may be out of date!
>> build:start:
>>
>> java:prepare-filesystem:
>>
>> java:compile:
>>    [echo] Compiling to c:\svn5\jdo\trunk\tck20/target/classes
>>
>> testrunner.set:
>>
>> copyprops:
>>
>> runallcfgs.jdori:
>> databaseStub:
>>    [echo] Install schema in derby
>>
>> databaseStub:
>>    [echo] Install schema in mysql
>>
>> databaseStub:
>>    [echo] Install schema in oracle
>>
>> enhanceStub:
>>    [echo] Enhance classes for application
>>
>> enhanceStub:
>>    [echo] Enhance classes for datastore
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type application,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type application,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type application,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type datastore,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
>> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jd
>> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo
>> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type datastore,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database derby,
>>                 identity type datastore,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type application,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
>> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jd
>> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo
>> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type application,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type application,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type datastore,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type datastore,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database mysql,
>>                 identity type datastore,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type application,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type application,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type application,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type datastore,
>>                 configuration cfg1.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
>> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
>>
>>                with test data
>>                and mapping/schema files
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type datastore,
>>                 configuration cfg2.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company.orm
>>
>>
>> runtckStub:
>>    [echo] Run tck using database oracle,
>>                 identity type datastore,
>>                 configuration cfg3.conf
>>
>>    [echo] Run test classes 
>> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>>                with test data org.apache.jdo.tck.pc.company.company2.xml
>>                and mapping/schema files 
>> org.apache.jdo.tck.pc.company.company2.orm
>>
>> BUILD SUCCESSFUL
>>
>> -- Michelle
>
>
>


Re: TestRunner status

Posted by Michael Bouschen <mb...@spree.de>.
Hi Michelle,

this looks very good!

I have some minor questions/remarks below ...


> TestRunner is a project to automate running the TCK for all databases, 
> identity types, security settings, schemas, mappings, and test cases 
> with a single maven invocation.  We discussed doing the hard stuff 
> either in maven or with an extended java/JUnit TestRunner.  It seems 
> possible to do it in maven.  Below is a working outline of a maven goal 
> that loops through the various parameters and repeatedly executes a test 
> run, followed by the results generated by this goal.
> 
> _______________
> maven.xml:
> _______________
> 
> <project default="default"
>    xmlns:j="jelly:core"
>    xmlns:ant="jelly:ant"
>    xmlns:maven="jelly:maven"
>    xmlns:u="jelly:util"
>    >
> ...
>    <!-- ================== -->
>    <!-- Running test cases -->
>    <!-- ================== -->
> 
>    <preGoal name="runallcfgs.jdori">
> 
>        <!-- Install schema for each database -->
>        <u:properties file="${basedir}/test/conf/db.list"/>
>        <u:tokenize var="jdo.tck.dblist" delim=" ">
>            ${jdo.tck.dblist}
>        </u:tokenize>

Question: The property jdo.tck.dblist is a string of database names 
separated by space and the tokenize tag converts this string into a 
collection of strings (one string per database) such that you can use 
the forEach tag to iterate it. Am I right?

The forEach tag allows to directly iterate a comma separated String (see
http://jakarta.apache.org/commons/jelly/tags.html#core:forEach). So if 
we define jdo.tck.dblist as comma separated string we do not need the 
tokenize:
jdo.tck.dblist=derby, mysql, oracle

>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>            <attainGoal name="databaseStub"/>
>        </j:forEach>
> 
>        <!-- Enhance and build jar file for each identity type -->
>        <u:properties file="${basedir}/test/conf/identity.list"/>
>        <u:tokenize var="jdo.tck.idlist" delim=" ">
>            ${jdo.tck.idlist}
>        </u:tokenize>
>        <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>            <attainGoal name="enhanceStub"/>
>        </j:forEach>
> 
>    </preGoal>
> 
>    <goal name="runallcfgs.jdori" prereqs="java:compile, testrunner.set, 
> copyprops">
> 
>        <!-- Run tests for all databases, identity types, and 
> configurations -->
>        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
>            <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
>                <u:properties 
> file="${basedir}/test/conf/configurations.list"/>

Is there any reason to load the configurations properties here instead 
of doing this in the preGoal along with the other properties files? I 
think having the <u:properties> tag as part of the inner loop means the 
file is loaded multiple times. Or does the file configurations.list 
refer any properties that are changed in the loops?

Regards Michael

>                <u:tokenize var="jdo.tck.cfglist" delim=" ">
>                    ${jdo.tck.cfglist}
>                </u:tokenize>
>                <j:forEach var="jdo.tck.cfg" items="${jdo.tck.cfglist}">
>                    <!-- get jdo.tck.classes (list of testclasses), 
> jdo.tck.testdata, jdo.tck.mapping -->
>                    <u:properties 
> file="${basedir}/test/conf/${jdo.tck.cfg}"/>
>                    <attainGoal name="runtckStub"/>
>                </j:forEach>
>            </j:forEach>
>        </j:forEach>
> 
>    </goal>
> 
>    <goal name="databaseStub">
>        <echo>Install schema in ${jdo.tck.db}</echo>
>    </goal>
> 
>    <goal name="enhanceStub">
>        <echo>Enhance classes for ${jdo.tck.id}</echo>
>    </goal>
> 
>    <goal name="runtckStub">
>        <echo>Run tck using database ${jdo.tck.db},
>                 identity type ${jdo.tck.id},
>                 configuration ${jdo.tck.cfg}
>        </echo>
>        <echo>Run test classes ${jdo.tck.classes}
>                with test data ${jdo.tck.testdata}
>                and mapping/schema files ${jdo.tck.mapping}
>        </echo>
>    </goal>
> 
> _______________
> Results:
> _______________
> $ maven -o runallcfgs.jdori
> __  __
> |  \/  |__ _Apache__ ___
> | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
> |_|  |_\__,_|\_/\___|_||_|  v. 1.0.2
> 
> You are working offline so the build will continue, but 
> jpox-SNAPSHOT.jar may be out of date!
> You are working offline so the build will continue, but 
> jdo2-api-SNAPSHOT.jar may be out of date!
> You are working offline so the build will continue, but 
> jpox-enhancer-SNAPSHOT.jar may be out of date!
> build:start:
> 
> java:prepare-filesystem:
> 
> java:compile:
>    [echo] Compiling to c:\svn5\jdo\trunk\tck20/target/classes
> 
> testrunner.set:
> 
> copyprops:
> 
> runallcfgs.jdori:
> databaseStub:
>    [echo] Install schema in derby
> 
> databaseStub:
>    [echo] Install schema in mysql
> 
> databaseStub:
>    [echo] Install schema in oracle
> 
> enhanceStub:
>    [echo] Enhance classes for application
> 
> enhanceStub:
>    [echo] Enhance classes for datastore
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type application,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type application,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type application,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type datastore,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jd
> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo
> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type datastore,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database derby,
>                 identity type datastore,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type application,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
> le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jd
> o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo
> .tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type application,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type application,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type datastore,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type datastore,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database mysql,
>                 identity type datastore,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type application,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type application,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type application,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type datastore,
>                 configuration cfg1.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
> org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
> org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable 
> 
>                with test data
>                and mapping/schema files
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type datastore,
>                 configuration cfg2.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company.orm
> 
> 
> runtckStub:
>    [echo] Run tck using database oracle,
>                 identity type datastore,
>                 configuration cfg3.conf
> 
>    [echo] Run test classes 
> org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
>                with test data org.apache.jdo.tck.pc.company.company2.xml
>                and mapping/schema files 
> org.apache.jdo.tck.pc.company.company2.orm
> 
> BUILD SUCCESSFUL
> 
> -- 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			

TestRunner status

Posted by Michelle Caisse <Mi...@Sun.COM>.
TestRunner is a project to automate running the TCK for all databases, 
identity types, security settings, schemas, mappings, and test cases 
with a single maven invocation.  We discussed doing the hard stuff 
either in maven or with an extended java/JUnit TestRunner.  It seems 
possible to do it in maven.  Below is a working outline of a maven goal 
that loops through the various parameters and repeatedly executes a test 
run, followed by the results generated by this goal.

_______________
maven.xml:
_______________

<project default="default"
    xmlns:j="jelly:core"
    xmlns:ant="jelly:ant"
    xmlns:maven="jelly:maven"
    xmlns:u="jelly:util"
    >
 ...
    <!-- ================== -->
    <!-- Running test cases -->
    <!-- ================== -->

    <preGoal name="runallcfgs.jdori">

        <!-- Install schema for each database -->
        <u:properties file="${basedir}/test/conf/db.list"/>
        <u:tokenize var="jdo.tck.dblist" delim=" ">
            ${jdo.tck.dblist}
        </u:tokenize>
        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
            <attainGoal name="databaseStub"/>
        </j:forEach>

        <!-- Enhance and build jar file for each identity type -->
        <u:properties file="${basedir}/test/conf/identity.list"/>
        <u:tokenize var="jdo.tck.idlist" delim=" ">
            ${jdo.tck.idlist}
        </u:tokenize>
        <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
            <attainGoal name="enhanceStub"/>
        </j:forEach>

    </preGoal>

    <goal name="runallcfgs.jdori" prereqs="java:compile, testrunner.set, 
copyprops">

        <!-- Run tests for all databases, identity types, and 
configurations -->
        <j:forEach var="jdo.tck.db" items="${jdo.tck.dblist}">
            <j:forEach var="jdo.tck.id" items="${jdo.tck.idlist}">
                <u:properties 
file="${basedir}/test/conf/configurations.list"/>
                <u:tokenize var="jdo.tck.cfglist" delim=" ">
                    ${jdo.tck.cfglist}
                </u:tokenize>
                <j:forEach var="jdo.tck.cfg" items="${jdo.tck.cfglist}">
                    <!-- get jdo.tck.classes (list of testclasses), 
jdo.tck.testdata, jdo.tck.mapping -->
                    <u:properties 
file="${basedir}/test/conf/${jdo.tck.cfg}"/>
                    <attainGoal name="runtckStub"/>
                </j:forEach>
            </j:forEach>
        </j:forEach>

    </goal>

    <goal name="databaseStub">
        <echo>Install schema in ${jdo.tck.db}</echo>
    </goal>

    <goal name="enhanceStub">
        <echo>Enhance classes for ${jdo.tck.id}</echo>
    </goal>

    <goal name="runtckStub">
        <echo>Run tck using database ${jdo.tck.db},
                 identity type ${jdo.tck.id},
                 configuration ${jdo.tck.cfg}
        </echo>
        <echo>Run test classes ${jdo.tck.classes}
                with test data ${jdo.tck.testdata}
                and mapping/schema files ${jdo.tck.mapping}
        </echo>
    </goal>

_______________
Results:
_______________
$ maven -o runallcfgs.jdori
 __  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2

You are working offline so the build will continue, but 
jpox-SNAPSHOT.jar may be out of date!
You are working offline so the build will continue, but 
jdo2-api-SNAPSHOT.jar may be out of date!
You are working offline so the build will continue, but 
jpox-enhancer-SNAPSHOT.jar may be out of date!
build:start:

java:prepare-filesystem:

java:compile:
    [echo] Compiling to c:\svn5\jdo\trunk\tck20/target/classes

testrunner.set:

copyprops:

runallcfgs.jdori:
databaseStub:
    [echo] Install schema in derby

databaseStub:
    [echo] Install schema in mysql

databaseStub:
    [echo] Install schema in oracle

enhanceStub:
    [echo] Enhance classes for application

enhanceStub:
    [echo] Enhance classes for datastore

runtckStub:
    [echo] Run tck using database derby,
                 identity type application,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database derby,
                 identity type application,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database derby,
                 identity type application,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database derby,
                 identity type datastore,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jd
o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo
.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database derby,
                 identity type datastore,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database derby,
                 identity type datastore,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type application,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapab
le org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jd
o.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo
.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database mysql,
                 identity type application,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type application,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type datastore,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database mysql,
                 identity type datastore,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database mysql,
                 identity type datastore,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type application,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database oracle,
                 identity type application,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type application,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type datastore,
                 configuration cfg1.conf

    [echo] Run test classes 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetObjectIdNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManager 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForNull 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerForTransient 
org.apache.jdo.tck.api.jdohelper.GetPersistenceManagerNotPersistenceCapable 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectId 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForNull 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdForTransient 
org.apache.jdo.tck.api.jdohelper.GetTransactionalObjectIdNotPersistenceCapable
                with test data
                and mapping/schema files


runtckStub:
    [echo] Run tck using database oracle,
                 identity type datastore,
                 configuration cfg2.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company.orm


runtckStub:
    [echo] Run tck using database oracle,
                 identity type datastore,
                 configuration cfg3.conf

    [echo] Run test classes 
org.apache.jdo.tck.mapping.CompanyModelCompletenessTest
                with test data org.apache.jdo.tck.pc.company.company2.xml
                and mapping/schema files 
org.apache.jdo.tck.pc.company.company2.orm

BUILD SUCCESSFUL

-- Michelle

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Craig Russell <Cr...@Sun.COM>.
Attendees: Michelle Caisse, Michael Bouschen, Martin Zaun, Craig Russell

Agenda:

1. Test status (Michelle) 4 types of errors that cause most of the 
problems. Cleanup problem JDO-48, others might be JPOX issues. 
Forwarded to jdo-dev alias.

AI: JPOX developers please respond to email.

Michelle fixed a test case bug that now due to cleanup issues causes 
more tests to fail. One step forward, 30 steps back. Oh well.

2. Test cleanup fix (Michael W.) JDO-48 Michael W sent proposal and 
looks perfect according to Michelle. The fix is in Michael's workspace 
but we need a bit more review and update some test cases before 
checking in.

3. What is test/conf/JDOTCKTestCases.list for? (Michael B.) This used 
to be the default list of test cases. But now, allTests.list includes 
all test cases. When we have a new TestRunner implementation, this will 
be removed.

AI: Michelle ask the interested experts whether the GUI part is really 
needed.

4. Detached objects (Matthew) no change.

5. Build dependency on cvs (Geoff)

AI: Michael will post the btree mdr .zip sources on the JDO Wiki in 
case of problems downloading it from Netbeans. And put a note into 
README.txt.

6. Apache accounts for Matthew and Eric (Craig) Bugged Geir again.

AI: Craig will bug him again.

7. XML Schema (Brian T) no change.

8. JDO API release on ibiblio (Brian T) no change.

Other  issues  and status (any and all)

9. How to get automatic notification from JIRA when a new issue is 
filed?

AI: Craig

10. Can test cases rely on JDOHelper for state interrogation of 
non-binary-compatibility classes? Yes, but the  JDOImplHelper class has 
not implemented the functionality yet.

AI: Craig file JIRA bug and fix it.

11. New TestRunner

AI: Michelle will provide an update next week.

Status of AI's from weeks past:

12. Almost done with re-factoring effort, ready to check in. New 
packages core20, enhancer20, runtime20, query20, fostore20. Michael 
will check these into the repository.

13. We need a way to build the JCP distribution.

AI: Craig to define the JCP distributions and see if maven can help.

[April 15] AI Brian Topping will update the wiki to tell how to access 
our releases area.

[April 15] AI Brian Topping will do the maven goal for creating and 
uploading the snapshots. He will create a directory parallel to trunk 
called "releases" and put the snapshots there.

[April 15] AI Matthew will create a directory in the 
tck.api.persistencemanager called detach in which he will have complete 
freedom to implement the assertions in the detach section of the 
specification.

[April 22] AI Craig will resolve what happens if an application 
identity field is changed while the object is detached.

[April 22] AI Craig will resolve the serialization contract for a 
Detachable class so that implementations interoperate.

[May 13] AI Brian Topping will implement pushing SNAPSHOT builds of the 
project to ibiblio.

[May 13] AI Craig ask Geir where the committer badges are for Matthew, 
Erik, and Michael Watsek.

[May 13] AI Brian Topping will arrange for automated nightly builds.

[May 13] AI Martin Zaun will investigate JSR 294 (Java 5) to see impact 
on enhancer.

[May 13] AI Geoff try to get tck20 to run with JDOMax.

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Michael Watzek <mw...@spree.de>.
Hi Michelle,

I cannot join the meeting today. This is my status:

- Finished up with ri11 break out. Michael will check in new projects: 
core20, enhancer20, runtime20, query20, fostore20. fostore20 contains 
the testsuite. 2 Tests are contained in enhancer20.

- Started work on JDO-48 (http://issues.apache.org/jira/browse/JDO-48).

FYI: I'll have a day off on Monday.

Regards,
Michael

> Hi,
> 
> We will have our regular meeting Friday, May 20 at 9 am PST to discuss 
> JDO TCK issues and status.
> 
> Dial-in numbers are:
> 
> 866 230-6968   294-0479#
> International: +1 865 544-7856
> 
> Agenda:
> 
> Test status (Michelle)
> Test cleanup fix (Michael W.)
> What is test/conf/JDOTCKTestCases.list for? (Michael B.)
> Detached objects (Matthew)
> Build dependency on cvs (Geoff)
> Apache accounts for Matthew and Eric (Craig)
> XML Schema (Brian T)
> JDO API release on ibiblio (Brian T)
> Other  issues  and status (any and all)
> 
> -- Michelle


-- 
-------------------------------------------------------------------
Michael Watzek                  Tech@Spree Engineering GmbH
mailto:mwa.tech@spree.de        Buelowstr. 66
Tel.:  ++49/30/235 520 36       10783 Berlin - Germany
Fax.:  ++49/30/217 520 12       http://www.spree.de/
-------------------------------------------------------------------

GUI test runner needed?

Posted by Michelle Caisse <Mi...@Sun.COM>.
All,

Today the TCK supports both a command line JUnit test runner and a GUI 
test runner.  Does anyone see a need for us to continue to support the GUI?

Thanks,
Michelle

Re: Question on TCK11

Posted by Geoff hendrey <ge...@yahoo.com>.
The test in question used DatastoreIdentity. 

you said: 

"The classes in question have a set of fields that
uniquely form an *application identity*" and I'm just
saying no, they don't form an *application identity*,
because this test doesn't use application identity. It
uses Datastore Identity.

Ho hum, I guess I'm just grumpy because I didn't
expect the Apache TCK to be so different from the Sun
TCK. 

-geoff


--- Craig Russell <Cr...@Sun.COM> wrote:

> Hi Geoff,
> 
> It sounds like you are confusing application
> equality with JDO 
> identity, which are two separate concepts.
> 
> JVM has identity that you test with a == b.
> 
> Applications have equality that you test with
> a.equals(b).
> 
> JDO has identity that you test with 
> a.getObjectId().equals(b.getObjectId()).
> 
> Three different concepts.
> 
> Craig
> 
> On May 21, 2005, at 6:37 PM, Geoff hendrey wrote:
> 
> >
> >> The classes in question have a set of fields that
> >> uniquely form an
> >> application identity, and hashCode and equals use
> >> these fields. I don't
> >> see the issue.
> >
> > DatastoreIdentity is used, so no, they don't form
> an
> > application identity.
> >
> > -geoff
> >
> >
> >
> >
> >
> >
> >
> > 		
> > Discover Yahoo!
> > Find restaurants, movies, travel and more fun for
> the weekend. Check 
> > it out!
> > http://discover.yahoo.com/weekend.html
> >
> >
> Craig Russell
> Architect, Sun Java Enterprise System
> http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
> 



		
Discover Yahoo! 
Use Yahoo! to plan a weekend, have fun online and more. Check it out! 
http://discover.yahoo.com/

Re: Question on TCK11

Posted by Craig Russell <Cr...@Sun.COM>.
Hi Geoff,

It sounds like you are confusing application equality with JDO 
identity, which are two separate concepts.

JVM has identity that you test with a == b.

Applications have equality that you test with a.equals(b).

JDO has identity that you test with 
a.getObjectId().equals(b.getObjectId()).

Three different concepts.

Craig

On May 21, 2005, at 6:37 PM, Geoff hendrey wrote:

>
>> The classes in question have a set of fields that
>> uniquely form an
>> application identity, and hashCode and equals use
>> these fields. I don't
>> see the issue.
>
> DatastoreIdentity is used, so no, they don't form an
> application identity.
>
> -geoff
>
>
>
>
>
>
>
> 		
> Discover Yahoo!
> Find restaurants, movies, travel and more fun for the weekend. Check 
> it out!
> http://discover.yahoo.com/weekend.html
>
>
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

Re: Question on TCK11

Posted by Geoff hendrey <ge...@yahoo.com>.
> The classes in question have a set of fields that
> uniquely form an 
> application identity, and hashCode and equals use
> these fields. I don't 
> see the issue.

DatastoreIdentity is used, so no, they don't form an
application identity. 

-geoff







		
Discover Yahoo! 
Find restaurants, movies, travel and more fun for the weekend. Check it out! 
http://discover.yahoo.com/weekend.html 


Re: Question on TCK11

Posted by Craig Russell <Cr...@Sun.COM>.
Hi Geoff,

On May 21, 2005, at 12:53 PM, Geoff hendrey wrote:

> Department.hashCode method is using a persistent field
> to compute the value of the hashcode, in TCK11. Note
> that in the Sun version of the TCK, which JDOMax
> passes, hashCode is NOT overidden for Department.
>
> I think it is wrong to override hashCode and equals
> for any class using datastore identity.

The decision to override hashCode and equals belongs to the 
application, not to the JDO implementation. These methods implement the 
application's notion of equality, which as is well-described in the JDO 
specification, is different from both identity (the JVM's way of 
distinguishing whether two instances are the same) and JDO identity. 
That's why we have JDO identity.

> This was the
> subject of 35 or so emails on the experts group, and
> this was the position espoused by Craig.
>
> Craig laid down the law:
> "If you don't have a set of fields that uniquely form
> an application identity, then you should not implement
> equals. You *should* delegate to Object.equals"

The classes in question have a set of fields that uniquely form an 
application identity, and hashCode and equals use these fields. I don't 
see the issue.
>
> Please let me know if an implementation is expected to
> handle cases when the user overides equals and
> hashCode for datastore identity?

Yes. The three forms identity, equality, and JDO identity are given 
equal weight in the Java specification, the java.util classes, and the 
JDO specification. Identity belongs to the VM; equality belongs to the 
application; JDO identity belongs to the implementation.

Craig

> Certainly, JDOMax
> does NOT, and is failing a good bit of the Apache
> TCK11 because of it!
>
> -geoff
>
>
> 		
> __________________________________
> Yahoo! Mail Mobile
> Take Yahoo! Mail with you! Check email on your mobile phone.
> http://mobile.yahoo.com/learn/mail
>
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

Question on TCK11

Posted by Geoff hendrey <ge...@yahoo.com>.
Department.hashCode method is using a persistent field
to compute the value of the hashcode, in TCK11. Note
that in the Sun version of the TCK, which JDOMax
passes, hashCode is NOT overidden for Department. 

I think it is wrong to override hashCode and equals
for any class using datastore identity. This was the
subject of 35 or so emails on the experts group, and
this was the position espoused by Craig.

Craig laid down the law:
"If you don't have a set of fields that uniquely form
an application identity, then you should not implement
equals. You *should* delegate to Object.equals"

Please let me know if an implementation is expected to
handle cases when the user overides equals and
hashCode for datastore identity? Certainly, JDOMax
does NOT, and is failing a good bit of the Apache
TCK11 because of it!

-geoff


		
__________________________________ 
Yahoo! Mail Mobile 
Take Yahoo! Mail with you! Check email on your mobile phone. 
http://mobile.yahoo.com/learn/mail 

ready to commit to JDO

Posted by Martin Zaun <Ma...@Sun.COM>.
Craig, Mathew,

I've updated the sections 4.Tools and 5.Participation on the JDO wiki
   http://wiki.apache.org/jdo/
for information on the setup steps that I was missing.

For feedback from the newcomer perspective: the biggest issue, I think,
is that it's hard to find the JDO WiKi page !

When I started on the setup steps, I hadn't saved the JDO WiKi URL and
could barely find it again:
- searching for 'jdo' from http://wiki.apache.org doesn't find it !
- googling for 'apache jdo' finds it on the second search-result page
   with http://db.apache.org/ojb/ found first
- searching for 'jdo' from http://www.apache.org doesn't find anything
- searching for 'jdo' from http://incubator.apache.org finds some
   geronimo and derby pages but not the wiki jdo

Martin

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Geoff hendrey <ge...@yahoo.com>.
Unfortunately I can't join in tomorrow.

--- Michelle Caisse <mi...@Sun.COM> wrote:

> Hi,
> 
> We will have our regular meeting Friday, May 20 at 9
> am PST to discuss 
> JDO TCK issues and status.
> 
> Dial-in numbers are:
> 
> 866 230-6968   294-0479#
> International: +1 865 544-7856
> 
> Agenda:
> 
> Test status (Michelle)
> Test cleanup fix (Michael W.)
> What is test/conf/JDOTCKTestCases.list for? (Michael
> B.)
> Detached objects (Matthew)
> Build dependency on cvs (Geoff)
> Apache accounts for Matthew and Eric (Craig)
> XML Schema (Brian T)
> JDO API release on ibiblio (Brian T)
> Other  issues  and status (any and all)
> 
> -- Michelle
> 



		
Discover Yahoo! 
Get on-the-go sports scores, stock quotes, news and more. Check it out! 
http://discover.yahoo.com/mobile.html

Re: JDO TCK Conference Call Friday, May 20, 9 am PST

Posted by Michelle Caisse <Mi...@Sun.COM>.
Hi,

We will have our regular meeting Friday, May 20 at 9 am PST to discuss 
JDO TCK issues and status.

Dial-in numbers are:

866 230-6968   294-0479#
International: +1 865 544-7856

Agenda:

Test status (Michelle)
Test cleanup fix (Michael W.)
What is test/conf/JDOTCKTestCases.list for? (Michael B.)
Detached objects (Matthew)
Build dependency on cvs (Geoff)
Apache accounts for Matthew and Eric (Craig)
XML Schema (Brian T)
JDO API release on ibiblio (Brian T)
Other  issues  and status (any and all)

-- Michelle