You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devicemap.apache.org by re...@apache.org on 2015/07/29 17:50:28 UTC
svn commit: r1693304 - /devicemap/trunk/clients/2.0/reference/src/Main.java
Author: rezan
Date: Wed Jul 29 15:50:27 2015
New Revision: 1693304
URL: http://svn.apache.org/r1693304
Log:
json test parsing
Modified:
devicemap/trunk/clients/2.0/reference/src/Main.java
Modified: devicemap/trunk/clients/2.0/reference/src/Main.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/2.0/reference/src/Main.java?rev=1693304&r1=1693303&r2=1693304&view=diff
==============================================================================
--- devicemap/trunk/clients/2.0/reference/src/Main.java (original)
+++ devicemap/trunk/clients/2.0/reference/src/Main.java Wed Jul 29 15:50:27 2015
@@ -18,7 +18,9 @@
*/
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
+import org.codehaus.jackson.JsonNode;
public class Main {
@@ -109,19 +111,49 @@ public class Main {
}
}
- private static void test(DeviceMapClient client, JsonFile test) throws Exception {
- if(!test.getType().equals("test")) {
- throw new Exception("Unknown test type: " + test.getType());
+ private static void test(DeviceMapClient client, JsonFile tests) throws Exception {
+ if(!tests.getType().equals("test")) {
+ throw new Exception("Unknown test type: " + tests.getType());
}
- if(!test.getDomain().equals(client.getDomain())) {
- throw new Exception("Domains do not match: " + client.getDomain() + " != " + test.getDomain());
+ if(!tests.getDomain().equals(client.getDomain())) {
+ throw new Exception("Domains do not match: " + client.getDomain() + " != " + tests.getDomain());
}
- if(!test.getDomainVersion().equals(client.getDomainVersion())) {
- throw new Exception("DomainVersions do not match: " + client.getDomainVersion() + " != " + test.getDomainVersion());
+ if(!tests.getDomainVersion().equals(client.getDomainVersion())) {
+ throw new Exception("DomainVersions do not match: " + client.getDomainVersion() + " != " + tests.getDomainVersion());
}
- Main.log(" Loading test: " + test.getDomain() + ", version: " + test.getDomainVersion());
+ Main.log(" Loading test: " + tests.getDomain() + ", version: " + tests.getDomainVersion());
+
+ int testCount = 0;
+
+ if(DeviceMapClient.get(tests.getJsonNode(), "tests").isArray()) {
+ for(Iterator<JsonNode> i = tests.getJsonNode().get("tests").iterator(); i.hasNext();) {
+ JsonNode test = i.next();
+
+ if(DeviceMapClient.get(test, "input").asText().isEmpty()) {
+ throw new Exception("Bad test input found, position: " + testCount);
+ }
+
+ String input = test.get("input").asText();
+ String result = null;
+
+ if(!DeviceMapClient.get(test, "resultPatternId").isNull()) {
+ result = DeviceMapClient.get(test, "resultPatternId").asText();
+ }
+
+ if(DeviceMapClient.get(test, "resultAttributes").isObject()) {
+ for(Iterator<String> j = test.get("resultAttributes").getFieldNames(); j.hasNext();) {
+ String key = j.next();
+ String value = test.get("resultAttributes").get(key).asText();
+ }
+ }
+
+ testCount++;
+ }
+
+ Main.log(" Found " + testCount + " test(s)");
+ }
}
}