[830] | 1 | package de.dass_it.vanhelsing.gui;
|
---|
[862] | 2 |
|
---|
| 3 | import javax.faces.event.ActionEvent;
|
---|
| 4 | import javax.swing.tree.DefaultMutableTreeNode;
|
---|
| 5 | import javax.swing.tree.DefaultTreeModel;
|
---|
| 6 | import de.dass_it.www.vanhelsing.VanHelsingStub.*;
|
---|
| 7 | import de.dass_it.vanhelsing.gui.items.ConcreteUserObjectItem;
|
---|
[864] | 8 | import javax.faces.context.FacesContext;
|
---|
[862] | 9 |
|
---|
[865] | 10 | /**
|
---|
[864] | 11 | * JobSchedule will list all schedules and the jobs which are associated
|
---|
| 12 | * with a given schedule.
|
---|
[830] | 13 | */
|
---|
[862] | 14 | public class JobScheduleBean {
|
---|
| 15 | private DataTree dataTree;
|
---|
| 16 | private ConcreteUserObjectItem selectedObject;
|
---|
| 17 | public JobScheduleBean(){
|
---|
| 18 | init();
|
---|
| 19 | }
|
---|
[865] | 20 | /**
|
---|
| 21 | * creates a data tree for the job / schedule view
|
---|
| 22 | */
|
---|
[862] | 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");
|
---|
[864] | 32 | riSched = c.getListResources(BeanUtil.getProperty("defaultdirector"), "Schedule");
|
---|
[862] | 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 |
|
---|
[865] | 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 | */
|
---|
[862] | 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 | }
|
---|
[865] | 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 | */
|
---|
[862] | 64 | public void updateNodeListener(ActionEvent ae){
|
---|
| 65 | BeanUtil.setInfoMessage(null, "Die Methode ist noch nicht implementiert");
|
---|
| 66 |
|
---|
| 67 | }
|
---|
[865] | 68 | /**
|
---|
| 69 | * delete the selected node of the data tree
|
---|
| 70 | * @param ae
|
---|
| 71 | */
|
---|
[862] | 72 | public void deleteNodeListener(ActionEvent ae){
|
---|
[864] | 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");
|
---|
[862] | 78 |
|
---|
[864] | 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();
|
---|
[862] | 97 | }
|
---|
[865] | 98 | /**
|
---|
| 99 | * rebuilds the data tree
|
---|
| 100 | * @param ae ActionEvent parameter as required by JSF. Not used by this method
|
---|
| 101 | */
|
---|
[862] | 102 | public void reloadTreeListener(ActionEvent ae){
|
---|
| 103 | init();
|
---|
| 104 | }
|
---|
| 105 | public void selectNode(ActionEvent ae){
|
---|
[864] | 106 | //BeanUtil.setInfoMessage(null, "Die Methode ist noch nicht implementiert");
|
---|
| 107 |
|
---|
[862] | 108 | }
|
---|
[865] | 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 | */
|
---|
[862] | 113 | public DataTree getDataTree(){
|
---|
| 114 | return dataTree;
|
---|
| 115 | }
|
---|
[865] | 116 | /**
|
---|
| 117 | * setter method for the dataTree attribute.
|
---|
| 118 | * @param dataTree the new dataTree object
|
---|
| 119 | */
|
---|
[862] | 120 | public void setDataTree(DataTree dataTree){
|
---|
| 121 | this.dataTree = dataTree;
|
---|
| 122 | }
|
---|
[830] | 123 | }
|
---|