diff options
author | Teryk Bellahsene <teryk.bellahsene@sonarsource.com> | 2017-09-08 10:09:50 +0200 |
---|---|---|
committer | Stas Vilchik <stas.vilchik@sonarsource.com> | 2017-09-11 11:28:29 +0200 |
commit | 0ec5f41e2973a1d277e55b44ec7d435dba1be95b (patch) | |
tree | 29bdbee2ca77e1034f75884245c66b0b9b14d116 /sonar-ws | |
parent | 3ac9340f013701017f8dbab5b0686d2682f1768f (diff) | |
download | sonarqube-0ec5f41e2973a1d277e55b44ec7d435dba1be95b.tar.gz sonarqube-0ec5f41e2973a1d277e55b44ec7d435dba1be95b.zip |
SONAR-9181 WS bulk_apply_template accepts several qualifiers
Diffstat (limited to 'sonar-ws')
4 files changed, 16 insertions, 10 deletions
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/BaseService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/BaseService.java index 9d5f9e9ce39..4c6a0e9449e 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/BaseService.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/BaseService.java @@ -22,7 +22,7 @@ package org.sonarqube.ws.client; import com.google.protobuf.Message; import com.google.protobuf.Parser; import java.io.InputStream; -import java.util.List; +import java.util.Collection; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.apache.commons.io.IOUtils; @@ -67,7 +67,7 @@ public abstract class BaseService { } @CheckForNull - protected static String inlineMultipleParamValue(@Nullable List<String> values) { + protected static String inlineMultipleParamValue(@Nullable Collection<String> values) { return values == null ? null : String.join(",", values); } } diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/BulkApplyTemplateWsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/BulkApplyTemplateWsRequest.java index 5fdc4d31623..77d7eff64b2 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/BulkApplyTemplateWsRequest.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/BulkApplyTemplateWsRequest.java @@ -19,15 +19,18 @@ */ package org.sonarqube.ws.client.permission; +import java.util.Collection; import javax.annotation.CheckForNull; import javax.annotation.Nullable; +import static java.util.Objects.requireNonNull; + public class BulkApplyTemplateWsRequest { private String templateId; private String organization; private String templateName; private String query; - private String qualifier; + private Collection<String> qualifiers; @CheckForNull public String getTemplateId() { @@ -70,12 +73,12 @@ public class BulkApplyTemplateWsRequest { } @CheckForNull - public String getQualifier() { - return qualifier; + public Collection<String> getQualifiers() { + return qualifiers; } - public BulkApplyTemplateWsRequest setQualifier(@Nullable String qualifier) { - this.qualifier = qualifier; + public BulkApplyTemplateWsRequest setQualifiers(Collection<String> qualifiers) { + this.qualifiers = requireNonNull(qualifiers); return this; } } diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/PermissionsService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/PermissionsService.java index 81cccb39e9f..97802e65da7 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/PermissionsService.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/permission/PermissionsService.java @@ -45,6 +45,7 @@ import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_Q import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_ID; import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_NAME; import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_USER_LOGIN; +import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_QUALIFIERS; public class PermissionsService extends BaseService { @@ -123,7 +124,7 @@ public class PermissionsService extends BaseService { .setParam(PARAM_TEMPLATE_ID, request.getTemplateId()) .setParam(PARAM_TEMPLATE_NAME, request.getTemplateName()) .setParam("q", request.getQuery()) - .setParam(PARAM_QUALIFIER, request.getQualifier())); + .setParam(PARAM_QUALIFIERS, inlineMultipleParamValue(request.getQualifiers()))); } public CreateTemplateWsResponse createTemplate(CreateTemplateWsRequest request) { diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/permission/PermissionsServiceTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/permission/PermissionsServiceTest.java index fd4dbf4ac27..b83868acfa5 100644 --- a/sonar-ws/src/test/java/org/sonarqube/ws/client/permission/PermissionsServiceTest.java +++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/permission/PermissionsServiceTest.java @@ -19,6 +19,7 @@ */ package org.sonarqube.ws.client.permission; +import java.util.Arrays; import org.junit.Rule; import org.junit.Test; import org.sonarqube.ws.WsPermissions; @@ -43,6 +44,7 @@ import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_Q import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_ID; import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_NAME; import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_USER_LOGIN; +import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_QUALIFIERS; public class PermissionsServiceTest { private static final String ORGANIZATION_VALUE = "organization value"; @@ -217,7 +219,7 @@ public class PermissionsServiceTest { .setOrganization(ORGANIZATION_VALUE) .setTemplateId(TEMPLATE_ID_VALUE) .setTemplateName(TEMPLATE_NAME_VALUE) - .setQualifier(QUALIFIER_VALUE) + .setQualifiers(Arrays.asList("TRK", "VW")) .setQuery(QUERY_VALUE)); assertThat(serviceTester.getPostParser()).isNull(); @@ -228,7 +230,7 @@ public class PermissionsServiceTest { .hasParam(PARAM_TEMPLATE_ID, TEMPLATE_ID_VALUE) .hasParam(PARAM_TEMPLATE_NAME, TEMPLATE_NAME_VALUE) .hasParam("q", QUERY_VALUE) - .hasParam(PARAM_QUALIFIER, QUALIFIER_VALUE) + .hasParam(PARAM_QUALIFIERS, "TRK,VW") .andNoOtherParam(); } |