Upgrading to datanucleus-appengine plugin 2.0 RC2 and changing Extent to
Query
also made this problem vanish.

Regards,

JG

On Mon, Jan 30, 2012 at 12:23 AM, John Goche <johngoch...@googlemail.com>wrote:

>
> Hello,
>
> I have an object calld XZStore which has a member List<Receipts> receipts.
> I add a receipt and make the store persistent.
> I do the same a second time. Then I delete the first one and make the
> store persistent. All good till now. Then, I delete the
> second receipt and make the store persistent and the operation fails with
> the following exception:
>
> java.lang.NullPointerExceptionjava.lang.NullPointerException
>     at
> org.datanucleus.store.appengine.DatastorePersistenceHandler.deleteObject(DatastorePersistenceHandler.java:620)
>     at
> org.datanucleus.store.appengine.DatastoreFKListStoreSpecialization.removeAt(DatastoreFKListStoreSpecialization.java:145)
>     at
> org.datanucleus.store.mapped.scostore.FKListStore.removeAt(FKListStore.java:525)
>     at
> org.datanucleus.store.mapped.scostore.AbstractListStore.remove(AbstractListStore.java:318)
>     at org.datanucleus.sco.backed.List.remove(List.java:907)
>     at org.datanucleus.sco.SCOListIterator.remove(SCOListIterator.java:145)
>     at
> org.datanucleus.sco.SCOUtils.updateListWithListElements(SCOUtils.java:828)
>     at org.datanucleus.sco.simple.List.attachCopy(List.java:232)
>     at
> org.datanucleus.store.fieldmanager.AttachFieldManager.storeObjectField(AttachFieldManager.java:205)
>     at
> org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStateManager.java:1037)
>     at com.foobar.foo.XZStore.jdoProvideField(Data.java)
>     at com.foobar.foo.XZStore.jdoProvideFields(Data.java)
>     at
> org.datanucleus.state.JDOStateManagerImpl.provideFields(JDOStateManagerImpl.java:2715)
>     at
> org.datanucleus.state.JDOStateManagerImpl.internalAttachCopy(JDOStateManagerImpl.java:4055)
>     at
> org.datanucleus.state.JDOStateManagerImpl.attachCopy(JDOStateManagerImpl.java:3987)
>     at
> org.datanucleus.ObjectManagerImpl.attachObjectCopy(ObjectManagerImpl.java:1778)
>     at
> org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1260)
>     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.foobar.foo.ServerProtocol.deleteReceipt(ServerProtocol.java:431)
>     at com.foobar.foo.ComNetDataServlet.respond(ComNetDataServlet.java:742)
>     at com.foobar.foo.ComNetDataServlet.doPost(ComNetDataServlet.java:55)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>     at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>     at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
>     at
> com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
>     at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>     at
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60)
>     at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>     at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
>     at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>     at
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
>     at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>     at
> com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
>     at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>     at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>     at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>     at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>     at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>     at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>     at
> com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78)
>     at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>     at
> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:362)
>     at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>     at org.mortbay.jetty.Server.handle(Server.java:326)
>     at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>     at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>     at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>     at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>
> Anyone having this problem? Anyone know how to solve it? Anyone know if
> gae datanucleus 2.0 RC2 plugin solves it.
> Anyone know how to install 2.0 RC2?
>
> Hoping someone on this list can help... source code to reproduce this
> error available upon request.
>
> Thanks,
>
> John Goche
>

-- 
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-java@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