- Timestamp:
- May 10, 2010, 7:42:51 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vanHelsing/trunk/gui/src/de/dass_it/vanhelsing/gui/ConfigurationBean.java
r868 r871 18 18 * List all Bacula configuration components by name. 19 19 */ 20 public class ConfigurationBean implements ViewBean{20 public class ConfigurationBean implements IViewBean{ 21 21 22 22 … … 63 63 dataTree.createKeyValueLists(); 64 64 dataTree.updateUserObjects(); 65 createResource = false; 66 selectedObject = null; 65 67 } 66 68 … … 84 86 selectedObject = (ConcreteUserObjectItem)((UserObjectItemType)(node.getUserObject())).getUserObject(); 85 87 } 86 } 87 /*public void userObjectItemNodeSelected(ActionEvent ae) { 88 DefaultMutableTreeNode node; 89 UserObjectItem userObject; 90 selectedObject.setViewItemList(viewItemList) = new ArrayList<ViewItem>(); 91 String Id = BeanUtil.getRequestParameter("userObject.resId"); 92 String name = BeanUtil.getRequestParameter("userObject.resName"); 93 String selected = BeanUtil.getRequestParameter("ice.event.shift"); 94 node = getNode(Id, tree); 95 if (selected.equals("true")){ 96 ((UserObjectItemType)node.getUserObject()).switchSelected(); 97 } 98 String type = ((UserObjectItem) ((UserObjectItemType) node 99 .getUserObject()).getUserObject()).getResType(); 100 String resName = ((ItemType)((UserObjectItem) ((UserObjectItemType) node 101 .getUserObject()).getUserObject())).getResName(); 102 String director = ((ItemType)((UserObjectItem) ((UserObjectItemType) node 103 .getUserObject()).getUserObject())).getDirector(); 104 String classType = "de.dass_it.vanhelsing.gui.items." + type + "Item"; 105 String accessType = BeanUtil.getAccessType(type.toLowerCase()); 106 try { 107 UserObjectItem item = ((UserObjectItemType) (node.getUserObject())) 108 .getUserObject(); 109 Class c = ((UserObjectItemType) (node.getUserObject())) 110 .getUserObject().getClass(); 111 Method[] m = c.getDeclaredMethods(); 112 String keyValue; 113 String key; 114 ViewItem vi; 115 for (Method n : m) { 116 if (n.getName().startsWith("get")) { 117 keyValue = (String) n.invoke(item, (Object[]) null); 118 if (keyValue == null) 119 continue; 120 key = n.getName().substring(3); 121 vi = new ViewItem(); 122 vi.setResId(new Integer(Id)); 123 vi.setKey(key); 124 vi.setKeyValue(keyValue); 125 vi.setResType(type); 126 vi.setResName(resName); 127 vi.setDirector(director); 128 vi.setRendererFlag(BeanUtil.getRenderer(accessType, key)); 129 vi.setRequired(BeanUtil.getRequired(accessType, key)); 130 if (vi.getSelectOneMenu() != null){ 131 DefaultMutableTreeNode[] dmtn = getChildNodes(tree, vi.getKey()); 132 if (dmtn != null) { 133 SelectItem[] si = new SelectItem[dmtn.length]; 134 String objectType; 135 for (int i = 0; i < dmtn.length; i++){ 136 UserObjectItem nodeObject = ((UserObjectItemType)dmtn[i].getUserObject()).getUserObject(); 137 objectType = "de.dass_it.vanhelsing.gui.items." + vi.getKey() +"Item"; 138 Class subClass = Class.forName(objectType); 139 Class myClass = nodeObject.getClass().asSubclass(subClass); 140 Method o = myClass.getMethod("getName", (Class[])null); 141 si[i] = new SelectItem((String)o.invoke(nodeObject, (Object[])null), 142 (String)o.invoke(nodeObject, (Object[])null)); 143 144 } 145 vi.setKeyValueList(si); 146 } 147 } 148 selectedObject.add(vi); 149 } 150 selectedObject.trimToSize(); 151 } 152 } catch (Exception e) { 153 e.printStackTrace(); 154 } 155 }*/ 156 /** 157 * return an array of nodes of a given resource type 158 * 159 * @param tree2 copy of the data tree 160 * @param key name of the requested resource type 161 * @return dmtn array of nodes of a given resource type 162 * @return null null object there are no nodes of the requested type 163 */ 164 /*private DefaultMutableTreeNode[] getChildNodes(DefaultTreeModel tree2, String key) { 165 DefaultMutableTreeNode[] dmtn; 166 DefaultMutableTreeNode root = (DefaultMutableTreeNode)tree2.getRoot(); 167 DefaultMutableTreeNode node; 168 for (int i = 0; i< root.getChildCount(); i++){ 169 node = (DefaultMutableTreeNode)root.getChildAt(i); 170 if (((UserObjectItemType)(node.getUserObject())).getUserObject().getResType().equals(key)){ 171 dmtn = new DefaultMutableTreeNode[node.getChildCount()]; 172 for (int j = 0; j < node.getChildCount(); j++){ 173 dmtn[j] = (DefaultMutableTreeNode)node.getChildAt(j); 174 } 175 return dmtn; 176 } 177 } 178 return null; 179 }*/ 180 181 /** 182 * 88 createResource = false; 89 } 90 91 /** 92 * reads the properties of a given resource to create a resource object 183 93 * @param ae 184 94 */ 185 /*public void newClientButtonListener(ActionEvent ae){ 186 String type = "client"; 187 ArrayList newResource = new ArrayList<ViewItem>(); 188 ResourceInfo[] ri; 189 int i; 190 String s; 191 selectedObject = BeanUtil.getTypeProperties(type); 192 for (ViewItem vi : selectedObject){ 193 vi.setRendererFlag(vi.getRenderer()); 194 if (vi.getRenderer().equals("selectOneMenu")){ 195 SelectItem[] keyValueList; 196 //TODO: implement getter for list of node types 197 Client c = new Client(); 198 s = vi.getKey().replaceFirst(new Character(vi.getKey().charAt(0)).toString(), 199 new Character(Character.toUpperCase(vi.getKey().charAt(0))).toString()); 200 201 ri = c.getListResources("bacula-dir", s); 202 if (ri != null){ 203 keyValueList = new SelectItem[ri.length]; 204 i = 0; 205 for (ResourceInfo rinfo : ri){ 206 keyValueList[i] = new SelectItem(); 207 keyValueList[i].setValue(rinfo.getResName()); 208 keyValueList[i].setLabel(rinfo.getResName()); 209 i++; 210 } 211 vi.setKeyValueList(keyValueList); 212 } 213 214 } 215 createResource = true; 216 } 217 218 219 }*/ 220 221 /*public void newResourceButtonListener(ActionEvent ae){ 222 DefaultMutableTreeNode node; 223 UserObjectItem userObject; 224 String Id = BeanUtil.getRequestParameter("userObject.ResId"); 225 String value = BeanUtil.getRequestParameter("userObject.resName"); 226 String shift = BeanUtil.getRequestParameter("ice.event.shift"); 227 selectedObject = new ArrayList<ViewItem>(); 228 System.out.println("value: "+value+" id: "+Id); 229 230 if (value.equals("")){ 231 return; 232 } 233 //node = getNode(Id, tree); 234 node = getNodeByName(value, tree); 235 String type = ((UserObjectItem) ((UserObjectItemType) node 236 .getUserObject()).getUserObject()).getResType(); 237 ViewItem vi; 238 String[] val; 239 try{ 240 //value contains the header of the subtree 241 String type2 = "de.dass_it.vanhelsing.gui.items." + value + "Item"; 242 Class newClass = Class.forName(type2); 243 for (Method m : newClass.getDeclaredMethods()){ 244 if (m.getName().startsWith("get")) { 245 vi = new ViewItem(); 246 vi.setKey(m.getName().substring(3)); 247 vi.setRendererFlag(BeanUtil.getRenderer(type, vi.getKey())); 248 if (vi.getSelectOneMenu() != null){ 249 DefaultMutableTreeNode[] dmtn = getChildNodes(tree, vi.getKey()); 250 if (dmtn != null) { 251 SelectItem[] si = new SelectItem[dmtn.length]; 252 String objectType; 253 for (int i = 0; i < dmtn.length; i++){ 254 UserObjectItem nodeObject = ((UserObjectItemType)dmtn[i].getUserObject()).getUserObject(); 255 objectType = "de.dass_it.vanhelsing.gui.items." + vi.getKey() +"Item"; 256 Class subClass = Class.forName(objectType); 257 Class myClass = nodeObject.getClass().asSubclass(subClass); 258 Method o = myClass.getMethod("getName", (Class[])null); 259 si[i] = new SelectItem((String)o.invoke(nodeObject, (Object[])null), 260 (String)o.invoke(nodeObject, (Object[])null)); 261 262 } 263 vi.setKeyValueList(si); 264 } 265 } 266 if (vi.getInputText() != null){ 267 vi.setValue(BeanUtil.getProperty("director."+type+"."+vi.getKey()+".def")); 268 } 269 } 270 } 271 } catch (Exception e){ 272 e.printStackTrace(); 273 } 274 275 }*/ 276 /** 277 * **EXPERIMENTAL** returns type of the selected resource. 278 * The method is used for an evaluation about dynamic navigation. 279 * @param ae ActionEvent contains relevant information about the jsf component tree. 280 * @return viewName name of the resource type of the selected data tree node 281 */ 282 /*public String newResourceListener(ActionEvent ae){ 283 if (selectedObject != null && selectedObject.size() > 0){ 284 String resType = selectedObject.get(0).getResType(); 285 String viewName = BeanUtil.getAccessType(resType); 286 return viewName; 287 } 288 return ""; 289 }*/ 290 95 public void newResourceButtonListener(ActionEvent ae){ 96 String type = "Client"; 97 UserObjectItemFactory UOFactory = new UserObjectItemFactory(); 98 selectedObject = (ConcreteUserObjectItem)UOFactory.createUserObjectItem(type); 99 for (ViewItem vi : selectedObject.getViewItemList()){ 100 if(vi.getSelectOneMenu()){ 101 vi.setKeyValueList(dataTree.getKeyValueList().get(vi.getKey())); 102 } 103 if (vi.getRadioGroup()){ 104 vi.setKeyValueList(dataTree.getKeyValueList().get("trueFalse")); 105 } 106 } 107 createResource = true; 108 } 109 110 public void newClientButtonListener(ActionEvent ae){ 111 newResourceButtonListener(ae); 112 } 291 113 public void userObjectItemOptionSelected(ValueChangeEvent vce){ 114 System.err.println("vce.oldValue: " +vce.getOldValue()+" vce.newValue: "+vce.getNewValue()); 292 115 293 116 } … … 302 125 BeanUtil.setInfoMessage(null, "Diese Methode ist noch nicht implementiert."); 303 126 } 304 /*public void saveClientButtonListener(ActionEvent ae){ 305 Client c = new Client(); 306 String name = ""; 307 ResourceAttributeType[] rat = new ResourceAttributeType[selectedObject.size()]; 308 int i =0; 309 for (ViewItem vi : selectedObject){ 310 rat[i] = new ResourceAttributeType(); 311 rat[i].setKey(vi.getKey()); 312 rat[i].setValue(vi.getKeyValue()); 313 i++; 314 if (vi.getKey().equals("name")){ 315 name = vi.getKeyValue(); 316 } 317 318 } 319 int newResId = c.createSimpleResource(rat, 320 c.makeResourceInfo("bacula-dir", 0, name, "Client") 321 ); 322 System.err.println(newResId); 323 }*/ 324 /** 325 * **EXPERIMENTAL** writes the selected resource to the data tree of the web service. 326 * 327 * @param ae ActionEvent contains relevant information 328 */ 329 /*public void saveButtonListener(ActionEvent ae) { 330 if (selectedObject == null){ 331 BeanUtil.setInfoMessage(null, "bitte eine Resource zum Ändern auswählen"); 332 } else { 127 /** 128 * save the currently selected object 129 * @param ae 130 */ 131 public void saveClientButtonListener(ActionEvent ae){ 132 if (createResource){ 333 133 Client c = new Client(); 334 ResourceInfo ri = new ResourceInfo(); 335 SetSimpleResourceResponse s2r2; 336 ri.setDirector( selectedObject.get(0).getDirector() ); 337 ri.setResId( selectedObject.get(0).getResId() ); 338 ri.setResName( selectedObject.get(0).getResName() ); 339 ri.setResType( selectedObject.get(0).getResType() ); 340 // ResourceAttribute 341 String key, value; 342 ResourceAttributeType[] ra = new ResourceAttributeType[selectedObject.size()]; 343 for (int i = 0; i < selectedObject.size(); i++) { 344 key = selectedObject.get(i).getKey(); 345 value = selectedObject.get(i).getKeyValue(); 346 ra[i] = new ResourceAttributeType(); 347 ra[i].setKey(key); 348 ra[i].setValue(value); 349 } 350 ResourceInitialization rinit = new ResourceInitialization(); 351 rinit.setResInfo(ri); 352 rinit.setResAttribute(ra); 353 rinit.setReplace(true); 354 s2r2 = c.setSimpleResource(rinit); 355 System.err.println("Status setSimpleRes: "+s2r2.getStatus()); 356 BeanUtil.setErrorMessage(null, "Status setSimpleRessource: "+s2r2.getStatus()); 357 358 /*String status = s2r2.getStatus(); 359 if (selectedObject.get(0) != null){ 360 selectedObject.get(0).setResId(s2r2.getResId()); 361 } 362 // TODO: write ResId to selectedObject 363 // selectedObject.get(0).setResId(grt.getResId()); 364 // valueChangeEffect.setFired(false); 365 } 366 }*/ 134 SimpleResource sr; 135 UserObjectItemFactory UOFactory = new UserObjectItemFactory(); 136 for (ViewItem vi : selectedObject.getViewItemList()){ 137 if(vi.getKey().equals("name")){ 138 selectedObject.setResName(vi.getKeyValue()); 139 } 140 } 141 int newResId = 142 c.createSimpleResource(c.makeResAttrTypeArray(selectedObject.getViewItemList()), 143 c.makeResourceInfo(selectedObject.getDirector(), selectedObject.getResId(), 144 selectedObject.getResName(), selectedObject.getResType())); 145 BeanUtil.setInfoMessage(null, "Neue Resource erzeugt (Id: "+newResId+")"); 146 //neue Resource einlesen und in den Baum eintragen 147 //sr = c.getSimpleResource(selectedObject.getDirector(), newResId); 148 sr = new SimpleResource(); 149 sr.setResourceAttributeType(c.makeResAttrTypeArray(selectedObject.getViewItemList())); 150 sr.setResourceInfo(c.makeResourceInfo(selectedObject.getDirector(), selectedObject.getResId(), 151 selectedObject.getResName(), selectedObject.getResType())); 152 dataTree.createNode(dataTree.getNodeByName("Client"), 153 UOFactory.createUserObjectItem(sr.getResourceAttributeType(), 154 sr.getResourceInfo())); 155 dataTree.updateUserObjects(); 156 } 157 } 158 367 159 /** 368 160 * Setter method for the tree attribute
Note:
See TracChangeset
for help on using the changeset viewer.