Hey Folks,

me again and already 2 things I have to clear up:

(1)
We're savin some kind of notes in our system which can be assigned only to one person or to a list of persons.

Herefore we've got one table for the notes and a mapping table which saves the noteid and the id of the person.

Alright, so I creata note and add a person as a recipient. Now I re-open the window, remove the person i originally added to the note and add a new person to the note. I hit the save button and everything works fine.

When I try to re-open the note cayenne gives me a nice exception:

19:19:52.204 WARN!! Exception for /ams?serviceId=Echo.Synchronize
java.lang.NullPointerException
at org.apache.cayenne.access.DataContextFaults$ToOneFault.doResolveFault(DataContextFaults.java:108) at org.apache.cayenne.access.DataContextFaults$ToOneFault.resolveFault(DataContextFaults.java:81) at org.apache.cayenne.CayenneDataObject.readProperty(CayenneDataObject.java:209) at ams.entities.auto._Mappingnotizperson.getToPersonen(_Mappingnotizperson.java:30) at ams.kalender.NotizCreateWindowPane.<init>(NotizCreateWindowPane.java:115)
        at ams.kalender.Kalender$4.actionPerformed(Kalender.java:315)
at nextapp.echo2.app.button.AbstractButton.fireActionPerformed(AbstractButton.java:135) at nextapp.echo2.app.button.AbstractButton$1.actionPerformed(AbstractButton.java:100) at nextapp.echo2.app.button.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:70) at nextapp.echo2.app.button.DefaultButtonModel.doAction(DefaultButtonModel.java:58) at nextapp.echo2.app.button.AbstractButton.doAction(AbstractButton.java:121) at nextapp.echo2.app.button.AbstractButton.processInput(AbstractButton.java:506) at nextapp.echo2.app.update.ClientUpdateManager.process(ClientUpdateManager.java:116) at nextapp.echo2.app.update.UpdateManager.processClientUpdates(UpdateManager.java:89) at nextapp.echo2.webcontainer.ContainerSynchronizeService.renderUpdate(ContainerSynchronizeService.java:472) at nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:279) at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273) at nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:356)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342) at org.apache.cayenne.conf.WebApplicationContextFilter.doFilter(WebApplicationContextFilter.java:91) at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1776)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:514)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1726)
        at org.mortbay.http.HttpServer.service(HttpServer.java:879)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:196)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:487)

Well, this exception comes on an object with the PersistenceState = Transient. The exception is thrown when in doResolveFault cayenne tries to access the object's context.
But why? This object shouldn't even be there! In my opinion this is a bug.
It doesn't matter, if we delete the object with deletObject or with a delet query. How can it be? It's pretty severe though.

(2)
I try to access a mapping table again, this time we manage resources like rooms, beamers etc.

I get all mappings and try to access via mapping.getToResource().getname() the resource's name.

We get:

19:22:49.168 WARN!! Exception for /ams?serviceId=Echo.Synchronize
org.apache.cayenne.FaultFailureException: [EMAIL PROTECTED]@ @[EMAIL PROTECTED] Error resolving fault for ObjectId: <ObjectId:Resource, IDRESOURCE=1> and state (hollow). Possible cause - matching row is missing from the database. at org.apache.cayenne.access.DataContext.prepareForAccess(DataContext.java:1816) at org.apache.cayenne.CayenneDataObject.readProperty(CayenneDataObject.java:202)
        at ams.entities.auto._Resource.getCapacity(_Resource.java:26)
at ams.services.CayenneEventService.isResourceReserveable(CayenneEventService.java:373) at ams.resource.mgmt.ResourceReservationWindowPane.actionSave(ResourceReservationWindowPane.java:224) at ams.resource.mgmt.ResourceReservationWindowPane.access$6(ResourceReservationWindowPane.java:144) at ams.resource.mgmt.ResourceReservationWindowPane$4.actionPerformed(ResourceReservationWindowPane.java:467) at nextapp.echo2.app.button.AbstractButton.fireActionPerformed(AbstractButton.java:135)
        at echopointng.ButtonEx$1.actionPerformed(ButtonEx.java:120)
at nextapp.echo2.app.button.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:70) at echopointng.model.DefaultButtonModelEx.doAction(DefaultButtonModelEx.java:51)
        at echopointng.ButtonEx.processInput(ButtonEx.java:203)
at nextapp.echo2.app.update.ClientUpdateManager.process(ClientUpdateManager.java:116) at nextapp.echo2.app.update.UpdateManager.processClientUpdates(UpdateManager.java:89) at nextapp.echo2.webcontainer.ContainerSynchronizeService.renderUpdate(ContainerSynchronizeService.java:472) at nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:279) at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273) at nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:356)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342) at org.apache.cayenne.conf.WebApplicationContextFilter.doFilter(WebApplicationContextFilter.java:91) at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1776)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:514)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1726)
        at org.mortbay.http.HttpServer.service(HttpServer.java:879)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:196)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:487)

i already checked all references again and again I always get this annoying message. the data are there, at 100% all data and all constraints in the database are there. I double-checked everything.

Please, could someone help me?

thanks in advance!

Jan

_________________________________________________________________
Die neue MSN Suche Toolbar mit Windows-Desktopsuche. Suchen Sie gleichzeitig im Web, Ihren E-Mails und auf Ihrem PC! Jetzt neu! http://desktop.msn.de/ Jetzt gratis downloaden!

Reply via email to