The checkin where this started to fail was 17584:
[deryk] icefaces > svn diff -r17583:17584Index: core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java
===================================================================
— core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java (revision 17583)
+++ core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java (revision 17584)
@@ -220,7 +220,11 @@
//facesContext.renderResponse() skips phase listeners
//in JSF 1.2, so do a full execute with no stale input
//instead
- facesContext.getExternalContext().getRequestParameterMap().clear();
+ Map requestParameterMap =
+ facesContext.getExternalContext().getRequestParameterMap();
+ requestParameterMap.clear();
+ //Seam appears to need ViewState set during push
+ requestParameterMap.put("javax.faces.ViewState", "ajaxpush");
} else
{
facesContext.renderResponse();
}
This change was added to fix ICE-3532. The PersistentFacesState.execute method has undergone other changes since the, included some Seam specific modifications. The current code looks like this:
Map requestParameterMap =
facesContext.getExternalContext().getRequestParameterMap();
requestParameterMap.clear();
if (SeamUtilities.isSeamEnvironment())
{
//ICE-2990/JBSEAM-3426 must have empty requestAttributes for push to work with Seam
((BridgeExternalContext) facesContext.getExternalContext()).removeSeamAttributes();
}
//Seam appears to need ViewState set during push
requestParameterMap.put("javax.faces.ViewState", "ajaxpush");
The suggested fix is to move:
requestParameterMap.put("javax.faces.ViewState", "ajaxpush");
into the code block that checks for the Seam environment as the action is specific to Seam anyway.
The checkin where this started to fail was 17584:
[deryk] icefaces > svn diff -r17583:17584Index: core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java
===================================================================
— core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java (revision 17583)
+++ core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java (revision 17584)
@@ -220,7 +220,11 @@
//facesContext.renderResponse() skips phase listeners
//in JSF 1.2, so do a full execute with no stale input
//instead
+ Map requestParameterMap =
+ facesContext.getExternalContext().getRequestParameterMap();
+ requestParameterMap.clear();
+ //Seam appears to need ViewState set during push
+ requestParameterMap.put("javax.faces.ViewState", "ajaxpush");
} else { facesContext.renderResponse(); }
This change was added to fix
ICE-3532. The PersistentFacesState.execute method has undergone other changes since the, included some Seam specific modifications. The current code looks like this:Map requestParameterMap =
{ //ICE-2990/JBSEAM-3426 must have empty requestAttributes for push to work with Seam ((BridgeExternalContext) facesContext.getExternalContext()).removeSeamAttributes(); }facesContext.getExternalContext().getRequestParameterMap();
requestParameterMap.clear();
if (SeamUtilities.isSeamEnvironment())
//Seam appears to need ViewState set during push
requestParameterMap.put("javax.faces.ViewState", "ajaxpush");
The suggested fix is to move:
requestParameterMap.put("javax.faces.ViewState", "ajaxpush");
into the code block that checks for the Seam environment as the action is specific to Seam anyway.