Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 2.1
    • Component/s: Components/Renderers
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      545
    • Status Whiteboard:
      Hide

      cat2 frame size_small importance_large

      Show
      cat2 frame size_small importance_large

      Description

      There are two areas relating to tree visiting where access to additional
      information/hints would be helpful:

      1. State saving

      The tree visitor solution allows component implementations to customize the
      manner in which children are visited based on information provided in the
      VisitContext, such as the VisitHints. One possible case that component
      visitTree() implementations might want to customize is state saving. For
      example, a complex component such as UIData may need to visit children somewhat
      differently for state saving vs. say, for rendering out an Ajax response.

      visitTree() implementations do have access to the FacesContext, so they do have
      knowledge of the current phase. However, since JSF does not define a separate
      state saving phase, there is no way for visitTree() implementations to determine
      whether state saving is being performed.

      2. Iteration

      Components that normally iterate over their children multiple times, such as
      UIData (once for each row) require special visitTree() implementations to
      provide the necessary iteration. However, in some cases it may be
      desirable/necessary to visit the children of such iterating components without
      actually performing the iteration - ie. just visit each child one time.
      Currently there is no way to indicate to such components that the iteration
      should be skipped.

      Both of these issues can be addressed by the addition of new VisitHint values.
      For example, the following VisitHint values would resolve these issues:

      • VistHint.EXECUTE_STATE_SAVING: Lets visitTree() implementations know that
        state saving is being performed
      • VisitHint.SKIP_ITERATION: Lets visitTree() implementations that normally
        iterate over children multiple times kwow that they should avoid any iteration
        (ie. only visit each child once).
      1. changebundle.txt
        7 kB
        rogerk
      2. skip-iteration-hack.patch
        8 kB
        aschwart
      3. visit-hints.patch
        3 kB
        aschwart

        Activity

        Hide
        rogerk added a comment -
        Show
        rogerk added a comment - Checked In. See : https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1796
        Hide
        Ed Burns added a comment -

        add changelog_2_1 keyword

        Show
        Ed Burns added a comment - add changelog_2_1 keyword
        Hide
        Ed Burns added a comment -

        Update status for JCP ChangeLog.

        Show
        Ed Burns added a comment - Update status for JCP ChangeLog.
        Hide
        Ed Burns added a comment -

        Ensure changelog_2_1 is in keywords list

        Show
        Ed Burns added a comment - Ensure changelog_2_1 is in keywords list
        Hide
        Manfred Riem added a comment -

        Closing resolved issue out

        Show
        Manfred Riem added a comment - Closing resolved issue out

          People

          • Assignee:
            rogerk
            Reporter:
            aschwart
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: