aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Giffon <eric.giffon@sonarsource.com>2023-07-26 15:52:00 +0200
committersonartech <sonartech@sonarsource.com>2023-07-31 20:03:31 +0000
commit6cb1c5332fc28391af46f00252db894954d10dfd (patch)
tree01aa1dfc37fbb3b9518b79c83b7cd2b9c854fc67
parente0f8e15dbec318e77c26d24a75802c901e06e4e5 (diff)
downloadsonarqube-6cb1c5332fc28391af46f00252db894954d10dfd.tar.gz
sonarqube-6cb1c5332fc28391af46f00252db894954d10dfd.zip
SONAR-19233 Drop deprecated paging response fields
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualityprofile/ws/ChangelogActionIT.java10
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/rule/ws/SearchActionIT.java14
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/usergroups/ws/UsersActionIT.java9
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionComponentsIT/no_issue.json4
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/apply_paging_with_one_component.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/default_page_size_is_100.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/empty_result.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period_has_no_effect_on_prs.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope_2.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_test_scope.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/no_issue.json1
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/paging.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/result_for_rule_search.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/search_by_variants_with_facets.json3
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/qualityprofile/ws/ChangelogActionIT/changelog_example.json43
-rw-r--r--server/sonar-webserver-webapi/src/it/resources/org/sonar/server/rule/ws/SearchActionIT/paging.json3
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java9
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java18
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/SearchAction.java10
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java18
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/DefaultActiveRulesLoaderTest.java7
-rw-r--r--sonar-ws/src/main/protobuf/ws-issues.proto6
-rw-r--r--sonar-ws/src/main/protobuf/ws-rules.proto7
27 files changed, 37 insertions, 160 deletions
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualityprofile/ws/ChangelogActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualityprofile/ws/ChangelogActionIT.java
index 7d282d04319..d47b9957a4e 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualityprofile/ws/ChangelogActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/qualityprofile/ws/ChangelogActionIT.java
@@ -80,9 +80,6 @@ public class ChangelogActionIT {
.getInput();
assertJson(response).isSimilarTo("{\n" +
- " \"total\": 1,\n" +
- " \"p\": 1,\n" +
- " \"ps\": 50,\n" +
" \"paging\": {\n" +
" \"pageIndex\": 1,\n" +
" \"pageSize\": 50,\n" +
@@ -179,7 +176,7 @@ public class ChangelogActionIT {
.execute()
.getInput();
- assertJson(response).isSimilarTo("{\"total\":0,\"p\":1,\"ps\":50,\"paging\":{\"pageIndex\":1,\"pageSize\":50,\"total\":0},\"events\":[]}");
+ assertJson(response).isSimilarTo("{\"paging\":{\"pageIndex\":1,\"pageSize\":50,\"total\":0},\"events\":[]}");
}
@Test
@@ -347,13 +344,14 @@ public class ChangelogActionIT {
.setChangeType(ActiveRuleChange.Type.ACTIVATED.name())
.setData(ImmutableMap.of("severity", "MAJOR", "param_format", "^[A-Z][a-zA-Z0-9]*$", "ruleUuid", rule3.getUuid())));
- ws.newRequest()
+ String result = ws.newRequest()
.setMethod("GET")
.setParam(PARAM_LANGUAGE, profile.getLanguage())
.setParam(PARAM_QUALITY_PROFILE, profile.getName())
.setParam("ps", "10")
.execute()
- .assertJson(this.getClass(), "changelog_example.json");
+ .getInput();
+ assertJson(result).isSimilarTo(ws.getDef().responseExampleAsString());
}
@Test
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/rule/ws/SearchActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/rule/ws/SearchActionIT.java
index a99e9d26800..96ffd6534a7 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/rule/ws/SearchActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/rule/ws/SearchActionIT.java
@@ -163,8 +163,6 @@ public class SearchActionIT {
.setParam(WebService.Param.FIELDS, "actives")
.executeProtobuf(Rules.SearchResponse.class);
- assertThat(response.getTotal()).isZero();
- assertThat(response.getP()).isOne();
assertThat(response.getPaging().getTotal()).isZero();
assertThat(response.getPaging().getPageIndex()).isOne();
assertThat(response.getPaging().getPageSize()).isNotZero();
@@ -558,7 +556,6 @@ public class SearchActionIT {
SearchResponse result = ws.newRequest()
.setParam("f", "langName")
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -583,7 +580,6 @@ public class SearchActionIT {
SearchResponse result = ws.newRequest()
.setParam("f", "debtRemFn,remFnOverloaded,defaultDebtRemFn")
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -617,7 +613,6 @@ public class SearchActionIT {
SearchResponse result = ws.newRequest()
.setParam("f", "debtRemFn,remFnOverloaded,defaultDebtRemFn")
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -651,7 +646,6 @@ public class SearchActionIT {
SearchResponse result = ws.newRequest()
.setParam("f", "debtRemFn,remFnOverloaded,defaultDebtRemFn")
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -683,7 +677,6 @@ public class SearchActionIT {
.setParam("f", "isTemplate")
.setParam("is_template", "true")
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -707,7 +700,6 @@ public class SearchActionIT {
.setParam("f", "templateKey")
.setParam("template_key", templateRule.getRepositoryKey() + ":" + templateRule.getRuleKey())
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -725,7 +717,6 @@ public class SearchActionIT {
SearchResponse result = ws.newRequest().executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isZero();
assertThat(result.getPaging().getTotal()).isZero();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isZero();
@@ -744,7 +735,6 @@ public class SearchActionIT {
.setParam("q", rule.getName())
.setParam("activation", "true")
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -789,7 +779,6 @@ public class SearchActionIT {
.setParam("activation", "true")
.setParam("qprofile", profile.getKee())
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -846,7 +835,6 @@ public class SearchActionIT {
.setParam("qprofile", profile.getKee())
.executeProtobuf(SearchResponse.class);
- assertThat(result.getTotal()).isOne();
assertThat(result.getPaging().getTotal()).isOne();
assertThat(result.getPaging().getPageIndex()).isOne();
assertThat(result.getRulesCount()).isOne();
@@ -1060,14 +1048,12 @@ public class SearchActionIT {
requestPopulator.accept(request);
Rules.SearchResponse response = request.executeProtobuf(Rules.SearchResponse.class);
- assertThat(response.getP()).isOne();
assertThat(response.getPaging().getPageIndex()).isOne();
assertThat(response.getPaging().getPageSize()).isNotZero();
RuleKey[] expectedRuleKeys = stream(expectedRules).map(RuleDto::getKey).toList().toArray(new RuleKey[0]);
assertThat(response.getRulesList())
.extracting(r -> RuleKey.parse(r.getKey()))
.containsExactlyInAnyOrder(expectedRuleKeys);
- assertThat(response.getTotal()).isEqualTo(expectedRules.length);
assertThat(response.getPaging().getTotal()).isEqualTo(expectedRules.length);
assertThat(response.getRulesCount()).isEqualTo(expectedRules.length);
}
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/usergroups/ws/UsersActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/usergroups/ws/UsersActionIT.java
index 3888e144b20..c0aa16ed73a 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/usergroups/ws/UsersActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/usergroups/ws/UsersActionIT.java
@@ -71,6 +71,7 @@ public class UsersActionIT {
assertThat(wsDef.since()).isEqualTo("5.2");
assertThat(wsDef.isPost()).isFalse();
assertThat(wsDef.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
+ tuple("10.2", "Response fields 'total', 's', 'ps' dropped"),
tuple("10.0", "Field 'managed' added to the payload."),
tuple("10.0", "Parameter 'id' is removed. Use 'name' instead."),
tuple("9.8", "response fields 'total', 's', 'ps' have been deprecated, please use 'paging' object instead."),
@@ -115,8 +116,6 @@ public class UsersActionIT {
assertJson(result).isSimilarTo("""
{
- "p": 1,
- "total": 0,
"paging": {
"pageIndex": 1,
"pageSize": 25,
@@ -255,9 +254,6 @@ public class UsersActionIT {
.execute()
.getInput()).isSimilarTo("""
{
- "p": 1,
- "ps": 1,
- "total": 2,
"paging": {
"pageIndex": 1,
"pageSize": 1,
@@ -275,9 +271,6 @@ public class UsersActionIT {
.execute()
.getInput()).isSimilarTo("""
{
- "p": 2,
- "ps": 1,
- "total": 2,
"paging": {
"pageIndex": 2,
"pageSize": 1,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionComponentsIT/no_issue.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionComponentsIT/no_issue.json
index ce8bbfbeeb7..ba70d56c58a 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionComponentsIT/no_issue.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionComponentsIT/no_issue.json
@@ -1,4 +1,6 @@
{
- "total": 0,
+ "paging": {
+ "total": 0
+ },
"issues": []
}
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/apply_paging_with_one_component.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/apply_paging_with_one_component.json
index 2629aa292a6..8e6bb76d1fb 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/apply_paging_with_one_component.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/apply_paging_with_one_component.json
@@ -1,7 +1,4 @@
{
- "total": 501,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/default_page_size_is_100.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/default_page_size_is_100.json
index 13af5a2ede8..5aa53738e1c 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/default_page_size_is_100.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/default_page_size_is_100.json
@@ -1,7 +1,4 @@
{
- "total": 0,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/empty_result.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/empty_result.json
index acda7495d25..8b19589dc6a 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/empty_result.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/empty_result.json
@@ -1,7 +1,4 @@
{
- "total": 0,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period.json
index 65d8323fe65..9ecdda62fbf 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period.json
@@ -1,7 +1,4 @@
{
- "total": 1,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period_has_no_effect_on_prs.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period_has_no_effect_on_prs.json
index f54458ec29a..2fe198d8f3f 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period_has_no_effect_on_prs.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_leak_period_has_no_effect_on_prs.json
@@ -1,7 +1,4 @@
{
- "total": 2,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope.json
index 740f756f398..43ceaf9a40a 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope.json
@@ -1,7 +1,4 @@
{
- "total": 2,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope_2.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope_2.json
index b5945de7c84..7f6f8799555 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope_2.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_main_scope_2.json
@@ -1,7 +1,4 @@
{
- "total": 2,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_test_scope.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_test_scope.json
index e87cfca059d..139d8801972 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_test_scope.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/filter_by_test_scope.json
@@ -1,7 +1,4 @@
{
- "total": 1,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/no_issue.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/no_issue.json
index 5d7390f509e..b7fb469ac21 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/no_issue.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/no_issue.json
@@ -1,5 +1,4 @@
{
- "total": 0,
"issues": [],
"paging": {
"pageIndex": 1,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/paging.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/paging.json
index e9042aabbe7..f996885b3cd 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/paging.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/paging.json
@@ -1,7 +1,4 @@
{
- "total": 12,
- "p": 2,
- "ps": 9,
"paging": {
"pageIndex": 2,
"pageSize": 9,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/result_for_rule_search.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/result_for_rule_search.json
index 964d722b8de..39a61addd16 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/result_for_rule_search.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/result_for_rule_search.json
@@ -1,7 +1,4 @@
{
- "total": 1,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/search_by_variants_with_facets.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/search_by_variants_with_facets.json
index 3798206a378..057955f0368 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/search_by_variants_with_facets.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/issue/ws/SearchActionIT/search_by_variants_with_facets.json
@@ -1,7 +1,4 @@
{
- "total": 3,
- "p": 1,
- "ps": 100,
"paging": {
"pageIndex": 1,
"pageSize": 100,
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/qualityprofile/ws/ChangelogActionIT/changelog_example.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/qualityprofile/ws/ChangelogActionIT/changelog_example.json
deleted file mode 100644
index c40c1bb7f32..00000000000
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/qualityprofile/ws/ChangelogActionIT/changelog_example.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "total": 3,
- "ps": 10,
- "p": 1,
- "paging": {
- "pageSize": 10,
- "total": 3,
- "pageIndex": 1
- },
- "events": [
- {
- "date" : "2015-02-23T17:58:39+0100",
- "action" : "ACTIVATED",
- "authorLogin" : "anakin.skywalker",
- "authorName" : "Anakin Skywalker",
- "ruleKey" : "java:S2438",
- "ruleName" : "\"Threads\" should not be used where \"Runnables\" are expected",
- "params" : {
- "severity" : "CRITICAL"
- }
- },
- {
- "date" : "2015-02-23T17:58:18+0100",
- "action" : "DEACTIVATED",
- "authorLogin" : "padme.amidala",
- "authorName" : "Padme Amidala",
- "ruleKey" : "java:S2162",
- "ruleName" : "\"equals\" methods should be symmetric and work for subclasses"
- },
- {
- "action" : "ACTIVATED",
- "authorLogin" : "obiwan.kenobi",
- "authorName" : "Obiwan Kenobi",
- "ruleKey" : "java:S00101",
- "ruleName" : "Class names should comply with a naming convention",
- "date" : "2014-09-12T15:20:46+0200",
- "params" : {
- "severity" : "MAJOR",
- "format" : "^[A-Z][a-zA-Z0-9]*$"
- }
- }
- ]
-}
diff --git a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/rule/ws/SearchActionIT/paging.json b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/rule/ws/SearchActionIT/paging.json
index e9042aabbe7..f996885b3cd 100644
--- a/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/rule/ws/SearchActionIT/paging.json
+++ b/server/sonar-webserver-webapi/src/it/resources/org/sonar/server/rule/ws/SearchActionIT/paging.json
@@ -1,7 +1,4 @@
{
- "total": 12,
- "p": 2,
- "ps": 9,
"paging": {
"pageIndex": 2,
"pageSize": 9,
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java
index 674c74cca2e..e09c0347ba4 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java
@@ -194,6 +194,7 @@ public class SearchAction implements IssuesWsAction {
+ "<br/>When issue indexation is in progress returns 503 service unavailable HTTP code.")
.setSince("3.6")
.setChangelog(
+ new Change("10.2", "Response fields 'total', 's', 'ps' dropped"),
new Change("10.2", format("Parameter '%s' renamed to '%s'", PARAM_COMPONENT_KEYS, PARAM_COMPONENTS)),
new Change("10.1", "Add the 'codeVariants' parameter, facet and response field"),
new Change("10.0", "Parameter 'sansTop25' is deprecated"),
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java
index 3622343ea1b..1e769addf39 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java
@@ -101,7 +101,7 @@ public class SearchResponseFormat {
SearchWsResponse formatSearch(Set<SearchAdditionalField> fields, SearchResponseData data, Paging paging, Facets facets) {
SearchWsResponse.Builder response = SearchWsResponse.newBuilder();
- formatPaging(paging, response);
+ response.setPaging(formatPaging(paging));
ofNullable(data.getEffortTotal()).ifPresent(response::setEffortTotal);
response.addAllIssues(createIssues(fields, data));
response.addAllComponents(formatComponents(data));
@@ -142,13 +142,6 @@ public class SearchResponseFormat {
return response.build();
}
- private static void formatPaging(Paging paging, SearchWsResponse.Builder response) {
- response.setP(paging.pageIndex());
- response.setPs(paging.pageSize());
- response.setTotal(paging.total());
- response.setPaging(formatPaging(paging));
- }
-
private static Common.Paging.Builder formatPaging(Paging paging) {
return Common.Paging.newBuilder()
.setPageIndex(paging.pageIndex())
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java
index 57b3a8b902b..d04088c192b 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java
@@ -70,6 +70,7 @@ public class ChangelogAction implements QProfileWsAction {
.setDescription("Get the history of changes on a quality profile: rule activation/deactivation, change in parameters/severity. " +
"Events are ordered by date in descending order (most recent first).")
.setChangelog(
+ new org.sonar.api.server.ws.Change("10.2", "Response fields 'total', 's', 'ps' dropped"),
new org.sonar.api.server.ws.Change("9.8", "response fields 'total', 's', 'ps' have been deprecated, please use 'paging' object instead"),
new org.sonar.api.server.ws.Change("9.8", "The field 'paging' has been added to the response"))
.setHandler(this)
@@ -144,11 +145,6 @@ public class ChangelogAction implements QProfileWsAction {
Map<String, UserDto> usersByUuid, Map<String, RuleDto> rulesByRuleUuids) {
json.beginObject();
writePaging(json, total, page, pageSize);
- json.name("paging").beginObject()
- .prop("pageIndex", page)
- .prop("pageSize", pageSize)
- .prop("total", total)
- .endObject();
json.name("events").beginArray();
changelogs.forEach(change -> {
JsonWriter changeWriter = json.beginObject();
@@ -183,14 +179,12 @@ public class ChangelogAction implements QProfileWsAction {
json.endObject();
}
- /**
- * @deprecated since 9.8 - replaced by 'paging' object structure.
- */
- @Deprecated(since = "9.8")
private static void writePaging(JsonWriter json, int total, int page, int pageSize) {
- json.prop("total", total);
- json.prop(Param.PAGE, page);
- json.prop(Param.PAGE_SIZE, pageSize);
+ json.name("paging").beginObject()
+ .prop("pageIndex", page)
+ .prop("pageSize", pageSize)
+ .prop("total", total)
+ .endObject();
}
/**
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/SearchAction.java
index 8f52faa0822..2e406da2d2f 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/SearchAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/SearchAction.java
@@ -165,7 +165,8 @@ public class SearchAction implements RulesWsAction {
new Change("10.0", "The value 'debtRemFn' for the 'f' parameter has been deprecated, use 'remFn' instead"),
new Change("10.0", "The value 'defaultDebtRemFn' for the 'f' parameter has been deprecated, use 'defaultRemFn' instead"),
new Change("10.0", "The value 'sansTop25' for the parameter 'facets' has been deprecated"),
- new Change("10.0", "Parameter 'sansTop25' is deprecated")
+ new Change("10.0", "Parameter 'sansTop25' is deprecated"),
+ new Change("10.2", "Response fields 'total', 's', 'ps' dropped")
);
action.createParam(FACETS)
@@ -203,7 +204,7 @@ public class SearchAction implements RulesWsAction {
private SearchResponse buildResponse(DbSession dbSession, SearchRequest request, SearchOptions context, SearchResult result, RuleQuery query) {
SearchResponse.Builder responseBuilder = SearchResponse.newBuilder();
- writeStatistics(responseBuilder, result, context);
+ writePaging(responseBuilder, result, context);
doContextResponse(dbSession, request, result, responseBuilder, query);
if (!context.getFacets().isEmpty()) {
writeFacets(responseBuilder, request, context, result);
@@ -211,10 +212,7 @@ public class SearchAction implements RulesWsAction {
return responseBuilder.build();
}
- private static void writeStatistics(SearchResponse.Builder response, SearchResult searchResult, SearchOptions context) {
- response.setTotal(searchResult.total);
- response.setP(context.getPage());
- response.setPs(context.getLimit());
+ private static void writePaging(SearchResponse.Builder response, SearchResult searchResult, SearchOptions context) {
response.setPaging(formatPaging(searchResult.total, context.getPage(), context.getLimit()));
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java
index 01fc9477cfd..b08e76f2596 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java
@@ -76,6 +76,7 @@ public class UsersAction implements UserGroupsWsAction {
.addSearchQuery("freddy", "names", "logins")
.addPagingParams(25)
.setChangelog(
+ new Change("10.2", "Response fields 'total', 's', 'ps' dropped"),
new Change("10.0", "Field 'managed' added to the payload."),
new Change("10.0", "Parameter 'id' is removed. Use 'name' instead."),
new Change("9.8", "response fields 'total', 's', 'ps' have been deprecated, please use 'paging' object instead."),
@@ -111,11 +112,6 @@ public class UsersAction implements UserGroupsWsAction {
json.beginObject();
writeMembers(json, users, userUuidToIsManaged);
writePaging(json, paging);
- json.name("paging").beginObject()
- .prop("pageIndex", page)
- .prop("pageSize", pageSize)
- .prop("total", total)
- .endObject();
json.endObject();
}
}
@@ -138,14 +134,12 @@ public class UsersAction implements UserGroupsWsAction {
json.endArray();
}
- /**
- * @deprecated since 9.8 - replaced by 'paging' object structure.
- */
- @Deprecated(since = "9.8")
private static void writePaging(JsonWriter json, Paging paging) {
- json.prop(Param.PAGE, paging.pageIndex())
- .prop(Param.PAGE_SIZE, paging.pageSize())
- .prop("total", paging.total());
+ json.name("paging").beginObject()
+ .prop("pageIndex", paging.pageIndex())
+ .prop("pageSize", paging.pageSize())
+ .prop("total", paging.total())
+ .endObject();
}
private static String getMembership(String selected) {
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
index 5768377de8e..6c1766f54e3 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
@@ -63,9 +63,9 @@ public class DefaultActiveRulesLoader implements ActiveRulesLoader {
SearchResponse response = loadFromStream(wsClient.call(getRequest).contentStream());
List<LoadedActiveRule> pageRules = readPage(response);
ruleList.addAll(pageRules);
- loaded += response.getPs();
+ loaded += response.getPaging().getPageSize();
- if (response.getTotal() <= loaded) {
+ if (response.getPaging().getTotal() <= loaded) {
break;
}
page++;
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/DefaultActiveRulesLoaderTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/DefaultActiveRulesLoaderTest.java
index 60b19337d23..059a0efbe8d 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/DefaultActiveRulesLoaderTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/rule/DefaultActiveRulesLoaderTest.java
@@ -33,6 +33,7 @@ import org.sonar.api.utils.MessageException;
import org.sonar.scanner.WsTestUtil;
import org.sonar.scanner.bootstrap.DefaultScannerWsClient;
import org.sonar.scanner.scan.branch.BranchConfiguration;
+import org.sonarqube.ws.Common;
import org.sonarqube.ws.Rules;
import org.sonarqube.ws.Rules.Active;
import org.sonarqube.ws.Rules.ActiveList;
@@ -137,8 +138,7 @@ public class DefaultActiveRulesLoaderTest {
});
rules.setActives(actives);
- rules.setPs(numberOfRules);
- rules.setTotal(total);
+ rules.setPaging(Common.Paging.newBuilder().setPageSize(numberOfRules).setTotal(total));
return new ByteArrayInputStream(rules.build().toByteArray());
}
@@ -156,8 +156,7 @@ public class DefaultActiveRulesLoaderTest {
});
rules.setActives(actives);
- rules.setPs(3);
- rules.setTotal(3);
+ rules.setPaging(Common.Paging.newBuilder().setPageSize(3).setTotal(3));
return new ByteArrayInputStream(rules.build().toByteArray());
}
}
diff --git a/sonar-ws/src/main/protobuf/ws-issues.proto b/sonar-ws/src/main/protobuf/ws-issues.proto
index d545fe7e75d..aa88ec34083 100644
--- a/sonar-ws/src/main/protobuf/ws-issues.proto
+++ b/sonar-ws/src/main/protobuf/ws-issues.proto
@@ -29,9 +29,9 @@ option optimize_for = SPEED;
// Response of GET api/issues/search
message SearchWsResponse {
reserved 5;
- optional int64 total = 1 [deprecated=true];
- optional int64 p = 2 [deprecated=true];
- optional int32 ps = 3 [deprecated=true];
+ reserved 1;
+ reserved 2;
+ reserved 3;
optional sonarqube.ws.commons.Paging paging = 4;
// Total amount of effort, only when the facet "total" is enabled
diff --git a/sonar-ws/src/main/protobuf/ws-rules.proto b/sonar-ws/src/main/protobuf/ws-rules.proto
index e1e242b8b81..2e68e4c0766 100644
--- a/sonar-ws/src/main/protobuf/ws-rules.proto
+++ b/sonar-ws/src/main/protobuf/ws-rules.proto
@@ -41,10 +41,9 @@ message ListResponse {
// WS api/rules/search
message SearchResponse {
- optional int64 total = 1 [deprecated=true];
- optional int32 p = 2 [deprecated=true];
- optional int64 ps = 3 [deprecated=true];
-
+ reserved 1;
+ reserved 2;
+ reserved 3;
repeated Rule rules = 4;
optional Actives actives = 5;
optional QProfiles qProfiles = 6;