[
https://issues.apache.org/jira/browse/MYFACES-4036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leonardo Uribe resolved MYFACES-4036.
-------------------------------------
Resolution: Fixed
Assignee: Leonardo Uribe
Fix Version/s: 2.2.11
I have committed the patch that adds _rowStates and do other fixes, to ensure
saveState/restoreState works if they are called at the end of invoke
application phase and before render response phase.
> UIData state is not restorable when rowStatePreserved is set to true
> --------------------------------------------------------------------
>
> Key: MYFACES-4036
> URL: https://issues.apache.org/jira/browse/MYFACES-4036
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 2.2.10-SNAPSHOT
> Environment: WebSphere Liberty 8.5.5.8, MyFaces 2.2.8, IBM JSF
> Portlet Bridge 1.0
> Reporter: Hank Ibell
> Assignee: Leonardo Uribe
> Priority: Minor
> Fix For: 2.2.11
>
> Attachments: MYFACES-4036-1.patch
>
>
> A JSF portlet with input fields inside a h:dataTable component will lose
> their local values if validation fails, even when rowStatePreserved is set to
> true.
> The IBM JSF portlet bridge calls processSaveState() on UIViewRoot so that the
> bridge can restore the view state on their RENDER request. After looking at
> UIData, it looks like _initialDescendantFullComponentState is lost between
> Portal's ACTION and RENDER requests (a new UIData object is created on the
> RENDER request). Unfortunately, UIData's _rowDeltaStates will not be restored
> without its initial state.
> It looks like UIData should also save/restore
> _initialDescendantFullComponentState in its saveSate()/restoreState() methods
> since it may be needed to restore _rowDeltaStates.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)