source: vanHelsing/trunk/gui/src/de/dass_it/vanhelsing/gui/DataTree.java@ 862

Last change on this file since 862 was 862, checked in by tobias, on Apr 15, 2010 at 3:49:35 PM

JobScheduleBean as a testcase for refactored tree building with DataTree, UOFactory und ConcreteUserObjectItem.
Helper methods added to Client.

File size: 2.7 KB
Line 
1package de.dass_it.vanhelsing.gui;
2
3import java.util.Enumeration;
4
5import javax.swing.tree.DefaultMutableTreeNode;
6import javax.swing.tree.DefaultTreeModel;
7
8import de.dass_it.vanhelsing.gui.items.ConcreteUserObjectItem;
9import de.dass_it.vanhelsing.gui.items.ItemType;
10import de.dass_it.vanhelsing.gui.items.UserObjectItem;
11import de.dass_it.vanhelsing.gui.items.UserObjectItemType;
12
13public class DataTree {
14 private DefaultTreeModel tree;
15 private DefaultMutableTreeNode root;
16
17 public DataTree() {}
18
19 public void setTree(String name){
20 setRoot(new DefaultMutableTreeNode());
21 tree = new DefaultTreeModel(root);
22 UserObjectItemType userType = new UserObjectItemType(root);
23 ConcreteUserObjectItem obj = new ConcreteUserObjectItem();
24 root.setUserObject(userType);
25 userType.setUserObject(obj);
26 userType.setLeaf(false);
27 obj.setResName(name);
28 }
29 public DefaultMutableTreeNode createNode(DefaultMutableTreeNode parent, UserObjectItem userObject){
30 DefaultMutableTreeNode node = new DefaultMutableTreeNode();
31 UserObjectItemType uoit = new UserObjectItemType(node);
32 node.setUserObject(uoit);
33 uoit.setUserObject(userObject);
34 parent.add(node);
35 ((UserObjectItemType)parent.getUserObject()).setLeaf(false);
36 return node;
37 }
38 public void updateNode(DefaultMutableTreeNode node, UserObjectItem userObject){
39 node.setUserObject(userObject);
40 }
41 public DefaultMutableTreeNode getNodeById(int id){
42 DefaultMutableTreeNode node;
43 int resId = new Integer(id);
44 Enumeration<DefaultMutableTreeNode> e = root.depthFirstEnumeration();
45
46 while (e.hasMoreElements()){
47 node = e.nextElement();
48 if (resId ==((ConcreteUserObjectItem)(((UserObjectItemType)node.getUserObject()).
49 getUserObject())).getResId()) {
50 return node;
51 }
52 }
53 return null;
54 }
55 public DefaultMutableTreeNode getNodeByName(String name){
56 DefaultMutableTreeNode node;
57 Enumeration<DefaultMutableTreeNode> e = root.depthFirstEnumeration();
58
59 while (e.hasMoreElements()){
60 node = e.nextElement();
61 if (name.equals(((ConcreteUserObjectItem)(((UserObjectItemType)node.getUserObject())
62 .getUserObject())).getResName())) {
63 return node;
64 }
65 }
66 return null;
67 }
68 public DefaultMutableTreeNode deleteNode(DefaultMutableTreeNode node) throws constraintValidationException{
69 if (node.getChildCount()>0) throw new constraintValidationException();
70 DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent();
71 parent.remove(node);
72 return node;
73 }
74 public DefaultMutableTreeNode getRoot(){
75 return root;
76 }
77 public void setRoot(DefaultMutableTreeNode root){
78 this.root = root;
79 }
80 public DefaultTreeModel getTree() {
81 return tree;
82 }
83 public void setTree(DefaultTreeModel tree) {
84 this.tree = tree;
85 }
86}
Note: See TracBrowser for help on using the repository browser.