Resolution: Won't Fix
Affects Version/s: 1.1.0, 1.1.1, 1.1.2-SNAPSHOT
Fix Version/s: None
The tree2 implementation in 1.1.1 and SVN current assumes node IDs are based on the index of the nodes and the hierarchy of the nodes.
Where the string in parenthesis represents what tree2 assumes the node ID is.
If tree nodes have custom IDs that are unique to the tree (in this example, A, B, C, D could actually be the node IDs), the nodes will never be expanded or collapsed if the TreeState methods are used using the true node IDs.
In the above example, "0:1" would be considered expanded, but "C" would not be considered expanded.
This severly limits the developer of custom tree nodes and custom tree models.
Expanded/collapsed node IDs should use the "TreeNode.getNodeId()" function. Each node should have a unique ID for the entire tree. This ID is NOT dependant on the parent's node ID. The TreeWalker in SVN current (1.1.3 code) and the HtmlTreeRenderer in 1.1.1 should not use the index of the node as the identifier, but instead use the ID of the node.
In the above example, "0:1:0" type of notation should never be used by nodes (except maybe in the default node implementation). The tree should always use the TreeNode.getNodeId for all node identification.