[
https://issues.apache.org/jira/browse/TRINIDAD-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Scott O'Bryan updated TRINIDAD-1037:
------------------------------------
Resolution: Fixed
Fix Version/s: (was: 1.2.7-core)
1.2.8-core
Status: Resolved (was: Patch Available)
Committed changes, thanks Kamran.
I wouldn't mind revisiting this whole infrastructure to even make it more
efficient or, perhaps, more modular. But this is an improvement over what is
there.
> Trinidad tree/treeTable expand all handling
> -------------------------------------------
>
> Key: TRINIDAD-1037
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1037
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Affects Versions: 1.2.7-core
> Environment: All
> Reporter: Kamran Kashanian
> Assignee: Scott O'Bryan
> Fix For: 1.2.8-core
>
> Attachments: trunk_1.2.x.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> The Trinidad tree/treeTable components include logic to protect against an
> unbounded "expand all" action. The expand all action can be expensive for
> large trees.
> The method
> org.apache.myfaces.trinidad.component.HierarchyUtils.__handleBroadcast()
> checks for a RowDisclosure event, and tries to determine the # of expanded
> nodes by looping over the newly expanded row keys. However, looping over the
> RowKeySet, which is bound to the tree model, can be expensive. Instead, the
> method should call getSize() on the expanded row key set, and loop only if an
> unknown size (size = -1) is returned.
> Providing a patch for this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.