From 6052a6541e265922df07d6ec7fc4174fa730eef5 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Wed, 7 May 2014 16:49:18 +0200 Subject: [PATCH] SONAR-5111 Add some missing description and since parameters --- .../server/component/ws/ResourcesWs.java | 1 + .../server/issue/actionplan/ActionPlanWs.java | 2 +- .../server/issue/filter/IssueFilterWs.java | 2 +- .../server/measure/ws/TimeMachineWs.java | 1 + .../sonar/server/platform/ws/ServerWs.java | 1 + .../sonar/server/platform/ws/SystemWs.java | 1 + .../org/sonar/server/plugins/BatchWs.java | 4 +++- .../qualityprofile/ws/ActivateRuleAction.java | 21 ++++++++++++++----- .../server/qualityprofile/ws/ProfilesWs.java | 2 +- .../org/sonar/server/rule/ws/RuleTagsWs.java | 6 ++++-- .../org/sonar/server/source/ws/SourcesWs.java | 4 +++- .../updatecenter/ws/UpdateCenterWs.java | 1 + .../java/org/sonar/server/ws/ListingWs.java | 14 +++++++++++-- .../server/component/ws/ResourcesWsTest.java | 2 +- .../server/measure/ws/TimeMachineWsTest.java | 2 +- .../server/platform/ws/ServerWsTest.java | 2 +- .../server/platform/ws/SystemWsTest.java | 2 ++ .../sonar/server/rule/ws/RuleTagsWsTest.java | 3 ++- .../sonar/server/source/ws/SourcesWsTest.java | 3 ++- .../updatecenter/ws/UpdateCenterWsTest.java | 2 +- .../org/sonar/server/ws/ListingWsTest.java | 1 + .../sonar/server/ws/ListingWsTest/list.json | 12 +++++++++-- .../list_including_internals.json | 12 +++++++++-- 23 files changed, 77 insertions(+), 24 deletions(-) diff --git a/sonar-server/src/main/java/org/sonar/server/component/ws/ResourcesWs.java b/sonar-server/src/main/java/org/sonar/server/component/ws/ResourcesWs.java index eeeac66e9de..e7c2552b865 100644 --- a/sonar-server/src/main/java/org/sonar/server/component/ws/ResourcesWs.java +++ b/sonar-server/src/main/java/org/sonar/server/component/ws/ResourcesWs.java @@ -29,6 +29,7 @@ public class ResourcesWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/resources") + .setDescription("Former components web service") .setSince("2.10"); defineSystemAction(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanWs.java b/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanWs.java index 8842cbc17a0..e8cd57aeac4 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanWs.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanWs.java @@ -29,7 +29,7 @@ public class ActionPlanWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/action_plans"); - controller.setDescription("Action plans"); + controller.setDescription("Action plans management"); WebService.NewAction search = controller.createAction("search") .setDescription("Get a list of action plans. Requires Browse permission on project") diff --git a/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWs.java b/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWs.java index aba50b9c285..e9569badf4b 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWs.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWs.java @@ -37,7 +37,7 @@ public class IssueFilterWs implements WebService { public void define(Context context) { NewController controller = context.createController("api/issue_filters") .setSince("4.2") - .setDescription("Issue Filters"); + .setDescription("Issue Filters management"); appAction.define(controller); showAction.define(controller); favoritesAction.define(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/measure/ws/TimeMachineWs.java b/sonar-server/src/main/java/org/sonar/server/measure/ws/TimeMachineWs.java index 990ac5b7f2e..153ad047268 100644 --- a/sonar-server/src/main/java/org/sonar/server/measure/ws/TimeMachineWs.java +++ b/sonar-server/src/main/java/org/sonar/server/measure/ws/TimeMachineWs.java @@ -29,6 +29,7 @@ public class TimeMachineWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/timemachine") + .setDescription("Get a list of past measures") .setSince("2.10"); defineSystemAction(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/platform/ws/ServerWs.java b/sonar-server/src/main/java/org/sonar/server/platform/ws/ServerWs.java index c95fd3c415b..7a51f554748 100644 --- a/sonar-server/src/main/java/org/sonar/server/platform/ws/ServerWs.java +++ b/sonar-server/src/main/java/org/sonar/server/platform/ws/ServerWs.java @@ -29,6 +29,7 @@ public class ServerWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/server") + .setDescription("Get system properties and upgrade db") .setSince("2.10"); defineSystemAction(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/platform/ws/SystemWs.java b/sonar-server/src/main/java/org/sonar/server/platform/ws/SystemWs.java index 282eb8b840f..3ed0f57e605 100644 --- a/sonar-server/src/main/java/org/sonar/server/platform/ws/SystemWs.java +++ b/sonar-server/src/main/java/org/sonar/server/platform/ws/SystemWs.java @@ -32,6 +32,7 @@ public class SystemWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/system") + .setDescription("Restart server") .setSince("4.3"); restartHandler.define(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/plugins/BatchWs.java b/sonar-server/src/main/java/org/sonar/server/plugins/BatchWs.java index 228c36581fa..a2d5b2cb334 100644 --- a/sonar-server/src/main/java/org/sonar/server/plugins/BatchWs.java +++ b/sonar-server/src/main/java/org/sonar/server/plugins/BatchWs.java @@ -73,7 +73,9 @@ public class BatchWs implements WebService, Startable { @Override public void define(Context context) { - NewController controller = context.createController("batch"); + NewController controller = context.createController("batch") + .setSince("4.4") + .setDescription("Get JAR files for batch"); controller.createAction("index") .setInternal(true) .setDescription("List the JAR files to be downloaded by source analyzer") diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java index 445609287b3..a621f400f24 100644 --- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java +++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java @@ -37,26 +37,37 @@ public class ActivateRuleAction implements RequestHandler { void define(WebService.NewController controller) { WebService.NewAction action = controller .createAction("activate_rule") + .setDescription("Activate a rule on a Quality profile") .setHandler(this) .setPost(true) .setSince("4.4"); action.createParam("profile_lang") - .setRequired(true); + .setDescription("Profile language") + .setRequired(true) + .setExampleValue("java"); action.createParam("profile_name") - .setRequired(true); + .setDescription("Profile name") + .setRequired(true) + .setExampleValue("My profile"); action.createParam("rule_repo") - .setRequired(true); + .setDescription("Rule repository") + .setRequired(true) + .setExampleValue("squid"); action.createParam("rule_key") - .setRequired(true); + .setDescription("Rule key") + .setRequired(true) + .setExampleValue("AvoidCycles"); action.createParam("severity") + .setDescription("Severity") .setPossibleValues(Severity.ALL); - action.createParam("params"); + action.createParam("params") + .setDescription("Parameters"); } @Override diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProfilesWs.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProfilesWs.java index 2446cc7203a..2b34d05453f 100644 --- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProfilesWs.java +++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProfilesWs.java @@ -32,7 +32,7 @@ public class ProfilesWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/profiles") - .setDescription("Quality profiles management (implemented in Rails)"); + .setDescription("Former quality profiles web service"); defineListAction(controller); defineBackupAction(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/rule/ws/RuleTagsWs.java b/sonar-server/src/main/java/org/sonar/server/rule/ws/RuleTagsWs.java index 5dbcef623ab..69801e05e43 100644 --- a/sonar-server/src/main/java/org/sonar/server/rule/ws/RuleTagsWs.java +++ b/sonar-server/src/main/java/org/sonar/server/rule/ws/RuleTagsWs.java @@ -38,7 +38,7 @@ public class RuleTagsWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/rule_tags") - .setDescription("Rule tags"); + .setDescription("Rule tags management"); controller.createAction("list") .setDescription("List all available rule tags") @@ -60,7 +60,9 @@ public class RuleTagsWs implements WebService { create(request, response); } }) - .createParam("tag").setDescription("Value of the new rule tag"); + .createParam("tag") + .setDescription("Value of the new rule tag") + .setExampleValue("java8"); controller.done(); } diff --git a/sonar-server/src/main/java/org/sonar/server/source/ws/SourcesWs.java b/sonar-server/src/main/java/org/sonar/server/source/ws/SourcesWs.java index d04d656fe11..b0ad99bcc66 100644 --- a/sonar-server/src/main/java/org/sonar/server/source/ws/SourcesWs.java +++ b/sonar-server/src/main/java/org/sonar/server/source/ws/SourcesWs.java @@ -34,7 +34,9 @@ public class SourcesWs implements WebService { @Override public void define(Context context) { - NewController controller = context.createController("api/sources"); + NewController controller = context.createController("api/sources") + .setSince("4.2") + .setDescription("Display sources information"); showAction.define(controller); scmAction.define(controller); controller.done(); diff --git a/sonar-server/src/main/java/org/sonar/server/updatecenter/ws/UpdateCenterWs.java b/sonar-server/src/main/java/org/sonar/server/updatecenter/ws/UpdateCenterWs.java index 5f568b8e2ef..b777f6a73cb 100644 --- a/sonar-server/src/main/java/org/sonar/server/updatecenter/ws/UpdateCenterWs.java +++ b/sonar-server/src/main/java/org/sonar/server/updatecenter/ws/UpdateCenterWs.java @@ -29,6 +29,7 @@ public class UpdateCenterWs implements WebService { @Override public void define(Context context) { NewController controller = context.createController("api/updatecenter") + .setDescription("Get list of installed plugins") .setSince("2.10"); defineInstalledPluginsAction(controller); diff --git a/sonar-server/src/main/java/org/sonar/server/ws/ListingWs.java b/sonar-server/src/main/java/org/sonar/server/ws/ListingWs.java index 81891d59079..6cafb46670b 100644 --- a/sonar-server/src/main/java/org/sonar/server/ws/ListingWs.java +++ b/sonar-server/src/main/java/org/sonar/server/ws/ListingWs.java @@ -42,6 +42,7 @@ public class ListingWs implements WebService { public void define(final Context context) { NewController controller = context .createController("api/webservices") + .setSince("4.2") .setDescription("List web services"); defineList(context, controller); defineResponseExample(context, controller); @@ -52,6 +53,7 @@ public class ListingWs implements WebService { NewAction action = controller .createAction("list") .setSince("4.2") + .setDescription("List web services") .setHandler(new RequestHandler() { @Override public void handle(Request request, Response response) { @@ -69,6 +71,8 @@ public class ListingWs implements WebService { private void defineResponseExample(final Context context, NewController controller) { NewAction action = controller .createAction("response_example") + .setDescription("Display web service response example") + .setSince("4.4") .setHandler(new RequestHandler() { @Override public void handle(Request request, Response response) throws Exception { @@ -77,8 +81,14 @@ public class ListingWs implements WebService { handleResponseExample(action, response); } }); - action.createParam("controller").setRequired(true); - action.createParam("action").setRequired(true); + action.createParam("controller") + .setRequired(true) + .setDescription("Controller of the web service") + .setExampleValue("api/issues"); + action.createParam("action") + .setRequired(true) + .setDescription("Action of the web service") + .setExampleValue("search"); } private void handleResponseExample(Action action, Response response) throws IOException { diff --git a/sonar-server/src/test/java/org/sonar/server/component/ws/ResourcesWsTest.java b/sonar-server/src/test/java/org/sonar/server/component/ws/ResourcesWsTest.java index 8609d26d1d5..71eb9571db3 100644 --- a/sonar-server/src/test/java/org/sonar/server/component/ws/ResourcesWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/component/ws/ResourcesWsTest.java @@ -42,7 +42,7 @@ public class ResourcesWsTest { public void define_controller() throws Exception { assertThat(controller).isNotNull(); assertThat(controller.since()).isEqualTo("2.10"); - assertThat(controller.description()).isNull(); + assertThat(controller.description()).isNotEmpty(); assertThat(controller.actions()).hasSize(2); } diff --git a/sonar-server/src/test/java/org/sonar/server/measure/ws/TimeMachineWsTest.java b/sonar-server/src/test/java/org/sonar/server/measure/ws/TimeMachineWsTest.java index 74766ad2a2c..2b8b1df091d 100644 --- a/sonar-server/src/test/java/org/sonar/server/measure/ws/TimeMachineWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/measure/ws/TimeMachineWsTest.java @@ -42,7 +42,7 @@ public class TimeMachineWsTest { public void define_controller() throws Exception { assertThat(controller).isNotNull(); assertThat(controller.since()).isEqualTo("2.10"); - assertThat(controller.description()).isNull(); + assertThat(controller.description()).isNotEmpty(); assertThat(controller.actions()).hasSize(1); } diff --git a/sonar-server/src/test/java/org/sonar/server/platform/ws/ServerWsTest.java b/sonar-server/src/test/java/org/sonar/server/platform/ws/ServerWsTest.java index 02646e63d2e..6042f2aed65 100644 --- a/sonar-server/src/test/java/org/sonar/server/platform/ws/ServerWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/platform/ws/ServerWsTest.java @@ -42,7 +42,7 @@ public class ServerWsTest { WebService.Controller controller = tester.controller("api/server"); assertThat(controller).isNotNull(); assertThat(controller.since()).isEqualTo("2.10"); - assertThat(controller.description()).isNull(); + assertThat(controller.description()).isNotEmpty(); assertThat(controller.actions()).hasSize(2); } diff --git a/sonar-server/src/test/java/org/sonar/server/platform/ws/SystemWsTest.java b/sonar-server/src/test/java/org/sonar/server/platform/ws/SystemWsTest.java index dd7b6e0c712..8c4ad647520 100644 --- a/sonar-server/src/test/java/org/sonar/server/platform/ws/SystemWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/platform/ws/SystemWsTest.java @@ -42,6 +42,8 @@ public class SystemWsTest { assertThat(context.controllers()).hasSize(1); assertThat(context.controller("api/system")).isNotNull(); + assertThat(context.controller("api/system").description()).isNotEmpty(); + assertThat(context.controller("api/system").since()).isEqualTo("4.3"); assertThat(context.controller("api/system").actions()).isNotEmpty(); } } diff --git a/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleTagsWsTest.java b/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleTagsWsTest.java index c94545c841d..2981115d70c 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleTagsWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleTagsWsTest.java @@ -26,9 +26,9 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.sonar.api.server.ws.WebService; -import org.sonar.server.ws.WsTester; import org.sonar.core.rule.RuleTagDto; import org.sonar.server.rule.RuleTags; +import org.sonar.server.ws.WsTester; import static org.fest.assertions.Assertions.assertThat; import static org.fest.assertions.Fail.fail; @@ -53,6 +53,7 @@ public class RuleTagsWsTest { assertThat(controller).isNotNull(); assertThat(controller.path()).isEqualTo("api/rule_tags"); assertThat(controller.description()).isNotEmpty(); + assertThat(controller.actions()).hasSize(2); WebService.Action search = controller.action("list"); assertThat(search).isNotNull(); diff --git a/sonar-server/src/test/java/org/sonar/server/source/ws/SourcesWsTest.java b/sonar-server/src/test/java/org/sonar/server/source/ws/SourcesWsTest.java index 1a480af5e23..32c78261dfd 100644 --- a/sonar-server/src/test/java/org/sonar/server/source/ws/SourcesWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/source/ws/SourcesWsTest.java @@ -38,7 +38,8 @@ public class SourcesWsTest { public void define_ws() throws Exception { WebService.Controller controller = tester.controller("api/sources"); assertThat(controller).isNotNull(); - assertThat(controller.description()).isNull(); + assertThat(controller.since()).isEqualTo("4.2"); + assertThat(controller.description()).isNotEmpty(); WebService.Action show = controller.action("show"); assertThat(show).isNotNull(); diff --git a/sonar-server/src/test/java/org/sonar/server/updatecenter/ws/UpdateCenterWsTest.java b/sonar-server/src/test/java/org/sonar/server/updatecenter/ws/UpdateCenterWsTest.java index cf10851be77..ad6dd204ca7 100644 --- a/sonar-server/src/test/java/org/sonar/server/updatecenter/ws/UpdateCenterWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/updatecenter/ws/UpdateCenterWsTest.java @@ -42,7 +42,7 @@ public class UpdateCenterWsTest { WebService.Controller controller = tester.controller("api/updatecenter"); assertThat(controller).isNotNull(); assertThat(controller.since()).isEqualTo("2.10"); - assertThat(controller.description()).isNull(); + assertThat(controller.description()).isNotEmpty(); assertThat(controller.actions()).hasSize(1); } diff --git a/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java b/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java index e21904299d3..9df9a5f1772 100644 --- a/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java @@ -38,6 +38,7 @@ public class ListingWsTest { WebService.Controller controller = tester.controller("api/webservices"); assertThat(controller).isNotNull(); assertThat(controller.path()).isEqualTo("api/webservices"); + assertThat(controller.since()).isEqualTo("4.2"); assertThat(controller.description()).isNotEmpty(); assertThat(controller.actions()).hasSize(2); diff --git a/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list.json b/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list.json index ce70fc276c6..57e04225bd0 100644 --- a/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list.json +++ b/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list.json @@ -38,10 +38,12 @@ { "path": "api/webservices", "description": "List web services", + "since": "4.2", "actions": [ { "key": "list", "since": "4.2", + "description": "List web services", "internal": false, "post": false, "hasResponseExample": false, @@ -57,17 +59,23 @@ }, { "key": "response_example", + "since": "4.4", + "description": "Display web service response example", "internal": false, "post": false, "hasResponseExample": false, "params": [ { "key": "action", - "required": true + "required": true, + "description": "Action of the web service", + "exampleValue": "search" }, { "key": "controller", - "required": true + "required": true, + "description": "Controller of the web service", + "exampleValue": "api/issues" } ] } diff --git a/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list_including_internals.json b/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list_including_internals.json index 82631afb3b4..97fa53f6b5b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list_including_internals.json +++ b/sonar-server/src/test/resources/org/sonar/server/ws/ListingWsTest/list_including_internals.json @@ -45,10 +45,12 @@ { "path": "api/webservices", "description": "List web services", + "since": "4.2", "actions": [ { "key": "list", "since": "4.2", + "description": "List web services", "internal": false, "post": false, "hasResponseExample": false, @@ -64,17 +66,23 @@ }, { "key": "response_example", + "since": "4.4", + "description": "Display web service response example", "internal": false, "post": false, "hasResponseExample": false, "params": [ { "key": "action", - "required": true + "required": true, + "description": "Action of the web service", + "exampleValue": "search" }, { "key": "controller", - "required": true + "required": true, + "description": "Controller of the web service", + "exampleValue": "api/issues" } ] } -- 2.39.5