Okay, I found the error - I used a wrong datatype for the matchExpression.
Well, in fact this is a stupid mistake by me; but in my opinion the framework 
could handle this more smoothly.

Just told you this nice exception as a illustration on how difficult it could 
become working with cayenne if one is just a bit hasty on cayennes use.
I think that hibernate in this context is more reliable; but therefore requires 
more work to be running at first.
But dont want to talk about that now.

Greets Jan



> From: [EMAIL PROTECTED]
> To: user@cayenne.apache.org
> Subject: RE: Deletion of obejcts
> Date: Wed, 21 Nov 2007 22:38:34 +0000
> 
> Hey Kevin,
> 
> here is one of those exceptions I cannot get used to:
> 
> java.lang.NullPointerException
>     at 
> org.apache.cayenne.access.trans.QualifierTranslator.appendObjectMatch(QualifierTranslator.java:153)
>     at 
> org.apache.cayenne.access.trans.QualifierTranslator.endNode(QualifierTranslator.java:321)
>     at org.apache.cayenne.exp.Expression.traverse(Expression.java:520)
>     at org.apache.cayenne.exp.Expression.traverse(Expression.java:511)
>     at org.apache.cayenne.exp.Expression.traverse(Expression.java:491)
>     at 
> org.apache.cayenne.access.trans.QualifierTranslator.doTranslation(QualifierTranslator.java:74)
>     at 
> org.apache.cayenne.access.trans.SelectTranslator.createSqlString(SelectTranslator.java:129)
>     at 
> org.apache.cayenne.access.trans.QueryAssembler.createStatement(QueryAssembler.java:95)
>     at 
> org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:71)
>     at 
> org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:59)
>     at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273)
>     at 
> org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:301)
>     at 
> org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:60)
>     at 
> org.apache.cayenne.access.DataDomainQueryAction$1.transform(DataDomainQueryAction.java:273)
>     at 
> org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:836)
>     at 
> org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:270)
>     at 
> org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:110)
>     at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:746)
>     at 
> org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:217)
>     at 
> org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:54)
>     at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1387)
>     at 
> org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:217)
>     at 
> org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:54)
>     at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1387)
>     at 
> org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1376)
>     at 
> ams.maintabpanes.buchungdetail.SingleBuchungContentPaneCatering.<init>(SingleBuchungContentPaneCatering.java:195)
>     at 
> ams.maintabpanes.buchungdetail.BuchungDetailWindowPane.<init>(BuchungDetailWindowPane.java:103)
>     at 
> ams.maintabpanes.event.EventTabPane$4.actionPerformed(EventTabPane.java:522)
>     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:276)
>     at 
> nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:192)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>     at ams.AMSServlet.service(AMSServlet.java:36)
>     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, the only thing I was doing was setting up a select query end performing 
> the query. I received this.
> 
> How shall someone solve this issue without having a look into cayenne's 
> sources?
> I developed quite a few frameworks for company-internal uses and I am ALWAYS 
> checking, if all possible exceptions are correctly caught and at least giving 
> a possible reasong for an exception. For now, I did not solve the problem but 
> guess, there something wrong in my statement; but even if: The framework 
> should handle this more gently telling me where the problem exactly lies.
> 
> Thanks a lot.
> 
> Jan
> 
> 
> > Date: Mon, 19 Nov 2007 20:16:04 -0500
> > Subject: Re: Deletion of obejcts
> > From: [EMAIL PROTECTED]
> > To: user@cayenne.apache.org
> > 
> > If you're having another issue, please start a new thread and post the
> > relevant code snippets and exception message.  I'll be the first to beat up
> > on Cayenne's error messages, so if you can give concrete examples of where
> > they fail, I'll try to get them fixed for you.
> > 
> > 
> > On 11/19/07 7:10 PM, "Jan Lendholt" <[EMAIL PROTECTED]> wrote:
> > 
> > > Thanks all for your replies. I will try that one out (deleting an 
> > > iterator).
> > > 
> > > but, yet another problem: Ich use an object and say:
> > > object.removeFromTestArray(Test);
> > > Afterwards I call Test.getDataContext().commitChanges() to make these 
> > > changes
> > > persistent; but all I get is a "Null Objectid" exception which is yet 
> > > again an
> > > exception which requires a good overview over cayenne's internals; to me 
> > > and
> > > all my people around these error messages cayenne throws are not just a 
> > > bit
> > > intuitive :( 
> > > 
> > > _________________________________________________________________
> > > Neu: Internet Explorer 7 optimiert für MSN!
> > > http://optimize.de.msn.com/default.aspx?mkt=de-de
> > 
> > -- 
> > Kevin Menard
> > Servprise International, Inc.
> > Remote reboot & power control for network equipment
> > www.servprise.com              +1 508.892.3823 x308
> > 
> 
> _________________________________________________________________
> Windows Live Fotogalerie: So einfach organisieren Sie Ihre Fotos!
> http://get.live.com/photogallery/overview 

_________________________________________________________________
Jetzt kostenlos downloaden: 30 Messenger Emoticons!
http://www.messenger-emoticons.de/

Reply via email to