aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2017-10-02 11:02:12 +0200
committerTeryk Bellahsene <teryk@users.noreply.github.com>2017-10-03 14:45:02 +0200
commit266450099096400d6134cc429a462bb52c198b06 (patch)
tree8d2ca7f95147213390a78049ee57ffceb29bd169 /server
parent3be234a8129229de4f44da012d0a901a026a265d (diff)
downloadsonarqube-266450099096400d6134cc429a462bb52c198b06.tar.gz
sonarqube-266450099096400d6134cc429a462bb52c198b06.zip
SONAR-9820 update telemetry format - list instead of map
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/telemetry/TelemetryDataJsonWriter.java27
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/platform/ws/InfoActionTest.java2
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/telemetry/telemetry-example.json57
3 files changed, 67 insertions, 19 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/telemetry/TelemetryDataJsonWriter.java b/server/sonar-server/src/main/java/org/sonar/server/telemetry/TelemetryDataJsonWriter.java
index dba9dc46afe..569841f7743 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/telemetry/TelemetryDataJsonWriter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/telemetry/TelemetryDataJsonWriter.java
@@ -35,15 +35,36 @@ public class TelemetryDataJsonWriter {
json.prop("id", statistics.getServerId());
json.prop("version", statistics.getVersion());
json.name("plugins");
- json.valueObject(statistics.getPlugins());
+ json.beginArray();
+ statistics.getPlugins().forEach((plugin, version) -> {
+ json.beginObject();
+ json.prop("name", plugin);
+ json.prop("version", version);
+ json.endObject();
+ });
+ json.endArray();
json.prop("userCount", statistics.getUserCount());
json.prop("projectCount", statistics.getProjectCount());
json.prop(LINES_KEY, statistics.getLines());
json.prop(NCLOC_KEY, statistics.getNcloc());
json.name("projectCountByLanguage");
- json.valueObject(statistics.getProjectCountByLanguage());
+ json.beginArray();
+ statistics.getProjectCountByLanguage().forEach((language, count) -> {
+ json.beginObject();
+ json.prop("language", language);
+ json.prop("count", count);
+ json.endObject();
+ });
+ json.endArray();
json.name("nclocByLanguage");
- json.valueObject(statistics.getNclocByLanguage());
+ json.beginArray();
+ statistics.getNclocByLanguage().forEach((language, ncloc) -> {
+ json.beginObject();
+ json.prop("language", language);
+ json.prop("ncloc", ncloc);
+ json.endObject();
+ });
+ json.endArray();
json.endObject();
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/platform/ws/InfoActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/platform/ws/InfoActionTest.java
index 6efbac1161f..ab6ef319a94 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/platform/ws/InfoActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/platform/ws/InfoActionTest.java
@@ -102,7 +102,7 @@ public class InfoActionTest {
TestResponse response = ws.newRequest().execute();
// response does not contain empty "Section Three"
assertThat(response.getInput()).isEqualTo("{\"Health\":\"GREEN\",\"Health Causes\":[],\"Section One\":{\"foo\":\"bar\"},\"Section Two\":{\"one\":1,\"two\":2}," +
- "\"Statistics\":{\"plugins\":{},\"userCount\":0,\"projectCount\":0,\"lines\":0,\"ncloc\":0,\"projectCountByLanguage\":{},\"nclocByLanguage\":{}}}");
+ "\"Statistics\":{\"plugins\":[],\"userCount\":0,\"projectCount\":0,\"lines\":0,\"ncloc\":0,\"projectCountByLanguage\":[],\"nclocByLanguage\":[]}}");
}
private void logInAsSystemAdministrator() {
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/telemetry/telemetry-example.json b/server/sonar-server/src/test/resources/org/sonar/server/telemetry/telemetry-example.json
index b17a4aab7c4..93cf4f1280f 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/telemetry/telemetry-example.json
+++ b/server/sonar-server/src/test/resources/org/sonar/server/telemetry/telemetry-example.json
@@ -1,23 +1,50 @@
{
"id": "AU-TpxcB-iU5OvuD2FL7",
"version": "7.5.4",
- "plugins": {
- "java": "4.12.0.11033",
- "scmgit": "1.2",
- "other": "undefined"
- },
+ "plugins": [
+ {
+ "name": "java",
+ "version": "4.12.0.11033"
+ },
+ {
+ "name": "scmgit",
+ "version": "1.2"
+ },
+ {
+ "name": "other",
+ "version": "undefined"
+ }
+ ],
"userCount": 3,
"projectCount": 2,
"lines": 500,
"ncloc": 300,
- "projectCountByLanguage": {
- "java": 2,
- "kotlin": 1,
- "js": 1
- },
- "nclocByLanguage": {
- "java": 500,
- "kotlin": 2500,
- "js": 50
- }
+ "projectCountByLanguage": [
+ {
+ "language": "java",
+ "count": 2
+ },
+ {
+ "language": "kotlin",
+ "count": 1
+ },
+ {
+ "language": "js",
+ "count": 1
+ }
+ ],
+ "nclocByLanguage": [
+ {
+ "language": "java",
+ "ncloc": 500
+ },
+ {
+ "language": "kotlin",
+ "ncloc": 2500
+ },
+ {
+ "language": "js",
+ "ncloc": 50
+ }
+ ]
}