summaryrefslogtreecommitdiffstats
path: root/sonar-ws
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2017-09-08 10:09:50 +0200
committerStas Vilchik <stas.vilchik@sonarsource.com>2017-09-11 11:28:29 +0200
commit0ec5f41e2973a1d277e55b44ec7d435dba1be95b (patch)
tree29bdbee2ca77e1034f75884245c66b0b9b14d116 /sonar-ws
parent3ac9340f013701017f8dbab5b0686d2682f1768f (diff)
downloadsonarqube-0ec5f41e2973a1d277e55b44ec7d435dba1be95b.tar.gz
sonarqube-0ec5f41e2973a1d277e55b44ec7d435dba1be95b.zip
SONAR-9181 WS bulk_apply_template accepts several qualifiers
Diffstat (limited to 'sonar-ws')
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/BaseService.java4
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/permission/BulkApplyTemplateWsRequest.java13
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/permission/PermissionsService.java3
-rw-r--r--sonar-ws/src/test/java/org/sonarqube/ws/client/permission/PermissionsServiceTest.java6
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();
}