Uploaded image for project: 'MyFaces Trinidad'
  1. MyFaces Trinidad
  2. TRINIDAD-1185

Problems with the iterator implementation in RowSetTreeImpl class

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.9-core
    • 1.2.10-core, 1.0.10-core
    • Components
    • None

    Description

      The iterator implementation (PathIterator) in the Trinidad RowKeySetTreeImpl class has the following problems:

      1) It loops over the tree model even if the set is empty
      2) It loops over the tree model even if the set contains no "default contained" nodes. "Default contained" nodes are "Expand All", "Select All", "Expand All Below", etc nodes.

      For large tree models, unnecessary looping over the tree model can be expensive, since it can force the model to perform additional data fetches (beyond what is currently displayed in the view port on the client).

      The attached patch provides a new iterator implementation called NodeIterator, which extends the current PathIterator and avoids unnecessary looping over the tree model. NodeIterator loops over the model only if it encounters "default contained" nodes in the set.

      Attachments

        1. rowkeyset.1.2.9.1.patch
          8 kB
          Kamran Kashanian
        2. rowkeyset.trunk.patch
          8 kB
          Kamran Kashanian

        Activity

          People

            matzew Matthias Wessendorf
            kamrankashanian Kamran Kashanian
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: