From a4c09cbd1b3f3dc1e1306835d917bfa366a515a0 Mon Sep 17 00:00:00 2001 From: Duarte Meneses Date: Wed, 26 Apr 2023 10:57:21 -0500 Subject: [PATCH] Revert "SONAR-19050 /api/issues/search now always return all possible values for characteristics facet" This reverts commit 90475b2df0b5d401af75fd6dce9aac5567a1379b. --- .../sonar/server/issue/index/IssueQueryFactory.java | 4 ---- .../java/org/sonar/server/issue/ws/SearchActionIT.java | 10 ---------- .../java/org/sonar/server/issue/ws/SearchAction.java | 5 ++--- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueQueryFactory.java b/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueQueryFactory.java index 01e8b443aa7..af8fbd813a5 100644 --- a/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueQueryFactory.java +++ b/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueQueryFactory.java @@ -42,7 +42,6 @@ import java.util.stream.Collectors; import javax.annotation.Nullable; import org.apache.commons.lang.BooleanUtils; import org.jetbrains.annotations.NotNull; -import org.sonar.api.code.CodeCharacteristic; import org.sonar.api.resources.Qualifiers; import org.sonar.api.rule.RuleKey; import org.sonar.api.rules.RuleType; @@ -98,9 +97,6 @@ public class IssueQueryFactory { .filter(s -> !s.equals(STATUS_TO_REVIEW)) .filter(s -> !s.equals(STATUS_REVIEWED)) .collect(ImmutableList.toImmutableList()); - public static final Set CHARACTERISTICS = Arrays.stream(CodeCharacteristic.values()) - .map(Enum::name) - .collect(Collectors.toSet()); public static final Set ISSUE_TYPE_NAMES = Arrays.stream(RuleType.values()) .filter(t -> t != RuleType.SECURITY_HOTSPOT) .map(Enum::name) diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/issue/ws/SearchActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/issue/ws/SearchActionIT.java index a30884ef4a5..219c87abaef 100644 --- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/issue/ws/SearchActionIT.java +++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/issue/ws/SearchActionIT.java @@ -517,16 +517,6 @@ public class SearchActionIT { assertThat(issuesList.stream().filter(f -> f.getCharacteristic() == Common.RuleCharacteristic.ROBUST)).hasSize(1); } - @Test - public void handle_whenCharacteristicsFacetAsked_shouldAlwaysReturnCompleteListOfCharacteristics() { - SearchWsResponse searchWsResponse = ws.newRequest() - .setParam(FACETS, "characteristics") - .executeProtobuf(SearchWsResponse.class); - - assertThat(searchWsResponse.getFacets().getFacetsCount()).isEqualTo(1); - assertThat(searchWsResponse.getFacets().getFacets(0).getValuesCount()).isEqualTo(CodeCharacteristic.values().length); - } - @Test public void search_by_characteristic_when_characteristic_set() { RuleDto rule1 = newIssueRule(XOO_X1, r -> r.setCharacteristic(CodeCharacteristic.PORTABLE)); 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 59be61911e5..6d19ee80964 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 @@ -80,7 +80,6 @@ import static org.sonar.core.util.stream.MoreCollectors.toSet; import static org.sonar.server.es.SearchOptions.MAX_PAGE_SIZE; import static org.sonar.server.issue.index.IssueIndex.FACET_ASSIGNED_TO_ME; import static org.sonar.server.issue.index.IssueIndex.FACET_PROJECTS; -import static org.sonar.server.issue.index.IssueQueryFactory.CHARACTERISTICS; import static org.sonar.server.issue.index.IssueQueryFactory.ISSUE_STATUSES; import static org.sonar.server.issue.index.IssueQueryFactory.UNKNOWN; import static org.sonar.server.security.SecurityStandards.SANS_TOP_25_INSECURE_INTERACTION; @@ -284,7 +283,7 @@ public class SearchAction implements IssuesWsAction { action.createParam(PARAM_CHARACTERISTICS) .setDescription("Comma-separated list of characteristics.") .setSince("10.1") - .setPossibleValues(CHARACTERISTICS) + .setPossibleValues(Arrays.stream(CodeCharacteristic.values()).map(Enum::name).toList()) .setExampleValue(format(COMMA_SEPERATED_PARAMS_FORMAT, CodeCharacteristic.CLEAR, CodeCharacteristic.COMPLIANT)); action.createParam(PARAM_OWASP_ASVS_LEVEL) .setDescription("Level of OWASP ASVS categories.") @@ -500,7 +499,7 @@ public class SearchAction implements IssuesWsAction { addMandatoryValuesToFacet(facets, PARAM_SCOPES, ISSUE_SCOPES); addMandatoryValuesToFacet(facets, PARAM_LANGUAGES, request.getLanguages()); addMandatoryValuesToFacet(facets, PARAM_TAGS, request.getTags()); - addMandatoryValuesToFacet(facets, PARAM_CHARACTERISTICS, CHARACTERISTICS); + addMandatoryValuesToFacet(facets, PARAM_CHARACTERISTICS, request.getCharacteristics()); setTypesFacet(facets); -- 2.39.5