]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-833: New Web Service to get history of measures (time machine)
authorGodin <mandrikov@gmail.com>
Mon, 13 Dec 2010 12:40:25 +0000 (12:40 +0000)
committerGodin <mandrikov@gmail.com>
Mon, 13 Dec 2010 12:40:25 +0000 (12:40 +0000)
sonar-gwt-api/src/main/java/org/sonar/gwt/JsonUtils.java
sonar-gwt-api/src/main/java/org/sonar/wsclient/gwt/unmarshallers/TimeMachineUnmarshaller.java
sonar-ws-client/src/main/java/org/sonar/wsclient/unmarshallers/TimeMachineUnmarshaller.java

index 57de5419ed5d58ed205bf1e5ff8c3f5ae002aeaa..b473cc37028ab2a5682f8657ae1cf5f417ba97b9 100644 (file)
@@ -101,16 +101,7 @@ public final class JsonUtils {
   }
 
   public static String getString(JSONObject json, String field) {
-    JSONValue jsonValue;
-    JSONString jsonString;
-    if ((jsonValue = json.get(field)) == null) {
-      return null;
-    }
-    if ((jsonString = jsonValue.isString()) == null) {
-      JSONNumber jsonNumber = jsonValue.isNumber();
-      return jsonNumber != null ? jsonNumber.toString() : null;
-    }
-    return jsonString.stringValue();
+    return getAsString(json.get(field));
   }
 
   public static Date getDate(JSONObject json, String field) {
@@ -173,6 +164,18 @@ public final class JsonUtils {
     throw new JavaScriptException("Not implemented");
   }
 
+  public static String getAsString(JSONValue jsonValue) {
+    if (jsonValue == null) {
+      return null;
+    }
+    JSONString jsonString;
+    if ((jsonString = jsonValue.isString()) == null) {
+      JSONNumber jsonNumber = jsonValue.isNumber();
+      return jsonNumber != null ? jsonNumber.toString() : null;
+    }
+    return jsonString.stringValue();
+  }
+
   /**
    * @since 2.5
    */
index d28438fb1606ab793d03b85285c74e60bea97b6a..008e53b98f065bbc54a8312d8773289ac39adae7 100644 (file)
@@ -1,7 +1,9 @@
 package org.sonar.wsclient.gwt.unmarshallers;
 
 import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.json.client.*;
+import com.google.gwt.json.client.JSONArray;
+import com.google.gwt.json.client.JSONObject;
+import com.google.gwt.json.client.JSONValue;
 import org.sonar.gwt.JsonUtils;
 import org.sonar.wsclient.services.TimeMachineData;
 
@@ -14,28 +16,16 @@ public class TimeMachineUnmarshaller implements Unmarshaller<TimeMachineData> {
     Map<Date, List<String>> data = new HashMap<Date, List<String>>();
     for (String dateTimeStr : map.keySet()) {
       JSONArray array = map.get(dateTimeStr).isArray();
-      List<String> values = new ArrayList<String>();
+      List<String> measures = new ArrayList<String>();
       for (int i = 0; i < JsonUtils.getArraySize(array); i++) {
-        JSONValue elem = array.get(i);
-        values.add(getAsString(elem));
+        JSONValue elem = JsonUtils.getArray(array, i);
+        measures.add(JsonUtils.getAsString(elem));
       }
-      data.put(JsonUtils.parseDateTime(dateTimeStr), values);
+      data.put(JsonUtils.parseDateTime(dateTimeStr), measures);
     }
     return new TimeMachineData().setData(data);
   }
 
-  public String getAsString(JSONValue jsonValue) {
-    if (jsonValue == null) {
-      return null;
-    }
-    JSONString jsonString;
-    if ((jsonString = jsonValue.isString()) == null) {
-      JSONNumber jsonNumber = jsonValue.isNumber();
-      return jsonNumber != null ? jsonNumber.toString() : null;
-    }
-    return jsonString.stringValue();
-  }
-
   public List<TimeMachineData> toModels(JavaScriptObject json) {
     return Arrays.asList(toModel(json));
   }
index 8887da9abd2d5ac438df812348110664c2f5f7d5..dab000f069ceeb4929c2c3727e21d7af9cd6c936 100644 (file)
@@ -14,13 +14,13 @@ public class TimeMachineUnmarshaller implements Unmarshaller<TimeMachineData> {
     Map<Date, List<String>> data = new HashMap<Date, List<String>>();
     for (Object key : map.keySet()) {
       JSONArray array = (JSONArray) map.get(key);
-      List<String> values = new ArrayList<String>();
+      List<String> measures = new ArrayList<String>();
       for (int i = 0; i < array.size(); i++) {
         Object elem = array.get(i);
         String value = elem == null ? null : elem.toString();
-        values.add(value);
+        measures.add(value);
       }
-      data.put(JsonUtils.parseDateTime((String) key), values);
+      data.put(JsonUtils.parseDateTime((String) key), measures);
     }
     return new TimeMachineData().setData(data);
   }