[JAVASERVERFACES_SPEC_PUBLIC-1028] Clarify partial state save/restore traversal requirements Created: 02/Aug/11  Updated: 12/Aug/14

Status: Reopened
Project: javaserverfaces-spec-public
Component/s: Lifecycle
Affects Version/s: 2.1
Fix Version/s: None

Type: Improvement Priority: Critical
Reporter: aschwart Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: 3 days
Time Spent: Not Specified
Original Estimate: 3 days

Status Whiteboard:

size_small importance_medium


 Description   

Mojarra and MyFaces differ in how they implement the partial state save/restore traversals. Mojarra uses tree visiting. MyFaces does not. The spec should define requirements for this area to ensure consistency across implementations.



 Comments   
Comment by aschwart [ 02/Aug/11 ]

Expert group discussion can be found here:

http://java.net/projects/javaserverfaces-spec-public/lists/jsr344-experts/archive/2011-08/message/0

At this point it looks like we should specify that tree visiting should be used for these traversals, as this allows components (eg. Trinidad's UIXCollection) to intercept the traversal in order to perform component-specific processing.

Comment by Ed Burns [ 10/Aug/11 ]

Added to JSF_2_2_WORKING_SET <http://java.net/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10531>. Added estimates.

Comment by Ed Burns [ 22/Dec/11 ]

Deprecate StateManager, point to StateManagementStrategy. In StateManagementStrategy, require the use of the visit API to perform the saving. http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1028

SECTION: Modified Files
----------------------------
M jsf-api/src/main/java/javax/faces/application/Application.java

  • mark {get,set}

    StateManager() as deprecated, pointing to the new
    equivalents.

M jsf-api/src/main/java/javax/faces/application/StateManager.java
M jsf-api/src/main/java/javax/faces/application/StateManagerWrapper.java

  • Deprecate these classes, pointing to the new equivalents.

M jsf-api/src/main/java/javax/faces/view/StateManagementStrategy.java

  • require the use of the visit API to perform the saving.

M jsf-api/src/main/java/javax/faces/context/FacesContext.java

  • fix javadoc error

Committed to trunk:

Sending jsf-api/src/main/java/javax/faces/application/Application.java
Sending jsf-api/src/main/java/javax/faces/application/StateManager.java
Sending jsf-api/src/main/java/javax/faces/application/StateManagerWrapper.java
Sending jsf-api/src/main/java/javax/faces/context/FacesContext.java
Sending jsf-api/src/main/java/javax/faces/view/StateManagementStrategy.java
Transmitting file data .....
Committed revision 9542.

Comment by Ed Burns [ 22/Dec/11 ]

Need to re-open to consider Ted Goddard's additional requests on this issue.

Comment by Ed Burns [ 22/Dec/11 ]

Roll back deprecation of entire StateManager in favor of just deprecating two methods:

{save,restore}

View(). http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1028

SECTION: Modified Files
----------------------------
M jsf-api/src/main/java/javax/faces/application/Application.java

  • Roll back deprecation of the stateManager property.

M jsf-api/src/main/java/javax/faces/application/StateManager.java

  • Roll back deprecation of the entire class.
  • Deprecated {restore,save}

    View().

M jsf-api/src/main/java/javax/faces/application/StateManagerWrapper.java

  • Roll back deprecation of the entire class.

M jsf-api/src/main/java/javax/faces/context/PartialResponseWriter.java

  • In the value for VIEW_STATE_MARKER, rather than duplicating the
    literal string, refer to the symbolic constant
    ResponseStateManager.VIEW_STATE_PARAM, the value of which is
    equivalent to the literal string being replaced.

Committed to trunk:

Sending jsf-api/src/main/java/javax/faces/application/Application.java
Sending jsf-api/src/main/java/javax/faces/application/StateManager.java
Sending jsf-api/src/main/java/javax/faces/application/StateManagerWrapper.java
Sending jsf-api/src/main/java/javax/faces/context/PartialResponseWriter.java
Transmitting file data ....
Committed revision 9543.

Comment by Ed Burns [ 03/Feb/12 ]

Move to sprint 11

Comment by Ed Burns [ 01/Aug/14 ]

Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.

Generated at Mon May 25 10:39:27 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.