I wrote a datanucleus javaTypes plugin (for joda-time LocalDate) based
on the org.datanuclues.store.types.ObjectStringConverter interface.
You probably know that this interface allows non-basic types to
declare their ability to marshal themselves to/from a String
representation for persistence. In my case it'd be particularly
helpful because the String representation's natural sort order matches
the sort order of the class itself, so it'd be indexable.
The datanucleus layer seems to find and register the plugin, because I
get this FINE debug line when I include my plugin:
Jan 8, 2010 8:47:42 PM org.datanucleus.store.types.TypeManager
addJavaType
FINE: Adding support for Java type org.joda.time.LocalDate
(persistent=true, DFG=true, embedded=true)
But when it tries to persist a field of type LocalDate I still get the
following stack, with or without my plugin:
java.lang.IllegalArgumentException: eventDate: org.joda.time.LocalDate
is not a supported property type.
at
com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue
(DataTypeUtils.java:145)
at
com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue
(DataTypeUtils.java:127)
at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:
280)
at
org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField
(DatastoreFieldManager.java:798)
at org.datanucleus.state.AbstractStateManager.providedObjectField
(AbstractStateManager.java:1037)
at com.inetdevboy.model.Event.jdoProvideField(Event.java)
at com.inetdevboy.model.Event.jdoProvideFields(Event.java)
[more]...
I'd really like to avoid having to declare separate persistence fields
with lifecycle listeners to accommodate every LocalDate field. Is
there a lever in the existing GAE implementation I haven't pulled to
engage my plugin?
BTW, I'm aware that there's an existing JodaTime datanucleus plugin,
but it appears to require DataNucleus 2, and my implementation is
essentially the same as theirs, just without the ORM support.
Please help!
[Using GAE SDK 1.3.0]
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.