Problems with the iterator implementation in RowSetTreeImpl class
-----------------------------------------------------------------

                 Key: TRINIDAD-1185
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1185
             Project: MyFaces Trinidad
          Issue Type: Improvement
          Components: Components
    Affects Versions: 1.2.9-core
            Reporter: Kamran Kashanian
         Attachments: rowkeyset.1.2.9.1.patch, trunk1.2.x.patch

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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to