source: vanHelsing/trunk/gui/src/de/dass_it/vanhelsing/gui/JobScheduleBean.java@ 867

Last change on this file since 867 was 867, checked in by tobias, on Apr 26, 2010 at 6:20:44 PM

create Client function added

File size: 3.9 KB
Line 
1package de.dass_it.vanhelsing.gui;
2
3import javax.faces.event.ActionEvent;
4import javax.swing.tree.DefaultMutableTreeNode;
5import javax.swing.tree.DefaultTreeModel;
6import de.dass_it.www.vanhelsing.VanHelsingStub.*;
7import de.dass_it.vanhelsing.gui.items.ConcreteUserObjectItem;
8import javax.faces.context.FacesContext;
9
10/**
11 * JobSchedule will list all schedules and the jobs which are associated
12 * with a given schedule.
13 */
14public class JobScheduleBean {
15 private DataTree dataTree;
16 private ConcreteUserObjectItem selectedObject;
17 public JobScheduleBean(){
18 init();
19 }
20 /**
21 * creates a data tree for the job / schedule view
22 */
23 private void init(){
24 Client c = new Client();
25 UserObjectItemFactory UOFactory = new UserObjectItemFactory();
26 ResourceInfo riSched[];
27 ResourceInfo riJobs[];
28 SimpleResource sr;
29 DefaultMutableTreeNode parent;
30 dataTree = new DataTree();
31 dataTree.setTree("JobSchedule");
32 riSched = c.getListResources(BeanUtil.getProperty("defaultdirector"), "Schedule");
33 for (ResourceInfo rinfo : riSched){
34 parent = dataTree.createNode(dataTree.getRoot(),
35 UOFactory.createUserObjectItem(rinfo));
36 riJobs = c.getListResources(rinfo.getDirector(), "Job");
37 for (ResourceInfo rJobs : riJobs){
38 sr = c.getSimpleResource(rJobs.getDirector(), rJobs.getResId());
39 for (ResourceAttributeType rat : sr.getResourceAttributeType()){
40 if (rat.getKey().toLowerCase().equals("schedule") &&
41 rat.getValue().equals(rinfo.getResName())){
42 dataTree.createNode(parent,
43 UOFactory.createUserObjectItem(rJobs));
44 }
45 }
46 }
47 }
48 }
49
50 /**
51 * creates a new node in the data tree
52 * @param ae ActionEvent parameter as required by JSF. Not used by this method
53 */
54 public void createNodeListener(ActionEvent ae){
55 //Methode kann nur mit ausgewählten ParentNode ausgeführt werden
56 DefaultMutableTreeNode parent = dataTree.getNodeByName("horst");
57 UserObjectItemFactory UOFactory = new UserObjectItemFactory();
58
59 }
60 /**
61 * updates the selected node of the data tree
62 * @param ae ActionEvent parameter as required by JSF. Not used by this method
63 */
64 public void updateNodeListener(ActionEvent ae){
65 BeanUtil.setInfoMessage(null, "Die Methode ist noch nicht implementiert");
66
67 }
68 /**
69 * delete the selected node of the data tree
70 * @param ae
71 */
72 public void deleteNodeListener(ActionEvent ae){
73 DefaultMutableTreeNode node;
74 ae.getComponent().getAttributes();
75
76 String idString = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("UserObject.resId");
77 String name = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("UserObject.resName");
78
79 if (idString == null && name != null && !name.equals("")){
80 node = dataTree.getNodeByName(name);
81 try{
82 node = dataTree.deleteNode(node);
83 }catch (ConstraintViolationException ecv){
84 System.err.println(ecv.toString());
85 }
86 } else if (idString != null) {
87 node = dataTree.getNodeById(new Integer(idString).intValue());
88 try {
89 node = dataTree.deleteNode(node);
90 } catch (ConstraintViolationException ecv) {
91 ecv.printStackTrace();
92 }
93 } else {
94 BeanUtil.setInfoMessage(null, "Knoten kann nicht referenziert werden");
95 }
96 dataTree.getTree().reload();
97 }
98 /**
99 * rebuilds the data tree
100 * @param ae ActionEvent parameter as required by JSF. Not used by this method
101 */
102 public void reloadTreeListener(ActionEvent ae){
103 init();
104 }
105 public void selectNode(ActionEvent ae){
106 //BeanUtil.setInfoMessage(null, "Die Methode ist noch nicht implementiert");
107
108 }
109 /**
110 * getter method for the dataTree attribute
111 * @return dataTree returns the dataTree object. If you want to user Javas tree methods directly
112 */
113 public DataTree getDataTree(){
114 return dataTree;
115 }
116 /**
117 * setter method for the dataTree attribute.
118 * @param dataTree the new dataTree object
119 */
120 public void setDataTree(DataTree dataTree){
121 this.dataTree = dataTree;
122 }
123}
Note: See TracBrowser for help on using the repository browser.