summaryrefslogtreecommitdiffstats
path: root/src/com/ibm
diff options
context:
space:
mode:
authornjames <nkskjames@gmail.com>2017-01-10 11:21:18 -0600
committernjames <nkskjames@gmail.com>2017-01-10 11:21:18 -0600
commit6e4cb40bfebd5d2adee8d07dd570a30be8798727 (patch)
tree43fbd8e5f113dc0299331045f3b046e81f24caf0 /src/com/ibm
parent37d248dea50285545991defde5f33bdc0be6bd21 (diff)
downloadserverwiz-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.java34
-rw-r--r--src/com/ibm/ServerWizard2/model/Target.java10
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);
OpenPOWER on IntegriCloud