package com.thd.faces;
import org.richfaces.component.UITree;
import org.richfaces.event.NodeSelectedEvent;
import org.richfaces.model.TreeNode;
import org.richfaces.model.TreeNodeImpl;
import com.thd.dao.NodeDao;
import com.thd.pojo.Node;
public class TreeFaces {
private NodeDao nodeDao;
private TreeNode rootNode = null;
private String nodeTitle;
public void processSelection(NodeSelectedEvent event) {
UITree tree = (UITree) event.getComponent();
Node node = (Node) tree.getRowData();
nodeTitle = node.getTit();
}
public void addNodes(String nodeCode,TreeNode node){
boolean end = false;
int counter = 1;
while(!end){
String code = nodeCode != null ? nodeCode + "." + counter : String.valueOf(counter);
Node nodes = nodeDao.query(code);
if(nodes!=null){
System.out.println(code);
TreeNodeImpl nodeImpl = new TreeNodeImpl();
nodeImpl.setData(nodes);
node.addChild(new Integer(counter), nodeImpl);
addNodes(code,nodeImpl);
counter++;
}else{
end = true;
}
}
}
public void loadTree(){
rootNode = new TreeNodeImpl();
addNodes(null, rootNode);
}
public TreeNode getRootNode() {
if(rootNode == null){
loadTree();
}
return rootNode;
}
public NodeDao getNodeDao() {
return nodeDao;
}
public void setNodeDao(NodeDao nodeDao) {
this.nodeDao = nodeDao;
}
public String getNodeTitle() {
return nodeTitle;
}
public void setNodeTitle(String nodeTitle) {
this.nodeTitle = nodeTitle;
}
}