|
8 | 8 | import java.util.List; |
9 | 9 | import java.util.Set; |
10 | 10 |
|
| 11 | +import de.fraunhofer.iem.mois.data.RelevantPart; |
11 | 12 | import org.json.simple.JSONArray; |
12 | 13 | import org.json.simple.JSONObject; |
13 | 14 | import org.json.simple.parser.*; |
@@ -143,6 +144,11 @@ private void parse(String fileName) { |
143 | 144 | } |
144 | 145 | } |
145 | 146 |
|
| 147 | + public Set<Method> parseFile(String fileName){ |
| 148 | + parse(fileName); |
| 149 | + return methods; |
| 150 | + } |
| 151 | + |
146 | 152 | @SuppressWarnings("unchecked") |
147 | 153 | private void loadMethodsFromJsonArray(JSONArray array, String type) { |
148 | 154 |
|
@@ -217,10 +223,10 @@ private void loadMethodsFromJsonArray(JSONArray array, String type) { |
217 | 223 | securityLevel = Method.SecLevel.NEUTRAL; |
218 | 224 | else { |
219 | 225 | switch (secLevel) { |
220 | | - case "high": |
| 226 | + case Constants.AUTH_SAFE: |
221 | 227 | securityLevel = Method.SecLevel.HIGH; |
222 | 228 | break; |
223 | | - case "low": |
| 229 | + case Constants.AUTH_UNSAFE: |
224 | 230 | securityLevel = Method.SecLevel.LOW; |
225 | 231 | break; |
226 | 232 | default: |
@@ -261,16 +267,16 @@ private void loadMethodsFromJsonArray(JSONArray array, String type) { |
261 | 267 | while (p.hasNext()) { |
262 | 268 | String t = p.next().toString(); |
263 | 269 | switch (t) { |
264 | | - case "source": |
| 270 | + case Constants.SOURCE: |
265 | 271 | m.addCategoryTrained(Category.SOURCE); |
266 | 272 | break; |
267 | | - case "sink": |
| 273 | + case Constants.SINK: |
268 | 274 | m.addCategoryTrained(Category.SINK); |
269 | 275 | break; |
270 | | - case "sanitizer": |
| 276 | + case Constants.SANITIZER: |
271 | 277 | m.addCategoryTrained(Category.SANITIZER); |
272 | 278 | break; |
273 | | - case "authentication": |
| 279 | + case Constants.AUTHENTICATION: |
274 | 280 | switch (securityLevel) { |
275 | 281 | case HIGH: |
276 | 282 | m.addCategoryTrained(Category.AUTHENTICATION_TO_HIGH); |
@@ -321,4 +327,18 @@ public Set<String> cwe() { |
321 | 327 | return cwes; |
322 | 328 | } |
323 | 329 |
|
| 330 | + private RelevantPart extractDataInOutObject(JSONObject dataObject) { |
| 331 | + |
| 332 | + JSONArray parameterArray = (JSONArray) dataObject.get(Constants.PARAMETERS); |
| 333 | + |
| 334 | + List<Integer> parameters = new ArrayList<>(); |
| 335 | + |
| 336 | + for (Object param : parameterArray) { |
| 337 | + |
| 338 | + if (param instanceof Integer) |
| 339 | + parameters.add((Integer) param); |
| 340 | + } |
| 341 | + return new RelevantPart((boolean) dataObject.get(Constants.RETURN_TYPE), parameters); |
| 342 | + } |
| 343 | + |
324 | 344 | } |
0 commit comments