dev@glassfish.java.net

Re: Compiling Glassfish in Eclipse

From: Tom Ware <tom.ware_at_oracle.com>
Date: Mon, 02 Oct 2006 10:03:17 -0400

Hi Markus,

  First of all, from a different email: The Java Persistence API
implementation found in GlassFish was contributed by Oracle and is an
open-source version of Oracle's TopLink product. That version is called
TopLink Essentials. We are working with Sun to make that more obvious
in the GlassFish product. TopLink Essentials is actually the JPA
implementation for a number of Application servers including Oracle AS,
GlassFish, Sun AS, Spring 2.0, JEUS (Tmax Soft), and Easy Beans (JOnAS
EJB 3.0 Container)

  Since this is our first foray into the open source world, there are
definitely some ease-of-development challenges we have to face to make
it easier for new developers to contribute. We appreciate the patience
you have given us so far.

  It is true that there are quite a number of things to consider when
extending the database support in TopLink. In general, the best
approach to take is to pick a database with similar features and SQL
support and use the functionality in it's DatabasePlatform subclass as a
base for the functionality you are implementing. That is why I was
hoping MaxDB would have similar functionality to MySQL.

  Some additional comments inline:

Markus KARG wrote:

>Tom,
>
>thank you for all your kind help so far. Today was the first day that I
>actually worked on MaxDB support. :-)
>
>So what have I done?
>
>I copied the MySQL Platform, renamed it to MaxDB Platform, and removed
>ALL code to see what the test will tell me when expecting no special
>treatments necessary for MaxDB. Certainly it failed, as expected. ;-)
>
>The first error in testresults.txt is:
>
>Exception [TOPLINK-7144] (Oracle TopLink Essentials - 2006.8 (Build
>060908)): oracle.toplink.essentials.exceptions.ValidationException
>Exception Description: XML_INC_ADDRESS_SEQ: platform DatabasePlatform
>doesn't support NativeSequence
>
>Since I know that MaxDB actually has a sequence feature built in (you
>can create any number of named sequences using CREATE SEQUENCE, and
>query for the current and next numbers by the sequence name) I thought
>it should be easy implementing this.
>
>So I added that code:
>
> @Override
> public final boolean supportsNativeSequenceNumbers() {
> return true;
> }
>
>In fact, the test result is unchanged.
>
>Actually I do not understand two things here:
>
>(1) The test complains about DatabasePlatform not supporting native
>Sequences, while my build.properties contains MaxDBPlatform but not
>DatabasePlatform. Are there any magic commands to execute before running
>the test (I tried maven clean build in both, entity-persistence and
>entity-persistence-tests, then deleted testresults.txt and did ant test)?
>
>
How is MaxDBPlatform specified in build.properties? Try switching to:
toplink.target-database=<fully qualified class name>. I will fix the
tl.platform property in the current build script. The reason it doesn't
cause problems for other databases is the existing Databases are in
general covered by our automatic detection feature. Hopefully when you
have added support, we can add MaxDB to the list of Databases we
automatically detect.

>(2) Why does it still tell me that I would not support native sequences
>while I have added "return true"?
>
>
Native Sequencing integration is likely one of the biggest challenges
you will face in your MaxDB implementation.

The code that throws the exception you are seeing checks
supportsNativeSequenceNumbers() and getSelectQuery() on the database
platform, so perhaps the select query is null.

>Seems to be a long way. Still 61 failed tests to fix. ;-)
>
>BTW, I am not quite aware how to implement
>buildSelectQueryForNativeSequence, because MaxDB needs to know the name
>of the sequence to query. How to obtain that name?
>
Take a look at OraclePlatform. It also requires to know the name of the
sequence.

>Actually implementing
>MaxDB support seems to be harder to do than expected, since the
>DatabasePlatform code is... well... not easy to understand, actually. In
>fact, I am missing a clear interface to implement, where I just have to
>return values like "yes, I this is supported", "no, this is not
>supported", "SELECT FOO FROM DUMMY". In fact, there is lots of more
>code, and most of it is strange and undocumented. So please don't mind
>be for asking you 61 more questions like this one. ;-)
>
>
Feel free to ask questions. Unfortunately, just indicating whether
something is supported is sometimes not adequate given that some
databases build the SQL statements they use to expose certain features
in completely different ways. Some areas where that is particularly
true are Native Sequencing, Outer Joins and Select for update. Having
said that, you are correct when you indicate that the developer
experience could be quite a bit better for users that wish to extend
DatabasePlatforms. I can tell you simply that we are working every day
to make this product a better open source solution. Your feedback will
definitely help.

-Tom

>
>Thanks for all
>Markus
>
>Tom Ware wrote:
>
>
>>Hi Markus,
>>
>> I have tried to help a bit. I fixed some formatting on the build.xml
>>in entity-persistence-tests. The issue was a combination of tabs and
>>spaces. With the correct "tab" setting, it looked ok. Hopefully it
>>is better now.
>>
>> I have also updated the script to be more explicit when it fails.
>>
>> I'll take the blame for the 15 failures you are now seeing. It is
>>likely because of embedded Derby. I must admit I run my testing on
>>Oracle most of the time. I think you have some other emails from some
>>of the folks at Sun who are more expert at running on Derby than I.
>>Hopefully they are helpful.
>>
>> The good news is that with that number of tests passing, I believe
>>you are in a state where if you still have the patience, you can start
>>working on MaxDB. It looks like the scripts are all working for you,
>>and the tests are running.
>>
>> The test program you mention sounds neat. Is it something that is
>>part of JOnAS or something more generic?
>>
>> The best place to start looking at supporting new database platforms
>>is in the oracle.toplink.essentials.platform.database package. When
>>you have started your implementation, you may also need to use the
>>toplink.target-database property in your persistence unit and specify
>>the name of your new platform class.
>>
>>Let me know when you have additional questions,
>>Tom
>>
>>Markus KARG wrote:
>>
>>
>>
>>>Tom,
>>>
>>>it's actually hard to set up a machine to be able to contribute MaxDB
>>>support... Seems I am a bit the build-script-team's experimental animal,
>>>what I am not very amused of. :-(
>>>
>>>Okay, so I have added the classpath you told me, and now I can run more
>>>but not all tests:
>>>
>>>Tests run: 527, Failures: 0, Errors: 15, Time elapsed: 173,493 sec
>>>
>>>Actually I isn't funny to see BUILD SUCCESSFUL below that line, since it
>>>makes me wonder what the script author thinks to be successful with a
>>>test that stops after 3 minutes with 15 errors. Also the script is
>>>formatted so badly (too many, too less tabs and spaces) that it looks
>>>like someone did a quick hack in five minutes, which might be the cause
>>>of my problems?
>>>
>>>So I now will set up a Derby installation in network mode just to test
>>>whether the code currently pulled from CVS is working well, so I can
>>>FINALLY start implementing MaxDB support. Actually I am starting to lose
>>>interest in contributing anything, after all those experiments and after
>>>all those weeks. Maybe I should come back once it is possible to just
>>>do:
>>>
>>>svn co http://www.java.net/glassfish
>>>mvn test
>>>
>>>(Actually it could be so easy once the project structure would have
>>>cleaned up. I just did this with a very large project some weeks ago
>>>that used thousands of ANT lines before).
>>>
>>>BTW, I contributed support for Sybase 8 to JOnAS 4.x sometimes. I was
>>>done in one hour. I just had to run a test program that "investigated"
>>>(trial and error) the behaviour of the Sybase driver. That's all. The
>>>test program resulted in the final code, more or less. That's quite a
>>>difference to all the work that has to be done just to compile and tests
>>>GlassFish. If GlassFish wouldn't be so much better than JOnAS, and if
>>>there wouldn't the actual need to use MaxDB, I would have given up weeks
>>>ago.
>>>
>>>Okay, so I will do the Derby installation and come back to you with more
>>>results then.
>>>
>>>(Sorry, I'm a bit tired and disappointed)
>>>
>>>Thanks a lot to all the kind people in this forum, this is a great
>>>community!
>>>Markus
>>>
>>>Tom Ware wrote:
>>>
>>>
>>>
>>>
>>>>Derby is included with your GlassFish installation.
>>>>
>>>>I'll provide a suggestion and perhaps one of the Sun folks that run
>>>>the tests on Derby on a more regular basis than I can comment on
>>>>easier ways.
>>>>
>>>>When I run on Derby, I include the derby jar on the Classpath that
>>>>actually runs ant. I believe it is because I am running the embedded
>>>>Derby version.
>>>>
>>>>Try adding: <cvs home>/publish/glassfish/javadb/lib/derby.jar to the
>>>>classpath of the VM that is actually running ant.
>>>>
>>>>If that works for you, I will add a comment to the readme file.
>>>>
>>>>-Tom
>>>>
>>>>Markus KARG wrote:
>>>>
>>>>
>>>>
>>>>
>>>>>Tom,
>>>>>
>>>>>thank you once more. In fact there is the following error:
>>>>>
>>>>>Exception Description: Configuration error. Class
>>>>>[org.apache.derby.jdbc.EmbeddedDriver] not found.
>>>>>
>>>>>It seems that Derby is not found. Isn't it included in GlassFish? Do I
>>>>>have to install it manually?
>>>>>
>>>>>Thanks a lot! :-)
>>>>>Markus
>>>>>
>>>>>Tom Ware wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>Hi Markus,
>>>>>>
>>>>>>Based on your results, I suspect there is an issue with connecting to
>>>>>>the database.
>>>>>>
>>>>>>Take a look in the testresults.txt file that should exist in your
>>>>>>entity-persistence-tests directory. That is the file that the junit
>>>>>>results are written to by default. Hopefully there will be an
>>>>>>exception trace near the beginning of that file.
>>>>>>
>>>>>>-Tom
>>>>>>
>>>>>>Markus KARG wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Tom,
>>>>>>>
>>>>>>>thank you for your tip, actually I was in the wrong directory...
>>>>>>>
>>>>>>>So now I have run "ant test" and here is the result. Actually I
>>>>>>>think
>>>>>>>that despite its saying "BUILD SUCCESSFUL", it did not do anything
>>>>>>>-- it
>>>>>>>just needed 24 Seconds to run, while you told me that it needs 20
>>>>>>>Minutes on your PC. Also it says there are 61 errors. I have used
>>>>>>>Derby,
>>>>>>>as you told me. Below is the log.
>>>>>>>
>>>>>>>What is my fault?
>>>>>>>
>>>>>>>Thanks a lot!
>>>>>>>Markus
>>>>>>>
>>>>>>>markus_at_localhost:~/workspace/glassfish/entity-persistence-tests> ant
>>>>>>>test
>>>>>>>Buildfile: build.xml
>>>>>>>
>>>>>>>init:
>>>>>>> [echo] Building component TopLink Essentials Testing
>>>>>>>
>>>>>>>test:
>>>>>>> [junit] Running
>>>>>>>oracle.toplink.essentials.testing.tests.FullRegressionTestSuite
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:22:53.772--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>initializaing
>>>>>>>jar:file:/home/markus/workspace/glassfish/entity-persistence-tests/lib/toplink-essentials-tests.jar!/META-INF/persistence.xml.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:22:54.300--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>created temporary ClassLoader:
>>>>>>>oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer$TempEntityLoad.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:22:54.302--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>override load class for collection members: true.
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:22:54.387--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>predeploying default.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.827--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.NonFueledVehicle]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.845--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.NonFueledVehicle]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.858--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Car]
>>>>>>>is
>>>>>>>being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.889--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Car]
>>>>>>>is
>>>>>>>being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.896--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.SportsCar]
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.898--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.SportsCar]
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.903--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Bicycle]
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.905--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Bicycle]
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.973--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>discriminator column name for the root inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Person]
>>>>>>>
>>>>>>>is
>>>>>>>being defaulted to: DTYPE.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.976--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Engineer]
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.978--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Engineer]
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.984--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.ImaginaryCar]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.986--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.ImaginaryCar]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.990--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Lawyer]
>>>>>>>
>>>>>>>is
>>>>>>>being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:08.992--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>foreign key column name for the inheritance class [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Lawyer]
>>>>>>>
>>>>>>>is
>>>>>>>being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:09.267--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the mapping element [public
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Car
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Person.getCar()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:09.274--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>primary key column name for the mapping element [public
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Engineer
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Person.getBestFriend()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:09.276--ServerSession(9936523)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>target entity (reference) class for the one to one mapping element
>>>>>>>[public
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Person
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Bus.getBusDriver()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Person.
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.279--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.TireInfo].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.284--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Car].
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.286--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.SportsCar].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.287--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Boat].
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.289--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Bus].
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.291--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Bicycle].
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.292--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Person].
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.294--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Engineer].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.296--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.PerformanceTireInfo].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.298--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.NonFueledVehicle].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.299--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Company].
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.301--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Vehicle].
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.303--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.Lawyer].
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.304--ServerSession(9936523)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.inheritance.ImaginaryCar].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.306--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>registering transformer for ignore.
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.308--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>initializaing
>>>>>>>jar:file:/home/markus/workspace/glassfish/entity-persistence-tests/lib/toplink-essentials-ddl-generation-tests.jar!/META-INF/persistence.xml.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.413--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>created temporary ClassLoader:
>>>>>>>oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer$TempEntityLoad.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.414--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>override load class for collection members: true.
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:09.415--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>predeploying ddlGeneration.
>>>>>>> [junit] [TopLink Warning]: 2006.09.25
>>>>>>>09:23:11.470--ServerSession(11228395)--Thread(Thread[main,5,main])--Ignoring
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>the named/named-native query
>>>>>>>[oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataDescriptor_at_8a54]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>on entity class [findAnyMergeSQLBeerConsumer] as a query with that
>>>>>>>name
>>>>>>>already exists.
>>>>>>> [junit] [TopLink Warning]: 2006.09.25
>>>>>>>09:23:11.471--ServerSession(11228395)--Thread(Thread[main,5,main])--Ignoring
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>the named/named-native query
>>>>>>>[oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataDescriptor_at_8a54]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>on entity class [findAllMergeSQLCertifications] as a query with that
>>>>>>>name already exists.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.474--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>table name for entity [class
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Alpine]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: MERGEALPINE.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.488--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [private java.sql.Timestamp
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Beer.version]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: VERSION.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.493--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [public java.lang.String
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.EmbeddedSerialNumber.getBreweryCode()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: BREWERYCODE.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.495--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [private double
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Beer.alcoholContent]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ALCOHOLCONTENT.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.497--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [private
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Alpine$Classification
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Alpine.classification]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: CLASSIFICATION.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.504--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [private java.sql.Timestamp
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Beer.version]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: VERSION.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.506--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [private double
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Beer.alcoholContent]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ALCOHOLCONTENT.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.508--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [private
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Canadian$Flavor
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Canadian.flavor]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: FLAVOR.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.783--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [public java.lang.Integer
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer.getId()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:11.801--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [public java.lang.String
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer.getName()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: NAME.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.057--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [public java.lang.String
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Certification.getDescription()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: DESCRIPTION.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.061--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>column name for element [public java.lang.Integer
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Certification.getId()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.063--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>primary key column name for the mapping element [public
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.TelephoneNumber.getBeerConsumer()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.064--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>primary key column name for the mapping element [private
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Beer.beerConsumer]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.065--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>primary key column name for the mapping element [private
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Beer.beerConsumer]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.067--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>map key attribute name for the mapping element [public java.util.Map
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer.getCanadianBeersToConsume()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: id.
>>>>>>> [junit] [TopLink Config]: 2006.09.25
>>>>>>>09:23:12.068--ServerSession(11228395)--Thread(Thread[main,5,main])--The
>>>>>>>
>>>>>>>
>>>>>>>primary key column name for the mapping element [public
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Certification.getBeerConsumer()]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>is being defaulted to: ID.
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.069--ServerSession(11228395)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Canadian].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.069--ServerSession(11228395)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.BeerConsumer].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.070--ServerSession(11228395)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Alpine].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.070--ServerSession(11228395)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.TelephoneNumber].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.071--ServerSession(11228395)--Thread(Thread[main,5,main])--Weaver
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>processing class
>>>>>>>[oracle.toplink.essentials.testing.models.cmp3.xml.merge.inherited.Certification].
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.071--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>registering transformer for ddlGeneration.
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.071--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>initializaing
>>>>>>>jar:file:/home/markus/workspace/glassfish/entity-persistence-tests/lib/toplink-essentials-validation-tests.jar!/META-INF/persistence.xml.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.179--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>created temporary ClassLoader:
>>>>>>>oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer$TempEntityLoad.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.180--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>override load class for collection members: true.
>>>>>>> [junit] [TopLink Finer]: 2006.09.25
>>>>>>>09:23:12.186--Thread(Thread[main,5,main])--javaSECMPInitializer -
>>>>>>>predeploying broken-PU.
>>>>>>> [junit] Tests run: 22, Failures: 0, Errors: 61, Time elapsed:
>>>>>>>3,809 sec
>>>>>>> [junit] Test
>>>>>>>oracle.toplink.essentials.testing.tests.FullRegressionTestSuite
>>>>>>>FAILED
>>>>>>>
>>>>>>>BUILD SUCCESSFUL
>>>>>>>
>>>>>>>
>>>>>>>Tom Ware wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>Hi Markus,
>>>>>>>>
>>>>>>>>I guess I should have been more clear. Testing is run out of the
>>>>>>>>entity-persistence-tests module. The build file with the "test"
>>>>>>>>target exists in that module.
>>>>>>>>
>>>>>>>>-Tom
>>>>>>>>
>>>>>>>>Markus KARG wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>Tom,
>>>>>>>>>
>>>>>>>>>thank you for being so patient with me and sorry for me
>>>>>>>>>answering so
>>>>>>>>>late. Actually I had not found any time to work on my MaxDB
>>>>>>>>>support in
>>>>>>>>>the past weeks, since I was booked out with my "real" job of
>>>>>>>>>coordinating a globally distributed development team.
>>>>>>>>>
>>>>>>>>>So today I am back at my keyboard and wanted to continue with your
>>>>>>>>>step-by-step instructions on how to add MaxDB support into
>>>>>>>>>GlassFish.
>>>>>>>>>Unfortunately there is one step not working and you might be so
>>>>>>>>>kind to
>>>>>>>>>tell me where I am going wrong.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>The first step to running the tests (as Marina has also
>>>>>>>>>>replied) is
>>>>>>>>>>to take a look at the readme.txt file in the
>>>>>>>>>>entity-persistence-tests
>>>>>>>>>>directory and follow those instructions. If you do not have a DB
>>>>>>>>>>(other than MaxDB) conveniently available you can use an embedded
>>>>>>>>>>Derby database. Everything you need to do that is available
>>>>>>>>>>from a
>>>>>>>>>>bootstrapped GlassFish. As you can probably tell from my email
>>>>>>>>>>address, I usually run these tests on Oracle, so I am not a Derby
>>>>>>>>>>expert, but, here are the properties I use when I am running
>>>>>>>>>>tests on
>>>>>>>>>>Derby:
>>>>>>>>>>
>>>>>>>>>>--
>>>>>>>>>>jdbc.driver.jar=<cvs home>/publish/glassfish/javadb/lib/derby.jar
>>>>>>>>>>db.driver=org.apache.derby.jdbc.EmbeddedDriver
>>>>>>>>>>db.url=jdbc:derby:testDb;create=true;
>>>>>>>>>>db.user=tware
>>>>>>>>>>db.pwd=password
>>>>>>>>>>--
>>>>>>>>>>
>>>>>>>>>>The tests actually take on the order of 20 minutes to run on
>>>>>>>>>>embedded
>>>>>>>>>>Derby. If you have a commercial-quality database, the tests
>>>>>>>>>>will run
>>>>>>>>>>much quicker. (my tests on Oracle run in less then 5 minutes)
>>>>>>>>>>
>>>>>>>>>>-Tom
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>I did as you told me, also added tl.platform=...derby... (as to be
>>>>>>>>>found
>>>>>>>>>in the readme), but then the readme says that I shall to "ant
>>>>>>>>>test", but
>>>>>>>>>actually the build.xml of entity-persistence doesn't contain a
>>>>>>>>>target
>>>>>>>>>named test, so ant is not doing anything but complaining about
>>>>>>>>>exactly
>>>>>>>>>that problem. So it seems either the readme is wrong, or the
>>>>>>>>>build.xml
>>>>>>>>>is buggy.
>>>>>>>>>
>>>>>>>>>What shall I do now?
>>>>>>>>>
>>>>>>>>>Thanks
>>>>>>>>>Markus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>---------------------------------------------------------------------
>>>>>>>>
>>>>>>>>To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>---------------------------------------------------------------------
>>>>>>To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
>>
>>
>>
>
>
>

-- 
Tom Ware
Principal Software Engineer
Oracle Canada Inc.
Direct: (613) 783-4598
Email: tom.ware_at_oracle.com