Capture and restore saveState Beans and messages when using redirect navigation 
rule
------------------------------------------------------------------------------------

         Key: MYFACES-516
         URL: http://issues.apache.org/jira/browse/MYFACES-516
     Project: MyFaces
        Type: Improvement
  Components: Implementation  
    Versions: Nightly Build    
    Reporter: Mario Ivankovits
 Attachments: RedirectTracker.java, impl.diff, tom.diff

Ok, this is a try to get what is described in the summary.

The heart of this patch is the RedirectTracker.

How it works:
*) In NavigationHandlerImpl when it comes to the redirect the RedirectTracker 
will capture all required (save-state beans/messages) data. The tracker appends 
a special parameter (_rtid=) to the redirect url so the saved state can be 
looked up in an map.
*) In LifeCycleImpl in restoreView the RedirectTracker will check for the 
special parameter and lookup the map using its value. If an entry was found the 
data will be restored.
*) In UISaveState every bean rematerialized in restoreState will put it in a 
request-scoped map

Known limitations:
*) need to make the number of tracked redirects configureable (back-button) 
currently its hard-coded to 20
*) some, as I didnt tested it very well

I added this patch as a base to discuss what could be made better, though the 
goal is to add this functionality to myFaces.
I hope some else jump in and we get a vital discussion about this topic.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to