[ 
https://issues.apache.org/jira/browse/TAP5-674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship closed TAP5-674.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.2.0

> Make it easy to implement a page callback mechanism
> ---------------------------------------------------
>
>                 Key: TAP5-674
>                 URL: https://issues.apache.org/jira/browse/TAP5-674
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.1.0.4
>            Reporter: Hugo Palma
>            Assignee: Howard M. Lewis Ship
>            Priority: Minor
>             Fix For: 5.2.0
>
>
> In T4 there was a callback facility that allowed to returned to a page to 
> which we had initially navigated to.
> Such facility is not present in T5 but it's possible to "not so easily as 
> expected" implement it.
> My guess is that this kind of functionality is usually required when a user 
> is redirected to a login page and after the user logs into the application we 
> would like to it to return the page that it first accessed.
> I've implemented this using the PageRenderRequestFilter concept, where in the 
> handle method i redirect to the login page and i store the original link in 
> the session to be used by the login page to redirect to it.
> Here are the problems i encountered when implementing this functionality and 
> that i think Tapestry should be able to easily solve them:
> - I would like to store a Link to the original page in the session. This 
> solution won't work on clustered environments because Link isn't 
> serializable. That could easily be changed.
> - I could store an java.net.URL which is serializable. So how do i build one 
> ? The correct way i think would be to use PageRenderLinkSource to create a 
> Link and then from it's absoluteURI create the URL. The problem is that 
> PageRenderLinkSource.createPageRenderLinkWithContext gets the page context as 
> an object array but you only have direct access to the original activation 
> context in the form of an EventContext object that is given by the 
> PageRenderRequestParameters parameter of the handle method. This could be 
> easily solved by adding a 
> PageRenderLinkSource.createPageRenderLinkWithContext whose context parameter 
> could be of type EventContext.
> So, two easy changes could make implementing this kind of functionality 
> trivial.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to