ICEfaces
  1. ICEfaces
  2. ICE-10438

Components restored in wrong order when using full state management

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: EE-4.0.0.GA, 4.1
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces
    • Assignee Priority:
      P2

      Description

      When disabling partial state saving the components are not restored in the correct order. When h:head and h:body are used they are the first ones to be restored by the call to FaceletFullStateManagementStrategy.restoreTree(...). The UIInstructions that would render the markup for the 'html' tags are yet restored at this point because they are marked as transient.
      When ComponentTagHandlerDelegateImpl.apply(...) runs later on the mentioned UIInstructions will be added to the component tree but they will follow the h:head and h:body components. It seems that this method will not rearrange the components that were added by FaceletFullStateManagementStrategy.restoreTree(...) while applying the tags.
      The resulting component tree will look like this:
      UIViewRoot
       * HtmlHead
       * HtmlBody
       * UIInstructions "<html .... >"
       * UIInstructions "</html>"

        Issue Links

          Activity

          Mircea Toma created issue -
          Mircea Toma made changes -
          Field Original Value New Value
          Description When disabling partial state saving the components are not restored in the correct order. When h:head and h:body are used they are the first ones to be restored by the call to FaceletFullStateManagementStrategy.restoreTree(...). The UIInstructions that would render the markup for the 'html' tags are yet restored at this point because they are marked as transient.
          When ComponentTagHandlerDelegateImpl.apply(...) runs later on the mentioned UIInstructions will be added to the component tree but they will follow the h:head and h:body components. It seems that this method will not rearrange the components that were added by FaceletFullStateManagementStrategy.restoreTree(...) while applying the tags.
          The resulting component tree will look like this:
          UIViewRoot
           * HtmlHead
           * HtmlBody
           * UIInstructions "<html .... >"
            * UIInstructions "</html>"
          When disabling partial state saving the components are not restored in the correct order. When h:head and h:body are used they are the first ones to be restored by the call to FaceletFullStateManagementStrategy.restoreTree(...). The UIInstructions that would render the markup for the 'html' tags are yet restored at this point because they are marked as transient.
          When ComponentTagHandlerDelegateImpl.apply(...) runs later on the mentioned UIInstructions will be added to the component tree but they will follow the h:head and h:body components. It seems that this method will not rearrange the components that were added by FaceletFullStateManagementStrategy.restoreTree(...) while applying the tags.
          The resulting component tree will look like this:
          UIViewRoot
           * HtmlHead
           * HtmlBody
           * UIInstructions "<html .... >"
           * UIInstructions "</html>"
          Mircea Toma made changes -
          Assignee Mircea Toma [ mircea.toma ]
          Mircea Toma made changes -
          Fix Version/s 4.1 [ 11375 ]
          Ken Fyten made changes -
          Fix Version/s EE-4.0.0.GA [ 11171 ]
          Fix Version/s 4.1 [ 11375 ]
          Ken Fyten made changes -
          Assignee Priority P2 [ 10011 ]
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Link This issue blocks ICE-10214 [ ICE-10214 ]
          Ken Fyten made changes -
          Fix Version/s 4.1 [ 11375 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Mircea Toma
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: