Re: Pagemap help

2015-11-16 Thread Wayne W
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
>
>


ListenerInvocationNotAllowedException question / help

2015-11-16 Thread Wayne W
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: ListenerInvocationNotAllowedException question / help

2015-11-16 Thread Sven Meier

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: Pagemap help

2015-11-16 Thread Martijn Dashorst
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

2015-11-16 Thread Wayne W
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

2015-11-16 Thread Martijn Dashorst
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: ListenerInvocationNotAllowedException question / help

2015-11-16 Thread Wayne W
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

2015-11-16 Thread Sven Meier

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

2015-11-16 Thread Martin Grigorov
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

2015-11-16 Thread Sven Meier

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

2015-11-16 Thread Sven Meier

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: 

Re: ListenerInvocationNotAllowedException question / help

2015-11-16 Thread Martin Grigorov
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: 

Re: ListenerInvocationNotAllowedException question / help

2015-11-16 Thread Martin Grigorov
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 

Pagemap help

2015-11-16 Thread Wayne W
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

2015-11-16 Thread Martijn Dashorst
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