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