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
Judy Guglielmin
created issue -
Judy Guglielmin
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Ken Fyten [ ken.fyten ] |
Judy Guglielmin
made changes -
Attachment | ice3sbx.war [ 18496 ] |
Judy Guglielmin
made changes -
Attachment | state_saving.patch [ 18497 ] | |
Attachment | state_saving.zip [ 18498 ] |
Ken Fyten
made changes -
Fix Version/s | EE-3.3.0.GA_P03 [ 11572 ] |
Ken Fyten
made changes -
Assignee | Ken Fyten [ ken.fyten ] | Mircea Toma [ mircea.toma ] |
Assignee Priority | P1 [ 10010 ] |
Judy Guglielmin
made changes -
Attachment | sc13323a.war [ 18580 ] |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Ken Fyten
made changes -
Fix Version/s | EE-4.0.0.GA [ 11171 ] |
Ken Fyten
made changes -
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 | ||||
MODIFY
/icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java
|
Mircea Toma
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Judy Guglielmin
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Judy Guglielmin
made changes -
Assignee | Mircea Toma [ mircea.toma ] | Judy Guglielmin [ judy.guglielmin ] |
Mircea Toma
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Judy Guglielmin
made changes -
Assignee | Judy Guglielmin [ judy.guglielmin ] | Ken Fyten [ ken.fyten ] |
Ken Fyten
made changes -
Assignee | Ken Fyten [ ken.fyten ] | Judy Guglielmin [ judy.guglielmin ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Ken Fyten
made changes -
Assignee | Judy Guglielmin [ judy.guglielmin ] | Mircea Toma [ mircea.toma ] |
Mircea Toma
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 4.1 [ 11375 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Verified and then applied fix recommended by customer in support case #13323.