Re: Why dioes this error occur?
Hi all, I am encountering the same issue as the OP reports, but it is not related to double-clicking. My situation is as follows: (Using Wicket 1.2.6, Databinder 1.0) I have a PropertyListView using a HibernateListModel that selects a number of objects from the database. One of the components rendered per item is an AjaxLink that opens a ModalWindow. Inside the ModalWindow is an AjaxLink whose onClick updates the object (such that it will no longer appear in the list), detaches the model backing the list and adds the PropertyListView to the AjaxRequestTarget. The screen refreshes, and the object is no longer listed. It *works*, in that when the correct link is clicked, the ModalWindow closes, the database is updated, and the page refreshes without the object that was just actioned. However, I'm getting the OP's exception trace in the logs. I presume what's happening is that something is performing some kind of finishing-up callback to the ModalWindow or one of the AjaxLinks, which then fails because the component is no longer on the page. I'm afraid I don't have a great grasp of the process around the ModalWindow - have I diagnosed the problem correctly? Given that my code works (so whatever is broken isn't vital), and given that the stack trace for the exception doesn't go near my code (so I can't just intercept and ignore the Exception), what can I do to fix it? Is there a better approach to my problem that avoids this issue? Cheers, Charlie. On Nov 21, 2007 6:05 PM, salmas <[EMAIL PROTECTED]> wrote: > > It seems that this is a common bug, there is a thread titled "Doubleclicking > on a refreshable Ajax button" which appears to be similar. I am using an > AjaxSubmitButton in my application and double clicks and fast clicks are an > issue. > I have followed the sugggestions to use javascript to disable the button > between clicks and while this reduced the frequency it still does occur from > time to time. We cannot move to my application to prodution like this and my > manager does not want this application to have to go to a newer wicket since > we'll have to start from scratch with testing. Would it be possible to > release a patch for older releases such as wicket-1.2.6? This would be huge > for my project. > > Regards > > > serban.balamaci wrote: > > > > Hi. Well in my case this error apeared when the user clicked on a link > > that was directing the user to the next page, and while the user did not > > wait for the other page to load, or he thought that he did not press the > > mouse button and he clicked again. The server saw that the component(link) > > was no longer in the the new page and therefore the nullpointer. (Or > > that's how i explained it to myself). I got around this by disabling the > > link after the clicking. > > > > > > > > salmas wrote: > >> > >> Every once in awhile if I am clicking around for awhile in the UI of my > >> application I get the following error. What causes this? > >> > >> java.lang.NullPointerException > >> at > >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) > >> at > >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPage(DefaultRequestTargetResolverStrategy.java:228) > >> at > >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:153) > >> at > >> wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48) > >> at wicket.RequestCycle.step(RequestCycle.java:992) > >> at wicket.RequestCycle.steps(RequestCycle.java:1084) > >> at wicket.RequestCycle.request(RequestCycle.java:454) > >> at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:219) > >> at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:262) > >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > >> at > >> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) > >> at > >> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) > >> at > >> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348) > >> at > >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981) > >> at > >> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > >> at > >> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) > >> at > >> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) > >> at > >> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) > >> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.j
Re: Why dioes this error occur?
On Fri, 04 Jan 2008, wicket21 wrote: > a) reading the Ajax -> Links Example (get the starting point: use > AjaxCallDecorator) > b) finding/writing a js function to display a layer to cover all the visible > area of the window + disallow any user clicks (similar behaviour as the > layer behind the modal window) > c) calling this js function before the ajax call > d) calling some more js code to hide the extra layer after the ajax call Making your Ajax-Behavior implement IAjaxIndicatorAware you can automatise the major part of this. Best wishes, Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
We solved more or less the same problem by a) reading the Ajax -> Links Example (get the starting point: use AjaxCallDecorator) b) finding/writing a js function to display a layer to cover all the visible area of the window + disallow any user clicks (similar behaviour as the layer behind the modal window) c) calling this js function before the ajax call d) calling some more js code to hide the extra layer after the ajax call Step d is not needed when u r using setResponsePage. I think using target.append/prependJavascript might do the job as well. Regards, Konstantinos salmas wrote: > > > It seems that this is a common bug, there is a thread titled > "Doubleclicking on a refreshable Ajax button" which appears to be similar. > I am using an AjaxSubmitButton in my application and double clicks and > fast clicks are an issue. > I have followed the sugggestions to use javascript to disable the button > between clicks and while this reduced the frequency it still does occur > from time to time. We cannot move to my application to prodution like this > and my manager does not want this application to have to go to a newer > wicket since we'll have to start from scratch with testing. Would it be > possible to release a patch for older releases such as wicket-1.2.6? This > would be huge for my project. > > Regards > > > serban.balamaci wrote: >> >> Hi. Well in my case this error apeared when the user clicked on a link >> that was directing the user to the next page, and while the user did not >> wait for the other page to load, or he thought that he did not press the >> mouse button and he clicked again. The server saw that the >> component(link) was no longer in the the new page and therefore the >> nullpointer. (Or that's how i explained it to myself). I got around this >> by disabling the link after the clicking. >> >> >> >> salmas wrote: >>> >>> Every once in awhile if I am clicking around for awhile in the UI of my >>> application I get the following error. What causes this? >>> >>> java.lang.NullPointerException >>> at >>> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) >>> at >>> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPage(DefaultRequestTargetResolverStrategy.java:228) >>> at >>> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:153) >>> at >>> wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48) >>> at wicket.RequestCycle.step(RequestCycle.java:992) >>> at wicket.RequestCycle.steps(RequestCycle.java:1084) >>> at wicket.RequestCycle.request(RequestCycle.java:454) >>> at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:219) >>> at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:262) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>> at >>> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) >>> at >>> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) >>> at >>> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348) >>> at >>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981) >>> at >>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) >>> at >>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) >>> at >>> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) >>> at >>> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183) >>> >> >> > > -- View this message in context: http://www.nabble.com/Why-dioes-this-error-occur--tp13633697p14627974.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
It seems that this is a common bug, there is a thread titled "Doubleclicking on a refreshable Ajax button" which appears to be similar. I am using an AjaxSubmitButton in my application and double clicks and fast clicks are an issue. I have followed the sugggestions to use javascript to disable the button between clicks and while this reduced the frequency it still does occur from time to time. We cannot move to my application to prodution like this and my manager does not want this application to have to go to a newer wicket since we'll have to start from scratch with testing. Would it be possible to release a patch for older releases such as wicket-1.2.6? This would be huge for my project. Regards serban.balamaci wrote: > > Hi. Well in my case this error apeared when the user clicked on a link > that was directing the user to the next page, and while the user did not > wait for the other page to load, or he thought that he did not press the > mouse button and he clicked again. The server saw that the component(link) > was no longer in the the new page and therefore the nullpointer. (Or > that's how i explained it to myself). I got around this by disabling the > link after the clicking. > > > > salmas wrote: >> >> Every once in awhile if I am clicking around for awhile in the UI of my >> application I get the following error. What causes this? >> >> java.lang.NullPointerException >> at >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) >> at >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPage(DefaultRequestTargetResolverStrategy.java:228) >> at >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:153) >> at >> wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48) >> at wicket.RequestCycle.step(RequestCycle.java:992) >> at wicket.RequestCycle.steps(RequestCycle.java:1084) >> at wicket.RequestCycle.request(RequestCycle.java:454) >> at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:219) >> at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:262) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >> at >> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) >> at >> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) >> at >> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348) >> at >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981) >> at >> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) >> at >> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) >> at >> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) >> at >> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) >> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) >> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183) >> > > -- View this message in context: http://www.nabble.com/Why-dioes-this-error-occur--tf4766684.html#a13882794 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
Hi, Looking at the code, it's looking like there's some race condition going on, with the request coming in for a component that no longer exists. Comparing with the 1.3 code (in AbstractRequestCycleProcessor#resolveListenerInterfaceTarget()), there's an explicit check for a null, but there's nothing that can really be done to recover, i.e. even the 1.3 code is as follows... if (component == null) { throw new WicketRuntimeException("component " + pageRelativeComponentPath + " not found on page " + page.getClass().getName() + "[id = " + page.getNumericId() + "], listener interface = " + listener); } Maybe you could disable the button via client-side javascript once clicked? /Gwyn On 07 November 2007, 9:45:24 PM, salmas wrote: s> I tried disabling the button during the event and while this was easy enough s> to implement it did not help. My page contains a table which has panels in s> different cells. I swap these panels in and out depending on wether the user s> is in 'edit' mode or 'submit' mode and also according to where they are in s> the workflow. s> I noticed that the method of PropertyColumn which I am overriding s> populateItem(Item item, String componentId, IModel model) completes, as does s> the event handling code at the button press so I am not sure what is s> breaking down. It's easy to reproduce this error. All I have to do is to s> click a button which is present in one of the panels rapidly, at every click s> I do toggle the name of the button from "edit" to "save" so I don't know if s> this has something to do with it. s> I do need this problem resolved because this is not acceptable for a s> production application. I would really appreciate any ideas that you have. s> salmas wrote: >> >> >> I am using wicket-1.2.6. Unfortunately it is not possible for me to >> upgrade to a newer version. >> >>> Hi salmas, >>> >>> On 07 November 2007, 7:05:26 PM, salmas wrote: >>> s> Every once in awhile if I am clicking around for awhile in the UI of >>> my >>> s> application I get the following error. What causes this? >>> >>> s> java.lang.NullPointerException >>> s> at >>> s> >>> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) >>> >>> What version of Wicket are you using? >>> >>> -- >>> /Gwyn >>> - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
I tried disabling the button during the event and while this was easy enough to implement it did not help. My page contains a table which has panels in different cells. I swap these panels in and out depending on wether the user is in 'edit' mode or 'submit' mode and also according to where they are in the workflow. I noticed that the method of PropertyColumn which I am overriding populateItem(Item item, String componentId, IModel model) completes, as does the event handling code at the button press so I am not sure what is breaking down. It's easy to reproduce this error. All I have to do is to click a button which is present in one of the panels rapidly, at every click I do toggle the name of the button from "edit" to "save" so I don't know if this has something to do with it. I do need this problem resolved because this is not acceptable for a production application. I would really appreciate any ideas that you have. salmas wrote: > > > I am using wicket-1.2.6. Unfortunately it is not possible for me to > upgrade to a newer version. > >> Hi salmas, >> >> On 07 November 2007, 7:05:26 PM, salmas wrote: >> s> Every once in awhile if I am clicking around for awhile in the UI of >> my >> s> application I get the following error. What causes this? >> >> s> java.lang.NullPointerException >> s> at >> s> >> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) >> >> What version of Wicket are you using? >> >> -- >> /Gwyn >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > ------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Why-dioes-this-error-occur--tf4766684.html#a13636661 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
I am using wicket-1.2.6. Unfortunately it is not possible for me to upgrade to a newer version. > Hi salmas, > > On 07 November 2007, 7:05:26 PM, salmas wrote: > s> Every once in awhile if I am clicking around for awhile in the UI of my > s> application I get the following error. What causes this? > > s> java.lang.NullPointerException > s> at > s> > wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) > > What version of Wicket are you using? > > -- > /Gwyn > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
Hi salmas, On 07 November 2007, 7:05:26 PM, salmas wrote: s> Every once in awhile if I am clicking around for awhile in the UI of my s> application I get the following error. What causes this? s> java.lang.NullPointerException s> at s> wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) What version of Wicket are you using? -- /Gwyn - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Why dioes this error occur?
Hi. Well in my case this error apeared when the user clicked on a link that was directing the user to the next page, and while the user did not wait for the other page to load, or he thought that he did not press the mouse button and he clicked again. The server saw that the component(link) was no longer in the the new page and therefore the nullpointer. I got around this by disabling the link after the clicking. salmas wrote: > > Every once in awhile if I am clicking around for awhile in the UI of my > application I get the following error. What causes this? > > java.lang.NullPointerException > at > wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) > at > wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPage(DefaultRequestTargetResolverStrategy.java:228) > at > wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:153) > at > wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48) > at wicket.RequestCycle.step(RequestCycle.java:992) > at wicket.RequestCycle.steps(RequestCycle.java:1084) > at wicket.RequestCycle.request(RequestCycle.java:454) > at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:219) > at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:262) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348) > at > weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > at > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) > at > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) > at > weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183) > -- View this message in context: http://www.nabble.com/Why-dioes-this-error-occur--tf4766684.html#a13634076 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Why dioes this error occur?
Every once in awhile if I am clicking around for awhile in the UI of my application I get the following error. What causes this? java.lang.NullPointerException at wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveListenerInterfaceTarget(DefaultRequestTargetResolverStrategy.java:295) at wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPage(DefaultRequestTargetResolverStrategy.java:228) at wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:153) at wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48) at wicket.RequestCycle.step(RequestCycle.java:992) at wicket.RequestCycle.steps(RequestCycle.java:1084) at wicket.RequestCycle.request(RequestCycle.java:454) at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:219) at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:262) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183) -- View this message in context: http://www.nabble.com/Why-dioes-this-error-occur--tf4766684.html#a13633697 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]