From: Sébastien Lesaint Date: Mon, 20 Apr 2015 13:02:18 +0000 (+0200) Subject: SONAR-6383 SONAR-6376 remove url object from JSON response X-Git-Tag: 5.2-RC1~2178 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=994b1b078f8ea07a93b25e7f813ff94954b0dcbf;p=sonarqube.git SONAR-6383 SONAR-6376 remove url object from JSON response we should use a flat structure as much as possible --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java b/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java index 65cee10963d..4a81554765c 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java +++ b/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java @@ -36,9 +36,8 @@ public class PluginWSCommons { static final String PROPERTY_ORGANIZATION_URL = "organizationUrl"; static final String PROPERTY_DATE = "date"; static final String PROPERTY_STATUS = "status"; - static final String OBJECT_URLS = "urls"; static final String PROPERTY_HOMEPAGE = "homepage"; - static final String PROPERTY_ISSUE_TRACKER = "issueTracker"; + static final String PROPERTY_ISSUE_TRACKER_URL = "issueTrackerUrl"; static final String OBJECT_ARTIFACT = "artifact"; static final String PROPERTY_URL = "url"; static final String PROPERTY_TERMS_AND_CONDITIONS_URL = "termsAndConditionsUrl"; @@ -52,8 +51,6 @@ public class PluginWSCommons { writeMetadata(jsonWriter, pluginMetadata); - writeUrls(jsonWriter, pluginMetadata); - writeArtifact(jsonWriter, pluginMetadata); jsonWriter.endObject(); @@ -67,14 +64,8 @@ public class PluginWSCommons { jsonWriter.prop(PROPERTY_LICENSE, pluginMetadata.getLicense()); jsonWriter.prop(PROPERTY_ORGANIZATION_NAME, pluginMetadata.getOrganization()); jsonWriter.prop(PROPERTY_ORGANIZATION_URL, pluginMetadata.getOrganizationUrl()); - } - - public void writeUrls(JsonWriter jsonWriter, PluginMetadata pluginMetadata) { - jsonWriter.name(OBJECT_URLS); - jsonWriter.beginObject(); jsonWriter.prop(PROPERTY_HOMEPAGE, pluginMetadata.getHomepage()); - jsonWriter.prop(PROPERTY_ISSUE_TRACKER, pluginMetadata.getIssueTrackerUrl()); - jsonWriter.endObject(); + jsonWriter.prop(PROPERTY_ISSUE_TRACKER_URL, pluginMetadata.getIssueTrackerUrl()); } public void writeArtifact(JsonWriter jsonWriter, PluginMetadata pluginMetadata) { diff --git a/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-installed_plugins.json b/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-installed_plugins.json index ed3b0f74816..4ae7034f0b2 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-installed_plugins.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-installed_plugins.json @@ -8,10 +8,8 @@ "license": "GNU LGPL 3", "organizationName": "SonarSource", "organizationUrl": "http://www.sonarsource.com", - "urls": { - "homepage": "http://redirect.sonarsource.com/plugins/scmgit.html", - "issueTracker": "http://jira.codehaus.org/browse/SONARSCGIT" - }, + "homepage": "http://redirect.sonarsource.com/plugins/scmgit.html", + "issueTrackerUrl": "http://jira.codehaus.org/browse/SONARSCGIT", "artifact": { "name": "sonar-scm-git-plugin-1.0.jar" } @@ -24,10 +22,8 @@ "license": "GNU LGPL 3", "organizationName": "SonarSource", "organizationUrl": "http://www.sonarsource.com", - "urls": { - "homepage": "http://redirect.sonarsource.com/plugins/java.html", - "issueTracker": "http://jira.codehaus.org/browse/SONARJAVA" - }, + "homepage": "http://redirect.sonarsource.com/plugins/java.html", + "issueTrackerUrl": "http://jira.codehaus.org/browse/SONARJAVA", "artifact": { "name": "sonar-java-plugin-3.0.jar" } @@ -40,10 +36,8 @@ "license": "GNU LGPL 3", "organizationName": "SonarSource", "organizationUrl": "http://www.sonarsource.com", - "urls": { - "homepage": "http://redirect.sonarsource.com/plugins/scmsvn.html", - "issueTracker": "http://jira.codehaus.org/browse/SONARSCSVN" - }, + "homepage": "http://redirect.sonarsource.com/plugins/scmsvn.html", + "issueTrackerUrl": "http://jira.codehaus.org/browse/SONARSCSVN", "artifact": { "name": "sonar-scm-svn-plugin-1.0.jar" } diff --git a/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-pending_plugins.json b/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-pending_plugins.json index 46de6372348..4e47bfe774b 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-pending_plugins.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-pending_plugins.json @@ -9,10 +9,8 @@ "license": "GNU LGPL 3", "organizationName": "SonarSource", "organizationUrl": "http://www.sonarsource.com", - "urls": { - "homepage": "http://redirect.sonarsource.com/plugins/scmgit.html", - "issueTracker": "http://jira.codehaus.org/browse/SONARSCGIT" - }, + "homepage": "http://redirect.sonarsource.com/plugins/scmgit.html", + "issueTrackerUrl": "http://jira.codehaus.org/browse/SONARSCGIT", "artifact": { "name": "sonar-scm-git-plugin-1.0.jar" } @@ -25,10 +23,8 @@ "license": "GNU LGPL 3", "organizationName": "SonarSource", "organizationUrl": "http://www.sonarsource.com", - "urls": { - "homepage": "http://redirect.sonarsource.com/plugins/java.html", - "issueTracker": "http://jira.codehaus.org/browse/SONARJAVA" - }, + "homepage": "http://redirect.sonarsource.com/plugins/java.html", + "issueTrackerUrl": "http://jira.codehaus.org/browse/SONARJAVA", "artifact": { "name": "sonar-java-plugin-3.0.jar" } @@ -44,10 +40,8 @@ "license": "GNU LGPL 3", "organizationName": "SonarSource", "organizationUrl": "http://www.sonarsource.com", - "urls": { - "homepage": "http://redirect.sonarsource.com/plugins/scmsvn.html", - "issueTracker": "http://jira.codehaus.org/browse/SONARSCSVN" - }, + "homepage": "http://redirect.sonarsource.com/plugins/scmsvn.html", + "issueTrackerUrl": "http://jira.codehaus.org/browse/SONARSCSVN", "artifact": { "name": "sonar-scm-svn-plugin-1.0.jar" } diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/InstalledPluginsWsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/InstalledPluginsWsActionTest.java index 36cb35e5692..6edf1af5264 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/InstalledPluginsWsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/InstalledPluginsWsActionTest.java @@ -126,11 +126,8 @@ public class InstalledPluginsWsActionTest { " \"license\": \"license_hey\"," + " \"organizationName\": \"org_name\"," + " \"organizationUrl\": \"org_url\"," + - " \"urls\":" + - " {" + - " \"homepage\": \"homepage_url\"," + - " \"issueTracker\": \"issueTracker_url\"" + - " }," + + " \"homepage\": \"homepage_url\"," + + " \"issueTrackerUrl\": \"issueTracker_url\"," + " \"artifact\":" + " {" + " \"name\": \"some.jar\"" + diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PendingPluginsWsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PendingPluginsWsActionTest.java index f54b49f80f6..9cace284a82 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PendingPluginsWsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PendingPluginsWsActionTest.java @@ -107,10 +107,8 @@ public class PendingPluginsWsActionTest { " \"license\": \"GNU LGPL 3\"," + " \"organizationName\": \"SonarSource\"," + " \"organizationUrl\": \"http://www.sonarsource.com\"," + - " \"urls\": {" + - " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + - " \"issueTracker\": \"http://jira.codehaus.org/browse/SONARSCGIT\"" + - " }," + + " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + + " \"issueTrackerUrl\": \"http://jira.codehaus.org/browse/SONARSCGIT\"," + " \"artifact\": {" + " \"name\": \"sonar-scm-git-plugin-1.0.jar\"" + " }" + @@ -140,10 +138,8 @@ public class PendingPluginsWsActionTest { " \"license\": \"GNU LGPL 3\"," + " \"organizationName\": \"SonarSource\"," + " \"organizationUrl\": \"http://www.sonarsource.com\"," + - " \"urls\": {" + - " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + - " \"issueTracker\": \"http://jira.codehaus.org/browse/SONARSCGIT\"" + - " }," + + " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + + " \"issueTrackerUrl\": \"http://jira.codehaus.org/browse/SONARSCGIT\"," + " \"artifact\": {" + " \"name\": \"sonar-scm-git-plugin-1.0.jar\"" + " }" + diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java index 679ab5fc278..b4b8a31f351 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java @@ -58,10 +58,8 @@ public class PluginWSCommonsTest { " \"license\": \"GNU LGPL 3\"," + " \"organizationName\": \"SonarSource\"," + " \"organizationUrl\": \"http://www.sonarsource.com\"," + - " \"urls\": {" + - " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + - " \"issueTracker\": \"http://jira.codehaus.org/browse/SONARSCGIT\"" + - " }," + + " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + + " \"issueTrackerUrl\": \"http://jira.codehaus.org/browse/SONARSCGIT\"," + " \"artifact\": {" + " \"name\": \"sonar-scm-git-plugin-1.0.jar\"" + " }" + @@ -83,21 +81,8 @@ public class PluginWSCommonsTest { " \"license\": \"GNU LGPL 3\"," + " \"organizationName\": \"SonarSource\"," + " \"organizationUrl\": \"http://www.sonarsource.com\"," + - "}"); - } - - @Test - public void verify_properties_written_by_writeUrls() throws Exception { - jsonWriter.beginObject(); - underTest.writeUrls(jsonWriter, GIT_PLUGIN_METADATA); - jsonWriter.endObject(); - - jsonWriter.close(); - assertJson(response.outputAsString()).setStrictArrayOrder(true).isSimilarTo("{" + - " \"urls\": {" + - " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + - " \"issueTracker\": \"http://jira.codehaus.org/browse/SONARSCGIT\"" + - " }," + + " \"homepage\": \"http://redirect.sonarsource.com/plugins/scmgit.html\"," + + " \"issueTrackerUrl\": \"http://jira.codehaus.org/browse/SONARSCGIT\"," + "}"); }