Dummy form code must call StateManager.saveSerializedView() for server-side state saving ----------------------------------------------------------------------------------------
Key: TOMAHAWK-253 URL: http://issues.apache.org/jira/browse/TOMAHAWK-253 Project: MyFaces Tomahawk Type: Bug Versions: 1.1.2-SNAPSHOT Environment: Generic issue. Reporter: Adam Winer The current dummy form code in DummyFormUtils has a block that reads: if (stateManager.isSavingStateInClient(facesContext)) { //render state parameters //TODO: Optimize saveSerializedView call, because serialized view is built twice! StateManager.SerializedView serializedView = stateManager.saveSerializedView(facesContext); stateManager.writeState(facesContext, serializedView); } else { writer.startElement(HTML.INPUT_ELEM, null); writer.writeAttribute(org.apache.myfaces.shared_tomahawk.renderkit.html.HTML.TYPE_ATTR, org.apache.myfaces.shared_tomahawk.renderkit.html.HTML.INPUT_TYPE_HIDDEN, null); writer.writeAttribute(HTML.NAME_ATTR, org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.SEQUENCE_PARAM, null); writer.writeAttribute(org.apache.myfaces.shared_tomahawk.renderkit.html.HTML.VALUE_ATTR, org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.getViewSequence(facesContext), null); writer.endElement(org.apache.myfaces.shared_tomahawk.renderkit.html.HTML.INPUT_ELEM); } Note that stateManager.saveSerializedView() is only called for client-side state saving. This means that the dummy form code never actually gets around to calling stateManager.saveSerializedView(), so unless someone else has called this method, the view never actually gets saved in the session. This is breaking the latest release of Facelets (1.1.5), which has added optimizations that avoid unnecessary calls to the StateManager. Simple fix: haul StateManager.SerializedView serializedView = stateManager.saveSerializedView(facesContext); ... out of the "if" block. Ideally, this code should be refactored so that the server-side code is also calling StateManager.writeState() too - it's a significant problem that DummyFormUtils has hardcoded knowledge of how the StateManager works. -- 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