Hi Andy,On Aug 10, 2005, at 11:44 AM, Andy Jefferson wrote: I've patched the JDOImplHelper class to make the construct method static. There are no issues that I can think of to make this method static, so I'll change this.
Does this help?
Hi Craig,
Thanks for looking into it. Referring to Michael's mail of the added jdoCopyKeyFieldsFromObjectId() method, the error is at the end where it needs to create a Date (or Locale, or Currency, or whatever) from the "oid". Is construct() doing this ?
The helper method creates an instance of Currency, Locale, or Date given a String. or is it doing the reverse (I remember scanning through it when you added ObjectIdentity and seeing the sort of parsing I need to create an object from the oid, but may have been mistaken).
protected void jdoCopyKeyFieldsFromObjectId(Object oid) { if(!(oid instanceof ObjectIdentity)) { throw new ClassCastException("key class is not javax.jdo.identity.ObjectIdentity or null"); } else { ObjectIdentity o = (ObjectIdentity)oid; id = new Date(o.getKey());
I should have noticed this earlier. There already is a proper Date in the ObjectIdentity oid instance and all you need to do is to get it and cast it.
id = (Date)o.getKeyAsObject();
You can also do validity checking to make sure that the ObjectIdentity instance has the proper key type:
Object idAsObject = o.getKeyAsObject(); if (idAsObject.getClass().getName() != "java.util.Date") throw StupidUserException.
Craig |
smime.p7s
Description: S/MIME cryptographic signature