good point, I kinda got lost in the exceptions I was getting  :)
I wound up sorting it out by making an embedded class instead of
having multiple parent classes for a given child class.  Although, it
would be nice if a child class could have different parent types.

Thanks for all your help Max.
-bryce


On Mon, Dec 14, 2009 at 11:30 AM, Max Ross (Google)
<maxr+appeng...@google.com> wrote:
> I believe the exception you're getting is the result of having multiple
> parents for the same type, and unfortunately that bug isn't fixed in this
> release.  The bugs fixed in this release are:
>
> - Incorrect exception for multiple fields of same type
> http://code.google.com/p/datanucleus-appengine/issues/detail?id=172
>
> - Non-persistent base classes do not work
> http://code.google.com/p/datanucleus-appengine/issues/detail?id=169
>
> - Relationships in abstract base classes don't work
> http://code.google.com/p/datanucleus-appengine/issues/detail?id=171
>
>
> On Sat, Dec 12, 2009 at 1:09 AM, bryce cottam <bcot...@gmail.com> wrote:
>>
>> hmmm.... I think I may have installed the patch wrong perhaps.  I
>> still get the same error.
>> I'm using the same code I sent you for the test case Max.  Do you see
>> any tell-tale signs in here that indicate I've mis-configured
>> something?  I have datanucleus-appengine-1.0.4.1-RC2.jar on my
>> classpath and I removed the previous one (pretty much the same jar but
>> with .final.jar as it's name.  I followed the steps outlined by
>> Jonathan.
>>
>> here is the stack trace:
>> java.lang.ClassCastException: oid is not instanceof
>> javax.jdo.identity.ObjectIdentity
>>        at
>> com.resmark.model.RatePlan.jdoCopyKeyFieldsFromObjectId(RatePlan.java)
>>        at
>> org.datanucleus.store.mapped.mapping.PersistenceCapableMapping.setObjectAsValue(PersistenceCapableMapping.java:657)
>>        at
>> org.datanucleus.store.mapped.mapping.PersistenceCapableMapping.setObject(PersistenceCapableMapping.java:364)
>>        at
>> org.datanucleus.store.appengine.DatastoreRelationFieldManager$1.setObjectViaMapping(DatastoreRelationFieldManager.java:128)
>>        at
>> org.datanucleus.store.appengine.DatastoreRelationFieldManager$1.apply(DatastoreRelationFieldManager.java:104)
>>        at
>> org.datanucleus.store.appengine.DatastoreRelationFieldManager.storeRelations(DatastoreRelationFieldManager.java:78)
>>        at
>> org.datanucleus.store.appengine.DatastoreFieldManager.storeRelations(DatastoreFieldManager.java:812)
>>        at
>> org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPostProcess(DatastorePersistenceHandler.java:288)
>>        at
>> org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:241)
>>        at
>> org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:225)
>>        at
>> org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3185)
>>        at
>> org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3161)
>>        at
>> org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1298)
>>        at
>> org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1175)
>>        at
>> org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:669)
>>        at
>> org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:694)
>>        at com.resmark.JdoTestServlet.create(JdoTestServlet.java:183)
>>        at com.resmark.JdoTestServlet.doTest(JdoTestServlet.java:90)
>>        at com.resmark.JdoTestServlet.doGet(JdoTestServlet.java:33)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>        at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>>        at
>> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>        at
>> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>        at
>> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:352)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>        at org.mortbay.jetty.Server.handle(Server.java:313)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
>>        at
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
>>
>> I've got to be missing something.  :(
>>
>> thanks,
>> -bryce
>>
>>
>> On Fri, Dec 11, 2009 at 8:54 AM, bryce cottam <bcot...@gmail.com> wrote:
>> > Thanks a million Max, I've been on the road for a few days but I'm
>> > looking
>> > forward to trying this out when I get back. Thanks for the link
>> > Jonathan.
>> >
>> > -bryce
>> >
>> > On Dec 11, 2009 6:50 AM, "Jonathan &apos;J5&apos; Cook"
>> > <jonathan.j5.c...@gmail.com> wrote:
>> >
>> > Thanks for the fix, Max and perfect timing for me :)  I just upgraded
>> > to 1.2.8 and started having this issue last night.
>> >
>> > For those who don't/didn't already know (like myself), here is a link
>> > to instructions Max wrote on how to install a new plugin version into
>> > the SDK:
>> >
>> >
>> > http://code.google.com/p/datanucleus-appengine/wiki/HowToUpdateTheSDKWithANewPluginVersion
>> >
>> > Regards,
>> > J5
>> >
>> > On Dec 10, 11:59 am, "Max Ross (Google)" <maxr+appeng...@google.com>
>> > wrote:
>> >> I've posted a bug fix release candidate containing this fix
>> >>
>> >> here:http://datanucleus-appengine.googlecode.com/files/appengine-orm-1.0.4...
>> >
>> >> > On Tue, Dec 8, 2009 at 5:26 PM, bryce cottam <bcot...@gmail.com>
>> >> > wrote:
>> >> > > > That's great news Ma...
>> >
>> >> > On Dec 8, 2009 5:20 PM, "Max Ross (Google)"
>> >> > <maxr+appeng...@google.com<maxr%2bappeng...@google.com>>
>> >
>> >> > wrote: > > > I've filed bug >
>> >> > >http://code.google.com/p/datanucleus-appengine/issues/detail?id=1...
>> >
>> >> > On Tue, Dec 8, 2009 at 11:29 AM, bryce cottam <bcot...@gmail.com>
>> >> > wrote:
>> >> > > > >> > > It's all goo...
>> >
>> >> >
>> >> >
>> >> > google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
>> >
>> >> > . > > For more options, visit this group at >
>> >> > >http://groups.google.com/group/google-appengine-j...
>>
>> --
>>
>> 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
>> google-appengine-j...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine-java+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine-java?hl=en.
>>
>>
>
> --
>
> 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 google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>

--

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 google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to