[ 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)