]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6954 Add 'since' tag to WS parameters
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Wed, 4 Nov 2015 15:36:28 +0000 (16:36 +0100)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Thu, 5 Nov 2015 13:30:41 +0000 (14:30 +0100)
server/sonar-server/src/main/java/org/sonar/server/ws/ListingWs.java
server/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java
server/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list.json
sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java
sonar-plugin-api/src/test/java/org/sonar/api/server/ws/WebServiceTest.java

index c7f94e43bbdd2a13c92bbe46efa25ed21bac61e1..a9250d2d05af8c640fe765b630f018847adb0a0a 100644 (file)
@@ -191,6 +191,7 @@ public class ListingWs implements WebService {
     writer.beginObject();
     writer.prop("key", param.key());
     writer.prop("description", param.description());
+    writer.prop("since", param.since());
     writer.prop("required", param.isRequired());
     writer.prop("defaultValue", param.defaultValue());
     writer.prop("exampleValue", param.exampleValue());
index 1259549b243408bed69b50329e33b44dadf98f83..6129a09a54eb66da28796181e16e005686f69e3b 100644 (file)
@@ -108,6 +108,7 @@ public class ListingWsTest {
       create
         .createParam("severity")
         .setDescription("Severity")
+        .setSince("4.4")
         .setDeprecatedSince("5.2")
         .setRequired(false)
         .setPossibleValues("BLOCKER", "INFO")
index fc117452e9e43d392333240c7305a22603fbd7e2..f84f107adc9b6694e411fdecdd5b7460709e5e86 100644 (file)
@@ -23,6 +23,7 @@
             "required": false,
             "defaultValue": "BLOCKER",
             "exampleValue": "INFO",
+            "since":"4.4",
             "deprecatedSince": "5.2",
             "possibleValues": ["BLOCKER", "INFO"]
           }
index 5053284f3bc6f58b7004e278c66f4fffa3e97c50..045d0db25b5574626d65419d4da88576b62a7f0c 100644 (file)
@@ -548,6 +548,7 @@ public interface WebService extends Definable<WebService.Context> {
 
   class NewParam {
     private String key;
+    private String since;
     private String deprecatedSince;
     private String deprecatedKey;
     private String description;
@@ -560,6 +561,11 @@ public interface WebService extends Definable<WebService.Context> {
       this.key = key;
     }
 
+    public NewParam setSince(@Nullable String since) {
+      this.since = since;
+      return this;
+    }
+
     public NewParam setDeprecatedSince(@Nullable String deprecatedSince) {
       this.deprecatedSince = deprecatedSince;
       return this;
@@ -687,6 +693,7 @@ public interface WebService extends Definable<WebService.Context> {
     public static final String SELECTED = "selected";
 
     private final String key;
+    private final String since;
     private final String deprecatedSince;
     private final String deprecatedKey;
     private final String description;
@@ -697,6 +704,7 @@ public interface WebService extends Definable<WebService.Context> {
 
     protected Param(Action action, NewParam newParam) {
       this.key = newParam.key;
+      this.since = newParam.since;
       this.deprecatedSince = newParam.deprecatedSince;
       this.deprecatedKey = newParam.deprecatedKey;
       this.description = newParam.description;
@@ -713,6 +721,14 @@ public interface WebService extends Definable<WebService.Context> {
       return key;
     }
 
+    /**
+     * @since 5.3
+     */
+    @CheckForNull
+    public String since() {
+      return since;
+    }
+
     /**
      * @since 5.3
      */
index 4455897f769e807136e452b4aab15b85c7b9f40e..bdca29a4702a9aadc023b71867fd28eff1994284 100644 (file)
@@ -266,6 +266,7 @@ public class WebServiceTest {
         newAction
           .createParam("severity")
           .setDefaultValue("MAJOR")
+          .setSince("4.4")
           .setDeprecatedSince("5.3")
           .setDeprecatedKey("old-severity")
           .setPossibleValues("INFO", "MAJOR", "BLOCKER");
@@ -288,6 +289,7 @@ public class WebServiceTest {
     assertThat(severityParam.key()).isEqualTo("severity");
     assertThat(severityParam.description()).isNull();
     assertThat(severityParam.deprecatedSince()).isEqualTo("5.3");
+    assertThat(severityParam.since()).isEqualTo("4.4");
     assertThat(severityParam.deprecatedKey()).isEqualTo("old-severity");
     assertThat(severityParam.defaultValue()).isEqualTo("MAJOR");
     assertThat(severityParam.possibleValues()).containsOnly("INFO", "MAJOR", "BLOCKER");