Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P02, 4.0
-
Fix Version/s: EE-4.0.0.GA, EE-3.3.0.GA_P03, 4.1
-
Component/s: Framework
-
Labels:None
-
Environment:jsf 2 icefaces
-
Assignee Priority:P1
-
Support Case References:Support Case 13323:- https://icesoft.my.salesforce.com/50070000013VsPa
Description
The sample app basically has a page with 2 links.
<h:form id="frm">
<h:commandLink value="Add component to tree"
actionListener="#{requestBean.addComponent}"/>
<br/>
<h:commandLink value="Trigger lifecycle"
actionListener="#{requestBean.doNothing}"/>
<br/>
<h:panelGroup id="pgrp" binding="#{requestBean.group}">
</h:panelGroup>
</h:form>
One link will dynamically add an HtmlOutputText component to an HtmlPanelGroup. the other link just triggers a jsf lifecycle.
If you remove the icefaces jar from the war, with PartialStateSaving set to true (default anyways), then the HtmlPanelGroup state will continue to add another HtmlOutputText when you click on a link. With the icefaces jar, you only ever get the last HtmlOutputText component and if you trigger a new jsf lifecycle, it clears all state of the HtmlPanelGroup.
The only way to maintain state with the icefaces jar is to set PartialStateSaving to false in web.xml:-
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
and this is inconsistent with how JSF is behaving.
Customer has suggested a fix. (see diff attached).
-
Hide
- state_saving.zip
- 5 kB
- Judy Guglielmin
-
- pom.xml 0.8 kB
- src/.DS_Store 6 kB
- __MACOSX/src/._.DS_Store 0.1 kB
- src/main/.DS_Store 6 kB
- __MACOSX/src/main/._.DS_Store 0.1 kB
- src/main/java/RequestBean.java 0.9 kB
- src/main/webapp/main.xhtml 0.8 kB
- src/main/webapp/WEB-INF/faces-config.xml 0.4 kB
- src/main/webapp/WEB-INF/web.xml 0.9 kB
-
- state_saving.patch
- 2 kB
- Judy Guglielmin
-
Hide
- sc13323a.war
- 7.53 MB
- Judy Guglielmin
-
- META-INF/MANIFEST.MF 0.1 kB
- main.xhtml 0.6 kB
- page2.xhtml 0.9 kB
- template.xhtml 0.6 kB
- WEB-INF/classes/RequestBean.class 2 kB
- WEB-INF/faces-config.xml 0.4 kB
- WEB-INF/lib/commons-beanutils-1.8.0.jar 226 kB
- WEB-INF/lib/commons-collections-3.2.jar 558 kB
- WEB-INF/lib/commons-digester-1.8.jar 140 kB
- WEB-INF/lib/commons-logging-1.1.3.jar 61 kB
- WEB-INF/lib/icefaces-ee-3.3.0.GA_P02.jar 619 kB
- WEB-INF/.../icefaces-ee-compat-3.3.0.GA_P02.jar 4.18 MB
- WEB-INF/lib/javax.faces-2.1.28.jar 2.54 MB
- WEB-INF/web.xml 1.0 kB
- META-INF/maven/.../sc13323a/pom.xml 1 kB
- META-INF/maven/.../sc13323a/pom.properties 0.1 kB
-
Hide
- ice3sbx.war
- 2.91 MB
- Judy Guglielmin
-
- META-INF/MANIFEST.MF 0.1 kB
- main.xhtml 0.8 kB
- WEB-INF/classes/RequestBean.class 3 kB
- WEB-INF/faces-config.xml 0.4 kB
- WEB-INF/lib/icefaces-ee-3.3.0.GA_P02.jar 619 kB
- WEB-INF/lib/javax.faces-2.1.28.jar 2.54 MB
- WEB-INF/web.xml 0.9 kB
- META-INF/maven/.../ice3sbx/pom.xml 2 kB
- META-INF/maven/.../ice3sbx/pom.properties 0.1 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Assigned to Mircea to review the regression failure noted in the comment above.
Modified DOMPartialViewContext to acquire the view state key after the component tree was visited (rendered) to make sure that the generated key corresponds to the state at the end of JSF lifecycle.
Verified autoCompleteEntry issues fixed. ICEfaces 4 trunk, ICEfaces EE-3.3.0 maintenance branch r44504. Tomcat 7, FF 34, Chrome 41, IE 11, 10, 9, 8, 7.
Note that the final commit to the icefaces4/trunk for this issue does not affect the functionality in the EE 4.0 release, which was based on the implementation prior to this commit. However, this final commit will be included in future IF 4 releases (4.1+).
Verified on ICEfaces4 trunk r.44504 (test case "ice3sbx"), and ICEfaces 3.3.0 r.44504 (test cases "ice3sbx" and "sc13323a"), in IE11, Chrome41, FF34.
Regression tests added to the QA framework:
- for IF4 trunk testing:
http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Manual/ICE-10524 - for IF-3.3.0 testing:
http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Manual/ICE-10524
http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Manual/ICE-10524a
Verified and then applied fix recommended by customer in support case #13323.