]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6570 WS metrics/search add type object with key and name in response
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Mon, 8 Jun 2015 12:42:41 +0000 (14:42 +0200)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Mon, 8 Jun 2015 13:11:41 +0000 (15:11 +0200)
server/sonar-server/src/main/java/org/sonar/server/metric/ws/SearchAction.java
server/sonar-server/src/main/resources/org/sonar/server/metric/ws/example-search.json
server/sonar-server/src/test/resources/org/sonar/server/metric/ws/SearchActionTest/search_metrics.json

index 0dcbc08a1fa0f4d076a93e0df83ee8a39ec3e1ee..a9d2c6c00da5cc14170fecfcff6ee37174c5844b 100644 (file)
@@ -120,12 +120,22 @@ public class SearchAction implements MetricsWsAction {
       writeIfDesired(json, FIELD_NAME, metric.getShortName(), desiredFields);
       writeIfDesired(json, FIELD_DESCRIPTION, metric.getDescription(), desiredFields);
       writeIfDesired(json, FIELD_DOMAIN, metric.getDomain(), desiredFields);
-      writeIfDesired(json, FIELD_TYPE, Metric.ValueType.descriptionOf(metric.getValueType()), desiredFields);
+      writeType(json, metric.getValueType(), desiredFields);
       json.endObject();
     }
     json.endArray();
   }
 
+  private void writeType(JsonWriter json, String typeKey, Set<String> desiredFields) {
+    if (desiredFields.contains(FIELD_TYPE)) {
+      json.name(FIELD_TYPE);
+      json.beginObject();
+      json.prop("key", typeKey);
+      json.prop("name", Metric.ValueType.descriptionOf(typeKey));
+      json.endObject();
+    }
+  }
+
   private static void writeIfDesired(JsonWriter json, String field, String value, Set<String> desiredFields) {
     if (desiredFields.contains(field)) {
       json.prop(field, value);
index 3a7a4ddd8d7ab808d649017525b56d2b2a1c5ffc..e0d6011b0993ec4cef72f6648ac770cceeabbe33 100644 (file)
@@ -6,7 +6,10 @@
       "name": "Team size",
       "description": "Number of people in the team",
       "domain": "Management",
-      "type": "INT"
+      "type": {
+        "key": "INT",
+        "name": "Integer"
+      }
     },
     {
       "id": "2",
       "name": "Uncovered lines",
       "description": "Uncovered lines",
       "domain": "Tests",
-      "type": "INT"
+      "type": {
+        "key": "INT",
+        "name": "Integer"
+      }
     }
   ],
   "total": 2,
index 0bae892fc3d0bf70fcd246b80d60970facea7d5d..a237356a227d6a2946c4115df1d1921cd91be4e6 100644 (file)
@@ -1,28 +1,37 @@
 {
-  "metrics":[
+  "metrics": [
     {
-      "key":"custom-key-1",
-      "name":"custom-name-1",
-      "type":"Integer",
-      "domain":"custom-domain-1",
-      "description":"custom-description-1"
+      "key": "custom-key-1",
+      "name": "custom-name-1",
+      "type": {
+        "key": "INT",
+        "name": "Integer"
+      },
+      "domain": "custom-domain-1",
+      "description": "custom-description-1"
     },
     {
-      "key":"custom-key-2",
-      "name":"custom-name-2",
-      "type":"Integer",
-      "domain":"custom-domain-2",
-      "description":"custom-description-2"
+      "key": "custom-key-2",
+      "name": "custom-name-2",
+      "type": {
+        "key": "INT",
+        "name": "Integer"
+      },
+      "domain": "custom-domain-2",
+      "description": "custom-description-2"
     },
     {
-      "key":"custom-key-3",
-      "name":"custom-name-3",
-      "type":"Integer",
-      "domain":"custom-domain-3",
-      "description":"custom-description-3"
+      "key": "custom-key-3",
+      "name": "custom-name-3",
+      "type": {
+        "key": "INT",
+        "name": "Integer"
+      },
+      "domain": "custom-domain-3",
+      "description": "custom-description-3"
     }
   ],
-  "total":3,
-  "ps":100,
-  "p":1
+  "total": 3,
+  "ps": 100,
+  "p": 1
 }