Yeah, that's what I wanted to do anyway. So I went ahead and
abstracted an interface:

/**
 * Intercepts calls to [EMAIL PROTECTED] 
RequestCycle#setRequestTarget(IRequestTarget)}.
 * <p>
 * Request targets that implement this interface will be able to veto any next
 * request target that is requested to be set at the
 * [EMAIL PROTECTED] RequestTarget request target}. A typical use for this are
 * [EMAIL PROTECTED] AjaxRequestTarget} where instead of following the normal 
request
 * processing with a full page render only a partial request is rendered. In
 * that case, it is up to [EMAIL PROTECTED] AjaxRequestTarget} to decide what 
to do with
 * the new request target; should it be handled by [EMAIL PROTECTED] 
AjaxRequestTarget} or
 * may the new request target be added on top of it.
 * </p>
 * <p>
 * This interface is only useful when it is implemented by a
 * [EMAIL PROTECTED] IRequestTarget request target}.
 * </p>
 *
 * @author eelcohillenius
 */
public interface IRequestTargetInterceptor
{
        /**
         * Called when this request target is the current on and a request at
         * [EMAIL PROTECTED] RequestCycle#setRequestTarget(IRequestTarget) 
request target}
         * arrives to set another one as the current. Typically, 
implementations of
         * this method either 'eat up' the request target and either discard the
         * request or do some custom processing with the provided request 
target. In
         * that case, this method should return null. This method may also 
return -
         * a possibly different/ altered - request target which is then used to 
be
         * added on top of this one in the [EMAIL PROTECTED] RequestCycle}.
         *
         * @param requestTarget
         * @return Null if this request target wants to 'eat up' to request to 
set
         *         the request target, or otherwise the request target that 
should
         *         be set as the current on the request cycle (which may or may 
not
         *         be the same request target as was passed in)
         */
        IRequestTarget onSetRequestTarget(IRequestTarget requestTarget);
}



On 8/3/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> you didnt see any changes...but did it work when you tried it?
>
> the change is in RequestCycle:243 void RequestTargetStack.push()
>
> this reminds me of something else. right now we depend on the
> AjaxRequestTarget but if someone wants to roll their own ajax using
> prototype or what not and have their own target it wont work because they
> would have to extend our target. so perhaps we should extract an interface
> that has the setrequesttarget() method.
>
>
> -Igor
>
>
> On 8/3/06, Frank Bille <[EMAIL PROTECTED]> wrote:
> >
> > Hmm can't really find any changes lately (looked back till mid-juli) that
> should have done that in either 1.2 or 2.0. But do you think as well that
> it's the expected behavior?
> >
> >
> > Frank
> >
> >
> >
> >
> > On 8/3/06, Frank Bille <[EMAIL PROTECTED]> wrote:
> > >
> > > ohh... haven't checked... (crawling off to find out)
> > >
> > >
> > >
> > > On 8/3/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote:
> > > >
> > > > but isnt this fixed in the latest? its an ajax request - wicket calls
> setresponsepage to the timeout page and wicket should produce
> window.location to redirect. no?
> > > >
> > > > -Igor
> > > >
> > > >
> > > >
> > > >
> > > > On 8/3/06, Frank Bille <[EMAIL PROTECTED]> wrote:
> > > >
> > > > >
> > > >
> > > >
> > > > Hey all
> > > >
> > > > When you make a normal request to the server and the session is
> expired, you is redirected to a "Session expired" page. But if you make an
> AJAX request to the server the javascript request fails and then calls the
> Failure script. But since there is no way of telling what the course of
> calling the failure script is, there is no way of displaying an expired
> notice (or expired page redirect) instead of an error notice (or error page
> redirect).
> > > >
> > > > Wouldn't it make sense to either have Wicket automatically redirect to
> the expired page or at least be able to tell in the failure javascript that
> it is due to expired session and not an general error?
> > > >
> > > >
> > > > Regards
> > > >
> > > > Frank
> > > >
> > > >
> > > >
> -------------------------------------------------------------------------
> > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > Join SourceForge.net's Techsay panel and you'll get the chance to
> share your
> > > > opinions on IT & business topics through brief surveys -- and earn
> cash
> > > >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > >
> > > > _______________________________________________
> > > > Wicket-develop mailing list
> > > > Wicket-develop@lists.sourceforge.net
> > > >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > > >
> > > >
> > > >
> > > >
> > > >
> -------------------------------------------------------------------------
> > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > Join SourceForge.net's Techsay panel and you'll get the chance to
> share your
> > > > opinions on IT & business topics through brief surveys -- and earn
> cash
> > > >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > >
> > > > _______________________________________________
> > > > Wicket-develop mailing list
> > > > Wicket-develop@lists.sourceforge.net
> > > >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share
> your
> > opinions on IT & business topics through brief surveys -- and earn cash
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> >
> > _______________________________________________
> > Wicket-develop mailing list
> > Wicket-develop@lists.sourceforge.net
> >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >
> >
> >
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>
>
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to