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 'J5' 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.