Browse Source

Improved the way getRowset works to make it more useful

master
Chris Smith 15 years ago
parent
commit
f9963489d0

+ 10
- 3
src/uk/co/md87/evetool/api/parser/ApiElement.java View File

@@ -73,16 +73,23 @@ public class ApiElement {
73 73
         return null;
74 74
     }
75 75
 
76
-    public ApiElement getRowset(final String name) {
76
+    public List<ApiElement> getRowset(final String name) {
77
+        final List<ApiElement> rows = new ArrayList<ApiElement>();
78
+        
77 79
         for (ApiElement child : getChildren()) {
78 80
             if (child instanceof NamedApiElement
79 81
                     && "rowset".equals(((NamedApiElement) child).getName())
80 82
                     && name.equals(child.getStringAttribute("name"))) {
81
-                return child;
83
+                for (ApiElement row : child.getChildren()) {
84
+                    if (row instanceof NamedApiElement
85
+                            && "row".equals(((NamedApiElement) row).getName())) {
86
+                        rows.add(row);
87
+                    }
88
+                }
82 89
             }
83 90
         }
84 91
 
85
-        return null;
92
+        return rows;
86 93
     }
87 94
 
88 95
     public String getChildContent(final String name) {

+ 5
- 5
src/uk/co/md87/evetool/api/wrappers/CertificateTree.java View File

@@ -50,7 +50,7 @@ public class CertificateTree extends ArrayList<CertCategory> {
50 50
     protected final Map<Integer, CertInfo> certs = new HashMap<Integer, CertInfo>();
51 51
 
52 52
     public CertificateTree(final ApiElement resultElement) {
53
-        for (ApiElement row : resultElement.getRowset("categories").getChildren()) {
53
+        for (ApiElement row : resultElement.getRowset("categories")) {
54 54
             add(getCategory(row));
55 55
         }
56 56
     }
@@ -60,7 +60,7 @@ public class CertificateTree extends ArrayList<CertCategory> {
60 60
         final String name = row.getStringAttribute("categoryName");
61 61
         final List<CertClass> classes = new ArrayList<CertClass>();
62 62
 
63
-        for (ApiElement crow : row.getRowset("classes").getChildren()) {
63
+        for (ApiElement crow : row.getRowset("classes")) {
64 64
             classes.add(getClass(crow));
65 65
         }
66 66
 
@@ -72,7 +72,7 @@ public class CertificateTree extends ArrayList<CertCategory> {
72 72
         final String name = row.getStringAttribute("className");
73 73
         final List<CertInfo> certificates = new ArrayList<CertInfo>();
74 74
 
75
-        for (ApiElement crow : row.getRowset("certificates").getChildren()) {
75
+        for (ApiElement crow : row.getRowset("certificates")) {
76 76
             certificates.add(getCert(crow));
77 77
         }
78 78
 
@@ -87,11 +87,11 @@ public class CertificateTree extends ArrayList<CertCategory> {
87 87
         final List<SkillRequirement> skillReqs = new ArrayList<SkillRequirement>();
88 88
         final List<Integer> certReqs = new ArrayList<Integer>();
89 89
 
90
-        for (ApiElement srow : row.getRowset("requiredSkills").getChildren()) {
90
+        for (ApiElement srow : row.getRowset("requiredSkills")) {
91 91
             skillReqs.add(getSkillReq(srow));
92 92
         }
93 93
 
94
-        for (ApiElement crow : row.getRowset("requiredCertificates").getChildren()) {
94
+        for (ApiElement crow : row.getRowset("requiredCertificates")) {
95 95
             certReqs.add(getCertReq(crow));
96 96
         }
97 97
 

+ 4
- 5
src/uk/co/md87/evetool/api/wrappers/CharacterSheet.java View File

@@ -134,9 +134,8 @@ public class CharacterSheet {
134 134
         }
135 135
     }
136 136
 
137
-    protected void parseSkills(final ApiElement rowset) {
138
-        // TODO: Nice way to quickly parse rowsets?
139
-        for (ApiElement row : rowset.getChildren()) {
137
+    protected void parseSkills(final List<ApiElement> rowset) {
138
+        for (ApiElement row : rowset) {
140 139
             final int id = row.getNumericAttribute("typeID");
141 140
             final int level = row.getNumericAttribute("level");
142 141
             final int sp = row.getNumericAttribute("skillpoints");
@@ -144,8 +143,8 @@ public class CharacterSheet {
144 143
         }
145 144
     }
146 145
 
147
-    protected void parseCertificates(final ApiElement rowset) {
148
-        for (ApiElement row : rowset.getChildren()) {
146
+    protected void parseCertificates(final List<ApiElement> rowset) {
147
+        for (ApiElement row : rowset) {
149 148
             final int id = row.getNumericAttribute("certificateID");
150 149
             certificates.add(id);
151 150
         }

+ 1
- 1
src/uk/co/md87/evetool/api/wrappers/MarketOrders.java View File

@@ -45,7 +45,7 @@ public class MarketOrders extends ArrayList<Order> {
45 45
 
46 46
         double total = 0;
47 47
 
48
-        for (ApiElement row : resultElement.getRowset("orders").getChildren()) {
48
+        for (ApiElement row : resultElement.getRowset("orders")) {
49 49
             if (row.getNumericAttribute("bid") == 0) {
50 50
                 // Sell order
51 51
                 final double value = row.getNumericAttribute("volRemaining")

+ 6
- 6
src/uk/co/md87/evetool/api/wrappers/SkillList.java View File

@@ -50,7 +50,7 @@ public class SkillList extends ArrayList<SkillGroup> {
50 50
     protected final Map<Integer, SkillInfo> skills = new HashMap<Integer, SkillInfo>();
51 51
 
52 52
     public SkillList(final ApiElement resultElement) {
53
-        for (ApiElement row : resultElement.getRowset("skillGroups").getChildren()) {
53
+        for (ApiElement row : resultElement.getRowset("skillGroups")) {
54 54
             add(getSkillGroup(row));
55 55
         }
56 56
     }
@@ -65,7 +65,7 @@ public class SkillList extends ArrayList<SkillGroup> {
65 65
 
66 66
         final SkillGroup group = new SkillGroup(name, id);
67 67
 
68
-        for (ApiElement skillrow : row.getRowset("skills").getChildren()) {
68
+        for (ApiElement skillrow : row.getRowset("skills")) {
69 69
             final SkillInfo skill = getSkill(group, skillrow);
70 70
             group.add(skill);
71 71
             skills.put(skill.getId(), skill);
@@ -90,10 +90,10 @@ public class SkillList extends ArrayList<SkillGroup> {
90 90
                 secondaryAttribute, bonuses);
91 91
     }
92 92
 
93
-    protected List<SkillRequirement> getReqs(final ApiElement rowset) {
93
+    protected List<SkillRequirement> getReqs(final List<ApiElement> rowset) {
94 94
         final List<SkillRequirement> reqs = new ArrayList<SkillRequirement>();
95 95
 
96
-        for (ApiElement row : rowset.getChildren()) {
96
+        for (ApiElement row : rowset) {
97 97
             reqs.add(new SkillRequirement(row.getNumericAttribute("typeID"),
98 98
                     row.getNumericAttribute("skillLevel")));
99 99
         }
@@ -101,10 +101,10 @@ public class SkillList extends ArrayList<SkillGroup> {
101 101
         return reqs;
102 102
     }
103 103
 
104
-    protected Map<String, String> getBonuses(final ApiElement rowset) {
104
+    protected Map<String, String> getBonuses(final List<ApiElement> rowset) {
105 105
         final Map<String, String> bonuses = new HashMap<String, String>();
106 106
 
107
-        for (ApiElement child : rowset.getChildren()) {
107
+        for (ApiElement child : rowset) {
108 108
             bonuses.put(child.getStringAttribute("bonusType"),
109 109
                     child.getStringAttribute("bonusValue"));
110 110
         }

Loading…
Cancel
Save