diff options
author | njames <nkskjames@gmail.com> | 2017-01-10 11:21:18 -0600 |
---|---|---|
committer | njames <nkskjames@gmail.com> | 2017-01-10 11:21:18 -0600 |
commit | 6e4cb40bfebd5d2adee8d07dd570a30be8798727 (patch) | |
tree | 43fbd8e5f113dc0299331045f3b046e81f24caf0 /src/com/ibm | |
parent | 37d248dea50285545991defde5f33bdc0be6bd21 (diff) | |
download | serverwiz-6e4cb40bfebd5d2adee8d07dd570a30be8798727.tar.gz serverwiz-6e4cb40bfebd5d2adee8d07dd570a30be8798727.zip |
Move attribute inheritance until all libraries are loaded
Diffstat (limited to 'src/com/ibm')
-rw-r--r-- | src/com/ibm/ServerWizard2/model/SystemModel.java | 34 | ||||
-rw-r--r-- | src/com/ibm/ServerWizard2/model/Target.java | 10 |
2 files changed, 28 insertions, 16 deletions
diff --git a/src/com/ibm/ServerWizard2/model/SystemModel.java b/src/com/ibm/ServerWizard2/model/SystemModel.java index ba6a394..4140111 100644 --- a/src/com/ibm/ServerWizard2/model/SystemModel.java +++ b/src/com/ibm/ServerWizard2/model/SystemModel.java @@ -225,8 +225,27 @@ public class SystemModel { this.loadTargetTypes(file.getPath()); } } - } + } + //Add inherited attributes + //must load twice so inherited attributes pick up their + //inherited attributes + for (int i=0;i<2;i++) { + for (Map.Entry<String, Target> entry : targetModels.entrySet()) { + Target target = entry.getValue(); + + // add inherited attributes + addParentAttributes(target, target); + if (target.getAttribute("CLASS").equals("BUS")) { + busTypesTree.put(entry.getKey(),target); + } + } + } + busTypes.removeAllElements(); + for (Target t : busTypesTree.values()) { + busTypes.add(t); + } } + File partsDir = new File(path+File.separator+"parts"+File.separator); File filesList[] = partsDir.listFiles(); if (filesList == null) { @@ -614,19 +633,6 @@ public class SystemModel { } } } - for (Map.Entry<String, Target> entry : targetModels.entrySet()) { - Target target = entry.getValue(); - - // add inherited attributes - addParentAttributes(target, target); - if (target.getAttribute("CLASS").equals("BUS")) { - busTypesTree.put(entry.getKey(),target); - } - } - busTypes.removeAllElements(); - for (Target t : busTypesTree.values()) { - busTypes.add(t); - } } public void loadAttributes(String fileName) throws SAXException, diff --git a/src/com/ibm/ServerWizard2/model/Target.java b/src/com/ibm/ServerWizard2/model/Target.java index ef452f4..2641380 100644 --- a/src/com/ibm/ServerWizard2/model/Target.java +++ b/src/com/ibm/ServerWizard2/model/Target.java @@ -336,8 +336,14 @@ public class Target implements Comparable<Target>, java.io.Serializable { //////////////////////////////////////////////////// // XML file handling public void readModelXML(Element target, HashMap<String, Attribute> attrMap) { - type = SystemModel.getElement(target, "id"); - parent = SystemModel.getElement(target, "parent"); + String tmptype = SystemModel.getElement(target, "id"); + String tmpparent = SystemModel.getElement(target, "parent"); + if (!tmptype.isEmpty()) { + type = tmptype; + } + if (!tmpparent.isEmpty()) { + parent = tmpparent; + } NodeList parentList = target.getElementsByTagName("parent_type"); for (int i = 0; i < parentList.getLength(); i++) { Element e = (Element) parentList.item(i); |