On Feb 8, 2006, at 11:32 PM, David Blevins wrote:
Do you have a jira account?  I'll add you to the OpenEJB jira.

Yes, my codehaus Jira id is "andrus".


Do you guys have any sort of tests cases for JPA yet?

No. The plan is to develop them in parallel with the implementation code.


Also, somewhat unrelated, what do you do for reading in deployment descriptors? OpenEJB used to use Castor XML, then we switched to XMLBeans in Geronimo.

I was thinking maybe JAXB2. One of the first steps will be reading in a persistence.xml so we can pull out the JPA PersistenceProvider and create those PersistenceUnitInfo thingies.

Is that something you'd want to work on?

Believe it or not Cayenne is using good old SAX API. Wasn't fun to write the parser (not that we had much choice in 2001), but it works and it is very fast. This time around I would go with something more fancy. JAXB is probably a good option (IIRC it doesn't require extra runtime jars - this is a big plus for the container-less JPA operation).

BTW, persistence.xml is pretty trivial (and doesn't seem to have a schema in the spec), so a hand-parser would work fine. But the entity- mapping.xml is much more involved.

I can work on that. Since this is the code we would want to reuse across OpenEJB/Geronimo/Cayenne, we need a separate subproject that builds a separate small jar. The question is where do we put it (package name-wise and physical repository). I suggest "org.objectstyle.cayenne.jpa" and a subproject on codehaus (or I can set up a repository on ObjectStyle.org).

I am not yet fully clear on the practical distinctions of the PersistenceProvider operation within container compared to standalone, but the plan is that cayenne-jpa.jar will be a full standalone provider (that includes .par bootstrapping code), and OpenEJB can extend some of its classes to do container-specific tricks (and use it as a default provider if needed).

Does it make sense?

If so I will start on the parsing code and provider placeholder.

Andrus


Reply via email to