On Jun 24, 2005, at 4:03 AM, Andy Jefferson wrote:

However, I have a question:

The property "org.jpox.identifier.defaultSchemaName" is passed as system
property. This is good because the default schema depends on the
identity type. However, there are a number of other JPOX properties
which are passed as java.util.Properties. Should we document somewhere
that the default schema name property is passed as system property?

Three comments :-

1. You should be using "javax.jdo.mapping.Schema" (and 
javax.jdo.mapping.Catalog) and not this JPOX-specific property (as I 
mentioned on the JPOX Forum thread about it that Michelle raised). Michelle, 
the reason you were not seeing any effect before was *because* you were 
passing this in as a system property and not using the JDO method of PMF 
property. I added that as an accepted System property yesterday in JPOX CVS.

Right. Now that JPOX supports the official jdo property, the JPOX properties should not be used.

2. I don't remember seeing anything in the JDO spec about accepting PMF props 
as System props (ok, JPOX supports it for many properties, but that is an 
extension IIRC and you can't rely on it for other impls). Correct me if I'm 
wrong (with a reference to the section of the JDO2 spec that defines it).

Right. PMF props are only accepted by specification in the properties file passed to the getPMF method. System properties are a vendor extension if they are supported at all, and I don't think it's best practice anyway.

3. As I also mentioned on the JPOX Forum thread, your schema name should be in 
UPPERCASE if you want schema validation to work (Derby accepts UPPERCASE 
identifiers - it only accepts mixed case if they are quoted, and we don't 
support validation of mixed case quoted at the moment either).

No comment.


Java Persistent Objects - JPOX

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!