Re: ListenerInvocationNotAllowedException question / help
OK, I see. You are right! On Mon, Nov 16, 2015 at 9:48 PM, Sven Meier wrote: > Hi Martin, > > to my knowledge the usual pattern is to override #onConfigure() and set up > the visibility and enabling of the component for the next rendering *and* > the following 'ACTION phase': > > > http://wicketinaction.com/2011/11/implement-wicket-component-visibility-changes-properly/ > > Usually I don't see any need to override #canCallListenerInterface(), > except in very special cases. I would not advice to override it > lightheartedly. > > From Wayne's description I deduced that he used the 'old' pattern to > override #isVisible(), which leads to ListenerInvocationNotAllowedException > if the condition for visibility and/or enabling changes between rendering > and the next incoming request. > > Regards > Sven > > > > On 16.11.2015 21:38, Martin Grigorov wrote: > >> Hi Sven, >> >> What I'm saying is that Wicket uses Component#canCallListenerInterface() >> to >> decide whether the listener interface method could be executed or not. >> See >> >> https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/RequestListenerInterface.java#L207 >> >> So overriding #onConfigure() won't help him because #onConfigure() is >> called later, after successful #onClick(). >> >> He needs to override #canCallListenerInterface() if he needs to call >> onClick even on invisible/disabled component. >> >> Martin Grigorov >> Wicket Training and Consulting >> https://twitter.com/mtgrigorov >> >> On Mon, Nov 16, 2015 at 9:31 PM, Sven Meier wrote: >> >> Hi Martin, >>> >>> I didn't understand your comment. >>> >>> Do you think Wayne might have overriden #canCallListenerInterface()? >>> >>> Regards >>> Sven >>> >>> >>> >>> On 16.11.2015 19:32, Martin Grigorov wrote: >>> >>> Hi, Actually org.apache.wicket.Component#canCallListenerInterface() is responsible for the ACTION phase. #onConfigure() is called in the RENDER phase, i.e. after onClick(). Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Nov 16, 2015 at 7:27 PM, Sven Meier wrote: Hi, > > this should work. > > Do you have #isVisible() or #isEnabled() overridden in one of the > component's parents? > > Have fun > Sven > > > > On 16.11.2015 18:08, Wayne W wrote: > > Hi Sven, > >> >> I tried overriding : >> >> @Override >> >> protected void onConfigure() >> >> { >> >> setVisible(documentModel.getObject().isLocked()); >> >> super.onConfigure(); >> >> } >> >> >> and removing the isVisible() override but I still get the same >> exception. >> >> >> >> >> >> org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: >> Component rejected interface invocationComponent: [Link [Component id >> = >> unlock2]] Listener: [RequestListenerInterface name=ILinkListener, >> method=public abstract void >> org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] >> >> at org.apache.wicket.RequestListenerInterface.invoke( >> RequestListenerInterface.java:212) >> >> at >> >> >> >> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( >> ListenerInterfaceRequestHandler.java:243) >> >> at >> >> >> >> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( >> ListenerInterfaceRequestHandler.java:236) >> >> at >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( >> RequestCycle.java:862) >> >> at org.apache.wicket.request.RequestHandlerStack.execute( >> RequestHandlerStack.java:64) >> >> >> >> >> >> any ideas? >> >> >> >> On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: >> >> Hi, >> >> >>> Would it be because wicket is checking boolean isVisible() when >>> >>> making this decision? (as we override the links isVisible() indeed. >>> >>> You should override #onConfigure() and call #setVisible() instead of >>> overriding #isVisible(). >>> >>> Regards >>> Sven >>> >>> >>> >>> On 16.11.2015 16:59, Wayne W wrote: >>> >>> Hi, >>> >>> I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A s
Re: ListenerInvocationNotAllowedException question / help
Hi Martin, to my knowledge the usual pattern is to override #onConfigure() and set up the visibility and enabling of the component for the next rendering *and* the following 'ACTION phase': http://wicketinaction.com/2011/11/implement-wicket-component-visibility-changes-properly/ Usually I don't see any need to override #canCallListenerInterface(), except in very special cases. I would not advice to override it lightheartedly. From Wayne's description I deduced that he used the 'old' pattern to override #isVisible(), which leads to ListenerInvocationNotAllowedException if the condition for visibility and/or enabling changes between rendering and the next incoming request. Regards Sven On 16.11.2015 21:38, Martin Grigorov wrote: Hi Sven, What I'm saying is that Wicket uses Component#canCallListenerInterface() to decide whether the listener interface method could be executed or not. See https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/RequestListenerInterface.java#L207 So overriding #onConfigure() won't help him because #onConfigure() is called later, after successful #onClick(). He needs to override #canCallListenerInterface() if he needs to call onClick even on invisible/disabled component. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Nov 16, 2015 at 9:31 PM, Sven Meier wrote: Hi Martin, I didn't understand your comment. Do you think Wayne might have overriden #canCallListenerInterface()? Regards Sven On 16.11.2015 19:32, Martin Grigorov wrote: Hi, Actually org.apache.wicket.Component#canCallListenerInterface() is responsible for the ACTION phase. #onConfigure() is called in the RENDER phase, i.e. after onClick(). Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Nov 16, 2015 at 7:27 PM, Sven Meier wrote: Hi, this should work. Do you have #isVisible() or #isEnabled() overridden in one of the component's parents? Have fun Sven On 16.11.2015 18:08, Wayne W wrote: Hi Sven, I tried overriding : @Override protected void onConfigure() { setVisible(documentModel.getObject().isLocked()); super.onConfigure(); } and removing the isVisible() override but I still get the same exception. org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: Component rejected interface invocationComponent: [Link [Component id = unlock2]] Listener: [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.RequestListenerInterface.invoke( RequestListenerInterface.java:212) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( ListenerInterfaceRequestHandler.java:243) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( ListenerInterfaceRequestHandler.java:236) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( RequestCycle.java:862) at org.apache.wicket.request.RequestHandlerStack.execute( RequestHandlerStack.java:64) any ideas? On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: Hi, Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() indeed. You should override #onConfigure() and call #setVisible() instead of overriding #isVisible(). Regards Sven On 16.11.2015 16:59, Wayne W wrote: Hi, I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A still has this page open and user A then clicks on the link a ListenerInvocationNotAllowedException is thrown which I just don't understand. I would get it if user B somehow got the hit the url that represents that link, but why does this link component in another session throw the exception? Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() to show depending on the criteria. thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: ListenerInvocationNotAllowedException question / help
Hi Sven, What I'm saying is that Wicket uses Component#canCallListenerInterface() to decide whether the listener interface method could be executed or not. See https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/RequestListenerInterface.java#L207 So overriding #onConfigure() won't help him because #onConfigure() is called later, after successful #onClick(). He needs to override #canCallListenerInterface() if he needs to call onClick even on invisible/disabled component. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Nov 16, 2015 at 9:31 PM, Sven Meier wrote: > Hi Martin, > > I didn't understand your comment. > > Do you think Wayne might have overriden #canCallListenerInterface()? > > Regards > Sven > > > > On 16.11.2015 19:32, Martin Grigorov wrote: > >> Hi, >> >> Actually org.apache.wicket.Component#canCallListenerInterface() is >> responsible for the ACTION phase. >> #onConfigure() is called in the RENDER phase, i.e. after onClick(). >> >> Martin Grigorov >> Wicket Training and Consulting >> https://twitter.com/mtgrigorov >> >> On Mon, Nov 16, 2015 at 7:27 PM, Sven Meier wrote: >> >> Hi, >>> >>> this should work. >>> >>> Do you have #isVisible() or #isEnabled() overridden in one of the >>> component's parents? >>> >>> Have fun >>> Sven >>> >>> >>> >>> On 16.11.2015 18:08, Wayne W wrote: >>> >>> Hi Sven, I tried overriding : @Override protected void onConfigure() { setVisible(documentModel.getObject().isLocked()); super.onConfigure(); } and removing the isVisible() override but I still get the same exception. org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: Component rejected interface invocationComponent: [Link [Component id = unlock2]] Listener: [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.RequestListenerInterface.invoke( RequestListenerInterface.java:212) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( ListenerInterfaceRequestHandler.java:243) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( ListenerInterfaceRequestHandler.java:236) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( RequestCycle.java:862) at org.apache.wicket.request.RequestHandlerStack.execute( RequestHandlerStack.java:64) any ideas? On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: Hi, > > Would it be because wicket is checking boolean isVisible() when > >> making this decision? (as we override the links isVisible() >> >> > indeed. > > You should override #onConfigure() and call #setVisible() instead of > overriding #isVisible(). > > Regards > Sven > > > > On 16.11.2015 16:59, Wayne W wrote: > > Hi, > >> >> I have a org.apache.wicket.markup.html.link.Link within a page this is >> visible only if a certain criteria is met. >> >> If user A visits this page the changes the criteria the link is >> visible. >> The user can then click on the link for some other functionality. >> >> However I'm finding is User B (in a different session) visits the same >> page >> and changes the criteria so that the link is no longer visible but the >> user >> A still has this page open and user A then clicks on the link >> a ListenerInvocationNotAllowedException is thrown which I just don't >> understand. >> >> I would get it if user B somehow got the hit the url that represents >> that >> link, but why does this link component in another session throw the >> exception? Would it be because wicket is checking boolean isVisible() >> when >> making this decision? (as we override the links isVisible() to show >> depending on the criteria. >> >> thanks >> >> >> - >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > > - >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >>> >> > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: ListenerInvocationNotAllowedException question / help
Hi Martin, I didn't understand your comment. Do you think Wayne might have overriden #canCallListenerInterface()? Regards Sven On 16.11.2015 19:32, Martin Grigorov wrote: Hi, Actually org.apache.wicket.Component#canCallListenerInterface() is responsible for the ACTION phase. #onConfigure() is called in the RENDER phase, i.e. after onClick(). Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Nov 16, 2015 at 7:27 PM, Sven Meier wrote: Hi, this should work. Do you have #isVisible() or #isEnabled() overridden in one of the component's parents? Have fun Sven On 16.11.2015 18:08, Wayne W wrote: Hi Sven, I tried overriding : @Override protected void onConfigure() { setVisible(documentModel.getObject().isLocked()); super.onConfigure(); } and removing the isVisible() override but I still get the same exception. org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: Component rejected interface invocationComponent: [Link [Component id = unlock2]] Listener: [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.RequestListenerInterface.invoke( RequestListenerInterface.java:212) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( ListenerInterfaceRequestHandler.java:243) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( ListenerInterfaceRequestHandler.java:236) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( RequestCycle.java:862) at org.apache.wicket.request.RequestHandlerStack.execute( RequestHandlerStack.java:64) any ideas? On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: Hi, Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() indeed. You should override #onConfigure() and call #setVisible() instead of overriding #isVisible(). Regards Sven On 16.11.2015 16:59, Wayne W wrote: Hi, I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A still has this page open and user A then clicks on the link a ListenerInvocationNotAllowedException is thrown which I just don't understand. I would get it if user B somehow got the hit the url that represents that link, but why does this link component in another session throw the exception? Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() to show depending on the criteria. thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: ListenerInvocationNotAllowedException question / help
Hi, Actually org.apache.wicket.Component#canCallListenerInterface() is responsible for the ACTION phase. #onConfigure() is called in the RENDER phase, i.e. after onClick(). Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Nov 16, 2015 at 7:27 PM, Sven Meier wrote: > Hi, > > this should work. > > Do you have #isVisible() or #isEnabled() overridden in one of the > component's parents? > > Have fun > Sven > > > > On 16.11.2015 18:08, Wayne W wrote: > >> Hi Sven, >> >> I tried overriding : >> >> @Override >> >> protected void onConfigure() >> >> { >> >> setVisible(documentModel.getObject().isLocked()); >> >> super.onConfigure(); >> >> } >> >> >> and removing the isVisible() override but I still get the same exception. >> >> >> >> org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: >> Component rejected interface invocationComponent: [Link [Component id = >> unlock2]] Listener: [RequestListenerInterface name=ILinkListener, >> method=public abstract void >> org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] >> >> at org.apache.wicket.RequestListenerInterface.invoke( >> RequestListenerInterface.java:212) >> >> at >> >> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( >> ListenerInterfaceRequestHandler.java:243) >> >> at >> >> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( >> ListenerInterfaceRequestHandler.java:236) >> >> at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( >> RequestCycle.java:862) >> >> at org.apache.wicket.request.RequestHandlerStack.execute( >> RequestHandlerStack.java:64) >> >> >> >> >> >> any ideas? >> >> >> >> On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: >> >> Hi, >>> >>> Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() >>> >>> indeed. >>> >>> You should override #onConfigure() and call #setVisible() instead of >>> overriding #isVisible(). >>> >>> Regards >>> Sven >>> >>> >>> >>> On 16.11.2015 16:59, Wayne W wrote: >>> >>> Hi, I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A still has this page open and user A then clicks on the link a ListenerInvocationNotAllowedException is thrown which I just don't understand. I would get it if user B somehow got the hit the url that represents that link, but why does this link component in another session throw the exception? Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() to show depending on the criteria. thanks - >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >>> >> > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: ListenerInvocationNotAllowedException question / help
Hi, this should work. Do you have #isVisible() or #isEnabled() overridden in one of the component's parents? Have fun Sven On 16.11.2015 18:08, Wayne W wrote: Hi Sven, I tried overriding : @Override protected void onConfigure() { setVisible(documentModel.getObject().isLocked()); super.onConfigure(); } and removing the isVisible() override but I still get the same exception. org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: Component rejected interface invocationComponent: [Link [Component id = unlock2]] Listener: [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.RequestListenerInterface.invoke( RequestListenerInterface.java:212) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( ListenerInterfaceRequestHandler.java:243) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( ListenerInterfaceRequestHandler.java:236) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( RequestCycle.java:862) at org.apache.wicket.request.RequestHandlerStack.execute( RequestHandlerStack.java:64) any ideas? On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: Hi, Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() indeed. You should override #onConfigure() and call #setVisible() instead of overriding #isVisible(). Regards Sven On 16.11.2015 16:59, Wayne W wrote: Hi, I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A still has this page open and user A then clicks on the link a ListenerInvocationNotAllowedException is thrown which I just don't understand. I would get it if user B somehow got the hit the url that represents that link, but why does this link component in another session throw the exception? Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() to show depending on the criteria. thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: ListenerInvocationNotAllowedException question / help
Hi Sven, I tried overriding : @Override protected void onConfigure() { setVisible(documentModel.getObject().isLocked()); super.onConfigure(); } and removing the isVisible() override but I still get the same exception. org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: Component rejected interface invocationComponent: [Link [Component id = unlock2]] Listener: [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.RequestListenerInterface.invoke( RequestListenerInterface.java:212) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener( ListenerInterfaceRequestHandler.java:243) at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond( ListenerInterfaceRequestHandler.java:236) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond( RequestCycle.java:862) at org.apache.wicket.request.RequestHandlerStack.execute( RequestHandlerStack.java:64) any ideas? On Mon, Nov 16, 2015 at 4:54 PM, Sven Meier wrote: > Hi, > > >Would it be because wicket is checking boolean isVisible() when > >making this decision? (as we override the links isVisible() > > indeed. > > You should override #onConfigure() and call #setVisible() instead of > overriding #isVisible(). > > Regards > Sven > > > > On 16.11.2015 16:59, Wayne W wrote: > >> Hi, >> >> I have a org.apache.wicket.markup.html.link.Link within a page this is >> visible only if a certain criteria is met. >> >> If user A visits this page the changes the criteria the link is visible. >> The user can then click on the link for some other functionality. >> >> However I'm finding is User B (in a different session) visits the same >> page >> and changes the criteria so that the link is no longer visible but the >> user >> A still has this page open and user A then clicks on the link >> a ListenerInvocationNotAllowedException is thrown which I just don't >> understand. >> >> I would get it if user B somehow got the hit the url that represents that >> link, but why does this link component in another session throw the >> exception? Would it be because wicket is checking boolean isVisible() when >> making this decision? (as we override the links isVisible() to show >> depending on the criteria. >> >> thanks >> >> > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: ListenerInvocationNotAllowedException question / help
Hi, >Would it be because wicket is checking boolean isVisible() when >making this decision? (as we override the links isVisible() indeed. You should override #onConfigure() and call #setVisible() instead of overriding #isVisible(). Regards Sven On 16.11.2015 16:59, Wayne W wrote: Hi, I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A still has this page open and user A then clicks on the link a ListenerInvocationNotAllowedException is thrown which I just don't understand. I would get it if user B somehow got the hit the url that represents that link, but why does this link component in another session throw the exception? Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() to show depending on the criteria. thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
ListenerInvocationNotAllowedException question / help
Hi, I have a org.apache.wicket.markup.html.link.Link within a page this is visible only if a certain criteria is met. If user A visits this page the changes the criteria the link is visible. The user can then click on the link for some other functionality. However I'm finding is User B (in a different session) visits the same page and changes the criteria so that the link is no longer visible but the user A still has this page open and user A then clicks on the link a ListenerInvocationNotAllowedException is thrown which I just don't understand. I would get it if user B somehow got the hit the url that represents that link, but why does this link component in another session throw the exception? Would it be because wicket is checking boolean isVisible() when making this decision? (as we override the links isVisible() to show depending on the criteria. thanks
Re: Pagemap help
Ok thanks Martijn for the clarification. On Mon, Nov 16, 2015 at 2:06 PM, Martijn Dashorst < martijn.dasho...@gmail.com> wrote: > Well, you can create a Wicket resource for the updates to avoid a > pagemap lock, but it is essentially the price we pay for having a > singe-threaded access to the component hierarchy. > > You can also create a servlet, but both options will block a thread on > your server waiting for the processing to finish if you don't want > polling. That is effectively a kill switch for your application (some > users will double, triple or N-click links if things are not going > fast enough). > > Martijn > > > On Mon, Nov 16, 2015 at 2:57 PM, Wayne W > wrote: > > Hi Martijn, > > > > are you basically saving that with wicket there is no way I can not avoid > > the pagemap locking for a given ajax or iframe request when needed? > > > > BTW web sockets aren't supported in IE8. > > > > On Mon, Nov 16, 2015 at 1:47 PM, Martijn Dashorst < > > martijn.dasho...@gmail.com> wrote: > > > >> you probably should look into websockets if you don't want polling. > >> > >> Martijn > >> > >> On Mon, Nov 16, 2015 at 12:50 PM, Wayne W > >> wrote: > >> > Hi, > >> > > >> > I have a page that has a AbstractDefaultAjaxBehavior which adds a new > >> panel > >> > in the ajax request. This new panel can be a long running process to > >> > generate some data. I'm find this is locking the page map so other > >> requests > >> > on that page get locked. > >> > > >> > How could I get around this aside from re-enginering the panel to > >> > poll/notify? Is is possible to create a new page map? I looked at the > >> > inline frame code but it doesn't seem to look any different regarding > >> the > >> > page map. I'd really like to avoid the polling solution if possible > for > >> > various reasons. > >> > > >> > > >> > thanks > >> > >> > >> > >> -- > >> Become a Wicket expert, learn from the best: http://wicketinaction.com > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > >> > >> > > > > -- > Become a Wicket expert, learn from the best: http://wicketinaction.com > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Pagemap help
Well, you can create a Wicket resource for the updates to avoid a pagemap lock, but it is essentially the price we pay for having a singe-threaded access to the component hierarchy. You can also create a servlet, but both options will block a thread on your server waiting for the processing to finish if you don't want polling. That is effectively a kill switch for your application (some users will double, triple or N-click links if things are not going fast enough). Martijn On Mon, Nov 16, 2015 at 2:57 PM, Wayne W wrote: > Hi Martijn, > > are you basically saving that with wicket there is no way I can not avoid > the pagemap locking for a given ajax or iframe request when needed? > > BTW web sockets aren't supported in IE8. > > On Mon, Nov 16, 2015 at 1:47 PM, Martijn Dashorst < > martijn.dasho...@gmail.com> wrote: > >> you probably should look into websockets if you don't want polling. >> >> Martijn >> >> On Mon, Nov 16, 2015 at 12:50 PM, Wayne W >> wrote: >> > Hi, >> > >> > I have a page that has a AbstractDefaultAjaxBehavior which adds a new >> panel >> > in the ajax request. This new panel can be a long running process to >> > generate some data. I'm find this is locking the page map so other >> requests >> > on that page get locked. >> > >> > How could I get around this aside from re-enginering the panel to >> > poll/notify? Is is possible to create a new page map? I looked at the >> > inline frame code but it doesn't seem to look any different regarding >> the >> > page map. I'd really like to avoid the polling solution if possible for >> > various reasons. >> > >> > >> > thanks >> >> >> >> -- >> Become a Wicket expert, learn from the best: http://wicketinaction.com >> >> - >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> -- Become a Wicket expert, learn from the best: http://wicketinaction.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Pagemap help
Hi Martijn, are you basically saving that with wicket there is no way I can not avoid the pagemap locking for a given ajax or iframe request when needed? BTW web sockets aren't supported in IE8. On Mon, Nov 16, 2015 at 1:47 PM, Martijn Dashorst < martijn.dasho...@gmail.com> wrote: > you probably should look into websockets if you don't want polling. > > Martijn > > On Mon, Nov 16, 2015 at 12:50 PM, Wayne W > wrote: > > Hi, > > > > I have a page that has a AbstractDefaultAjaxBehavior which adds a new > panel > > in the ajax request. This new panel can be a long running process to > > generate some data. I'm find this is locking the page map so other > requests > > on that page get locked. > > > > How could I get around this aside from re-enginering the panel to > > poll/notify? Is is possible to create a new page map? I looked at the > > inline frame code but it doesn't seem to look any different regarding > the > > page map. I'd really like to avoid the polling solution if possible for > > various reasons. > > > > > > thanks > > > > -- > Become a Wicket expert, learn from the best: http://wicketinaction.com > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Pagemap help
you probably should look into websockets if you don't want polling. Martijn On Mon, Nov 16, 2015 at 12:50 PM, Wayne W wrote: > Hi, > > I have a page that has a AbstractDefaultAjaxBehavior which adds a new panel > in the ajax request. This new panel can be a long running process to > generate some data. I'm find this is locking the page map so other requests > on that page get locked. > > How could I get around this aside from re-enginering the panel to > poll/notify? Is is possible to create a new page map? I looked at the > inline frame code but it doesn't seem to look any different regarding the > page map. I'd really like to avoid the polling solution if possible for > various reasons. > > > thanks -- Become a Wicket expert, learn from the best: http://wicketinaction.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Pagemap help
Hi, I have a page that has a AbstractDefaultAjaxBehavior which adds a new panel in the ajax request. This new panel can be a long running process to generate some data. I'm find this is locking the page map so other requests on that page get locked. How could I get around this aside from re-enginering the panel to poll/notify? Is is possible to create a new page map? I looked at the inline frame code but it doesn't seem to look any different regarding the page map. I'd really like to avoid the polling solution if possible for various reasons. thanks
[ANNOUNCE] Apache Wicket 6.21.0 released
The Apache Wicket PMC is proud to announce Apache Wicket 6.21.0! This release marks another minor release of Wicket 6. We use semantic versioning for the development of Wicket, and as such no API breaks are present breaks are present in this release compared to 6.0.0. Using this release -- With Apache Maven update your dependency to (and don't forget to update any other dependencies on Wicket projects to the same version): org.apache.wicket wicket-core 6.21.0 Or download and build the distribution yourself, or use our convenience binary package * Source: http://www.apache.org/dyn/closer.cgi/wicket/6.21.0 * Binary: http://www.apache.org/dyn/closer.cgi/wicket/6.21.0/binaries Upgrading from earlier versions --- If you upgrade from 6.y.z this release is a drop in replacement. If you come from a version prior to 6.0.0, please read our Wicket 6 migration guide found at * http://s.apache.org/wicket6migrate Have fun! — The Wicket team The signatures for the source release artefacts: Signature for apache-wicket-6.21.0.zip: -BEGIN PGP SIGNATURE- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAlYyougACgkQJBX8W/xy/UVf4wCfbZ9yq2/H2PVooMHRrpT4dIrT I2IAnjnBXDKES7QKXII71ahVYqxkJFQ9 =LypT -END PGP SIGNATURE- Signature for apache-wicket-6.21.0.tar.gz: -BEGIN PGP SIGNATURE- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAlYyougACgkQJBX8W/xy/UVPCwCgg6JZjXQH11jCkES+UGd+Cg0E +0QAn3np5HgwLicJCrBVRa2a9m9VjbMr =KxSH -END PGP SIGNATURE- CHANGELOG for 6.21.0: ** Bug * [WICKET-5882] - AutoComplete suggestion list disappear when I click on autoComplete scrollbar in IE * [WICKET-5898] - StackOverflowError after form submit with a validation error * [WICKET-5925] - wicket-examples DataTablePage is broken * [WICKET-5927] - Velocity remote code execution * [WICKET-5939] - AjaxEventBehavior should not lower-case the event name * [WICKET-5941] - Headers not rendered for components inside TransparentWebMarkupContainer on ajax update * [WICKET-5944] - CSRF prevention does not work with https URLs on the default port * [WICKET-5946] - JavaScript/Css PackageResource should use the same charset for compressing * [WICKET-5959] - HTML input placeholder text breaks AutoCompleteTextField in IE11 * [WICKET-5960] - Page header isn't rendered for pages where URL has changed during render * [WICKET-5968] - CachingResourceLocator lookup key doesn't take strict into account * [WICKET-5970] - UrlRenderer does not render fragments * [WICKET-5973] - IllegalArgumentException 'bytes' cannot be negative. on opening Inspector * [WICKET-5978] - LazyInitProxyFactory fills permgen space * [WICKET-5989] - BaseWicketTester#startComponentInPage fails for pages with placeholder * [WICKET-5994] - Mounted TemplateResourceReference throws org.apache.wicket.WicketRuntimeException when https is used * [WICKET-5996] - Mounted packages throw IllegalArgumentException when visiting base package url. * [WICKET-6005] - WicketRuntimeException from AjaxPagingNavigator#onAjaxEvent ** Improvement * [WICKET-5926] - Arquillian Support with Container ServletContext in BaseWicketTester/WicketTester. * [WICKET-5930] - Upgrade Atmosphere to 2.2.7 * [WICKET-5932] - Allow empty column list for DataTable * [WICKET-5933] - Avoid serialization of untouched page after ajax request * [WICKET-5935] - IoC Guice: cache proxies and fail on creation when binding is missing * [WICKET-5945] - add a new topic/listener that notifies of Ajax calls done * [WICKET-5948] - wicket-ajax.js probably doesn't traverse the children of or * [WICKET-5955] - error from WebPage # reportMissingHead * [WICKET-5974] - Change AjaxPagingNavigator#onAjaxEvent() to only consider parent components that have setOutputMarkupId(true) * [WICKET-5976] - Improve the documentation of FeedbackMessages first(int level) * [WICKET-5986] - NumberTextField should use Models for minimum, maximum and step ** Task * [WICKET-5951] - Upgrade Atmosphere to 2.2.8 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org