Improve Tree2 data model usability
----------------------------------
Key: TOMAHAWK-925
URL: https://issues.apache.org/jira/browse/TOMAHAWK-925
Project: MyFaces Tomahawk
Issue Type: Improvement
Components: Tree2
Affects Versions: 1.1.5-SNAPSHOT
Reporter: Marko Asplund
There're two specific issues that should be addressed in my opinion
1) if you use t:commandLink action inside t:tree2 it's very difficult to get
hold of the actual node object that was clicked
2) not possible to use existing or business logic tree structures directly
with t:tree2
1) Currently I'm constructing the TreeNode structure so that the identifiers
are actually paths to the node from the root node (this special node id
semantics doesn't seem to be documented). Then in a backing bean I use
TreeNode.getNodeById(selectedNodePath);
to get the actual node object reference. Since I'm required to assign the node
path as the identifier, there's no fields in the structure for identifying the
business id of the object. This forces me to always subclass TreeNodeBase.
Oracle ADF Faces af:tree / TreeModel is much more intuitive since it follows
the standard JSF h:dataTable / DataModel API pattern:
public NavigatorBacking {
TreeModel tree;
public String nodeSelected() {
if(tree.isRowAvailable()) {
MyNode n = (MyNode)tree.getRowData();
// ...
}
return "success";
}
}
2) the tree nodes are required to be of TreeNode type or its subclass. Suppose
I have a tree hierarchy that I construct in the business tier and want to
render this to the user through the UI. I need to rebuild the tree in the web
tier with TreeNode nodes (and assign identifiers correctly). Typically one or
more TreeNodeBase subclasses are also required. This adds development as well
as performance overhead. AFAIK, the ADF Faces TreeModel
(ChildPropertyTreeModel) can be populated with any JavaBeans based structure
which makes it much more user friendly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.