Ignore:
Timestamp:
Apr 9, 2010, 10:56:07 AM (14 years ago)
Author:
tobias
Message:

visual design slightly modified. tree functions extended

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vanHelsing/trunk/gui/src/de/dass_it/vanhelsing/gui/ConfigurationBean.java

    r857 r858  
    66import javax.faces.event.ActionEvent;
    77import javax.faces.event.ValueChangeEvent;
     8import javax.faces.model.SelectItem;
    89import javax.swing.tree.DefaultMutableTreeNode;
    910import javax.swing.tree.DefaultTreeModel;
     
    2021        private DefaultTreeModel tree;
    2122        private ArrayList<ViewItem> selectedObject;
     23        private String selectedId;
    2224
    2325        public ConfigurationBean() {
     
    3739
    3840                Client c = new Client();
    39                 String[] nodes = { "Director", "Storage", "Catalog", "Autochanger",
     41                String[] nodes = { "Director", "Storage", "Autochanger",
    4042                                "Client", "FileSet", "FDClient", "Schedule", "SDStorage",
    4143                                "Console", "Catalog", "SDDevice", "Job", "JobDefs", "Messages",
     
    4446                setTree(super.createTree(root, nodes, "Configuration"));
    4547
    46                 // forall header wird eine ResourceList[] angefragt
     48                // \forall header wird eine ResourceList[] angefragt
     49               
    4750                for (int i = 0; i < tree.getChildCount(root); i++) {
    4851                        header = (DefaultMutableTreeNode) tree.getChild(root, i);
     
    6871                                }
    6972                        }
    70                 }
     73                } 
    7174                /*
    7275                 * for (int i = 0; i < tree.getChildCount(root); i++){ header =
     
    9699                selectedObject = new ArrayList<ViewItem>();
    97100                String Id = BeanUtil.getRequestParameter("userObject.resId");
     101                String selected = BeanUtil.getRequestParameter("ice.event.shift");
    98102                node = getNode(Id, tree);
     103                if (selected.equals("true")){
     104                        ((UserObjectItemType)node.getUserObject()).switchSelected();
     105                }
    99106                String type = ((UserObjectItem) ((UserObjectItemType) node
    100107                                .getUserObject()).getUserObject()).getResType();
     
    104111                                .getUserObject()).getUserObject())).getDirector();
    105112                String classType = "de.dass_it.vanhelsing.gui.items." + type + "Item";
     113                String accessType = BeanUtil.getAccessType(type.toLowerCase());
    106114                // Daten aus dem UserObjectItem extrahieren
    107115                try {
     
    127135                                        vi.setResName(resName);
    128136                                        vi.setDirector(director);
    129                                         vi.setRendererFlag(BeanUtil.getRenderer(type, key));
    130                                         System.err.println(vi.getRenderer());
    131                                         System.err.println(vi.getInputText());
    132                                         System.err.println(vi.getSelectOneMenu()+"\n\n");
     137                                        vi.setRendererFlag(BeanUtil.getRenderer(accessType, key));
     138                                        vi.setRequired(BeanUtil.getRequired(accessType, key));
     139                                        if (vi.getSelectOneMenu() != null){
     140                                                DefaultMutableTreeNode[] dmtn = getChildNodes(tree, vi.getKey());
     141                                                if (dmtn != null) {
     142                                                        SelectItem[] si = new SelectItem[dmtn.length];
     143                                                        String objectType;
     144                                                        for (int i = 0; i < dmtn.length; i++){
     145                                                                UserObjectItem nodeObject = ((UserObjectItemType)dmtn[i].getUserObject()).getUserObject();
     146                                                                objectType = "de.dass_it.vanhelsing.gui.items." + vi.getKey() +"Item";
     147                                                                Class subClass = Class.forName(objectType);
     148                                                                Class myClass = nodeObject.getClass().asSubclass(subClass);
     149                                                                Method o = myClass.getMethod("getName", (Class[])null);
     150                                                                si[i] = new SelectItem((String)o.invoke(nodeObject, (Object[])null),
     151                                                                                (String)o.invoke(nodeObject, (Object[])null));
     152                                                               
     153                                                        }
     154                                                        vi.setKeyValueList(si);
     155                                                }
     156                                        }
    133157                                        selectedObject.add(vi);
    134158                                }
     
    139163                }
    140164        }
     165        private DefaultMutableTreeNode[] getChildNodes(DefaultTreeModel tree2, String key) {
     166                DefaultMutableTreeNode[] dmtn;
     167                DefaultMutableTreeNode root = (DefaultMutableTreeNode)tree2.getRoot();
     168                DefaultMutableTreeNode node;
     169                for (int i = 0; i< root.getChildCount(); i++){
     170                        node = (DefaultMutableTreeNode)root.getChildAt(i);
     171                        if (((UserObjectItemType)(node.getUserObject())).getUserObject().getResType().equals(key)){
     172                                dmtn = new DefaultMutableTreeNode[node.getChildCount()];
     173                                for (int j = 0; j < node.getChildCount(); j++){
     174                                        dmtn[j] = (DefaultMutableTreeNode)node.getChildAt(j);
     175                                }
     176                                return dmtn;
     177                        }
     178                }
     179                return null;
     180        }
    141181        public void newResourceButtonListener(ActionEvent ae){
     182                DefaultMutableTreeNode node;
     183                UserObjectItem userObject;
     184                selectedObject = new ArrayList<ViewItem>();
     185                String Id = BeanUtil.getRequestParameter("userObject.ResId");
     186                String shift = BeanUtil.getRequestParameter("ice.event.shift");
     187                System.err.println(shift);
     188                if (Id == null){
     189                        return;
     190                }
     191                node = getNode(Id, tree);
     192                String type = ((UserObjectItem) ((UserObjectItemType) node
     193                                .getUserObject()).getUserObject()).getResType();
     194                ViewItem vi;
     195                String[] val;
     196                try{
     197                        String type2 = "de.dass_it.vanhelsing.gui.items." +  type + "Item";
     198                        Class newClass = Class.forName(type2);
     199                        for (Method m : newClass.getDeclaredMethods()){
     200                                if (m.getName().startsWith("get")) {
     201                                        vi = new ViewItem();
     202                                        vi.setKey(m.getName().substring(3));
     203                                        vi.setRendererFlag(BeanUtil.getRenderer(type, vi.getKey()));
     204                                        if (vi.getSelectOneMenu() != null){
     205                                                DefaultMutableTreeNode[] dmtn = getChildNodes(tree, vi.getKey());
     206                                                if (dmtn != null) {
     207                                                        SelectItem[] si = new SelectItem[dmtn.length];
     208                                                        String objectType;
     209                                                        for (int i = 0; i < dmtn.length; i++){
     210                                                                UserObjectItem nodeObject = ((UserObjectItemType)dmtn[i].getUserObject()).getUserObject();
     211                                                                objectType = "de.dass_it.vanhelsing.gui.items." + vi.getKey() +"Item";
     212                                                                Class subClass = Class.forName(objectType);
     213                                                                Class myClass = nodeObject.getClass().asSubclass(subClass);
     214                                                                Method o = myClass.getMethod("getName", (Class[])null);
     215                                                                si[i] = new SelectItem((String)o.invoke(nodeObject, (Object[])null),
     216                                                                                (String)o.invoke(nodeObject, (Object[])null));
     217                                                                //System.err.println("si[i]"+si[i].getLabel());
     218                                                               
     219                                                        }
     220                                                        vi.setKeyValueList(si);
     221                                                }
     222                                        }
     223                                        if (vi.getInputText() != null){
     224                                                vi.setValue(BeanUtil.getProperty("director."+type+"."+vi.getKey()+".def"));
     225                                        }
     226                                }
     227                        }
     228                } catch (Exception e){
     229                        e.printStackTrace();
     230                }
    142231               
    143232        }
     
    146235        }
    147236       
     237        public void reloadResourceButtonListener(ActionEvent ae){
     238                init();
     239        }
     240        public void deleteResourceButtonListener(ActionEvent ae){
     241                BeanUtil.setInfoMessage(null, "Diese Methode ist noch nicht implementiert.");
     242        }
     243       
    148244        public void saveButtonListener(ActionEvent ae) {
    149                 Client c = new Client();
    150                 ResourceInfo ri = new ResourceInfo();
    151                 SetSimpleResourceResponse s2r2;
    152                 ri.setDirector( selectedObject.get(0).getDirector() );
    153                 ri.setResId( selectedObject.get(0).getResId() );
    154                 ri.setResName( selectedObject.get(0).getResName() );
    155                 ri.setResType( selectedObject.get(0).getResType() );
    156                 // ResourceAttribute
    157                 String key, value;
    158                 ResourceAttributeType[] ra = new ResourceAttributeType[selectedObject.size()];
    159                 for (int i = 0; i < selectedObject.size(); i++) {
    160                         key = selectedObject.get(i).getKey();
    161                         value = selectedObject.get(i).getKeyValue();
    162                         ra[i] = new ResourceAttributeType();
    163                         ra[i].setKey(key);
    164                         ra[i].setValue(value);
    165                 }
    166                 SetSimpleResource s2r = new SetSimpleResource();
    167                 s2r.setResAttribute(ra);
    168                 s2r.setResInfo(ri);
    169                 s2r2 = c.setSimpleResource(s2r);
    170                 System.err.println("Status setSimpleRes: "+s2r2.getStatus());
    171                 BeanUtil.setErrorMessage(null, "Status setSimpleRessource: "+s2r2.getStatus());
    172                
    173                 /*String status = s2r2.getStatus();
    174                 if (selectedObject.get(0) != null){
    175                         selectedObject.get(0).setResId(s2r2.getResId());
    176                 }*/
    177                 // TODO: write ResId to selectedObject
    178                 // selectedObject.get(0).setResId(grt.getResId());
    179                 // valueChangeEffect.setFired(false);
     245                if (selectedObject == null){
     246                        BeanUtil.setInfoMessage(null, "bitte eine Resource zum Ändern auswählen");
     247                } else {
     248                        Client c = new Client();
     249                        ResourceInfo ri = new ResourceInfo();
     250                        SetSimpleResourceResponse s2r2;
     251                        ri.setDirector( selectedObject.get(0).getDirector() );
     252                        ri.setResId( selectedObject.get(0).getResId() );
     253                        ri.setResName( selectedObject.get(0).getResName() );
     254                        ri.setResType( selectedObject.get(0).getResType() );
     255                        // ResourceAttribute
     256                        String key, value;
     257                        ResourceAttributeType[] ra = new ResourceAttributeType[selectedObject.size()];
     258                        for (int i = 0; i < selectedObject.size(); i++) {
     259                                key = selectedObject.get(i).getKey();
     260                                value = selectedObject.get(i).getKeyValue();
     261                                ra[i] = new ResourceAttributeType();
     262                                ra[i].setKey(key);
     263                                ra[i].setValue(value);
     264                        }
     265                        SetSimpleResource s2r = new SetSimpleResource();
     266                        s2r.setResAttribute(ra);
     267                        s2r.setResInfo(ri);
     268                        s2r2 = c.setSimpleResource(s2r);
     269                        System.err.println("Status setSimpleRes: "+s2r2.getStatus());
     270                        BeanUtil.setErrorMessage(null, "Status setSimpleRessource: "+s2r2.getStatus());
     271                       
     272                        /*String status = s2r2.getStatus();
     273                        if (selectedObject.get(0) != null){
     274                                selectedObject.get(0).setResId(s2r2.getResId());
     275                        }*/
     276                        // TODO: write ResId to selectedObject
     277                        // selectedObject.get(0).setResId(grt.getResId());
     278                        // valueChangeEffect.setFired(false);
     279                }
    180280        }
    181281
     
    195295                this.selectedObject = selectedObject;
    196296        }
     297        public int getSelectedId(){
     298                if (selectedObject != null){
     299                        if (selectedObject.size() > 0){
     300                                return selectedObject.get(0).getResId();
     301                        }
     302                }
     303                return -1;
     304        }
    197305
    198306}
Note: See TracChangeset for help on using the changeset viewer.