Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-4036

UIData state is not restorable when rowStatePreserved is set to true

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.2.10-SNAPSHOT
    • 2.2.11
    • None
    • None
    • WebSphere Liberty 8.5.5.8, MyFaces 2.2.8, IBM JSF Portlet Bridge 1.0

    Description

      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.

      Attachments

        1. MYFACES-4036-1.patch
          17 kB
          Leonardo Uribe

        Issue Links

          Activity

            People

              lu4242 Leonardo Uribe
              hwibell Hank Ibell
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: