On 2/7/08, Matthijs Wensveen <[EMAIL PROTECTED]> wrote:
> The if(!isEnabled()) will happen though, because the link is not really
> disabled on the client side, but it does prevent
> doSomeHeavyWeightProcessing to be called the second time which is what I
> need.

The problem is that the href of the link points to the old version of
the page, and that has the link still enabled.

Martijn

> What are the pros / cons of (ab)using setEnabled for this instead of
> just a member variable)?
>
> Thanks,
> Matthijs
>
> Timo Rantalaiho wrote:
> > On Wed, 06 Feb 2008, Matthijs Wensveen wrote:
> >
> >> I have a Link (not Ajax) on a component that does some heavyweight
> >> processing in onClick. During this processing I want to block other
> >> clicks from the same user. Is there a generic way to block multiple
> >> requests on the same link? I would prefer a solution without Ajax /
> >> JavaScript, but if that's impossible then that's okay.
> >>
> >
> > Components are stateful, so maybe you could just keep the
> > state in your Link?
> >
> >   @Override onClick() {
> >       if (!isEnabled()) {
> >           return;  // this shouldnt happen though?
> >       }
> >       try {
> >           setEnabled(false);
> >           doSomeHeavyWeightProcessing();
> >       } finally {
> >           setEnabled(true);
> >       }
> >   }
> >
> > This creates a little race condition but if you can produce
> > it you could try using a real lock mechanism.
> >
> > Best wishes,
> > Timo
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Buy Wicket in Action: http://manning.com/dashorst
Apache Wicket 1.3.1 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.1

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to