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
See attached sample app to reproduce. I have tested it with 3.3.0 open source (easier to build as it's maven-built) as well as 3.3.0.GA_P02.
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).
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).
Activity
Field | Original Value | New Value |
---|---|---|
Assignee | Ken Fyten [ ken.fyten ] |
Attachment | ice3sbx.war [ 18496 ] |
Attachment | state_saving.patch [ 18497 ] | |
Attachment | state_saving.zip [ 18498 ] |
Fix Version/s | EE-3.3.0.GA_P03 [ 11572 ] |
Assignee | Ken Fyten [ ken.fyten ] | Mircea Toma [ mircea.toma ] |
Assignee Priority | P1 [ 10010 ] |
Attachment | sc13323a.war [ 18580 ] |
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Fix Version/s | EE-4.0.0.GA [ 11171 ] |
Affects Version/s | 4.0 [ 11382 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #44261 | Wed Mar 18 14:47:07 MDT 2015 | mircea.toma | |
Files Changed | ||||
![]() |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee | Mircea Toma [ mircea.toma ] | Judy Guglielmin [ judy.guglielmin ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Assignee | Judy Guglielmin [ judy.guglielmin ] | Ken Fyten [ ken.fyten ] |
Assignee | Ken Fyten [ ken.fyten ] | Judy Guglielmin [ judy.guglielmin ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee | Judy Guglielmin [ judy.guglielmin ] | Mircea Toma [ mircea.toma ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Fix Version/s | 4.1 [ 11375 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Verified and then applied fix recommended by customer in support case #13323.