aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2014-04-30 11:03:11 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2014-04-30 11:03:40 +0200
commit19328e79e721ab8710b3eade6924a66ea19eb4aa (patch)
tree1055dd82e2f452086bed604a33e714bbad3de1ef /sonar-plugin-api
parent226f1439d0f07a69ebe89f8d58e13b18b0a90d9e (diff)
downloadsonarqube-19328e79e721ab8710b3eade6924a66ea19eb4aa.tar.gz
sonarqube-19328e79e721ab8710b3eade6924a66ea19eb4aa.zip
Add org.sonar.api.server.ws.Request#paramAsStrings(String)
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java12
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java9
2 files changed, 21 insertions, 0 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java
index 73ab0a8b939..eacbb069512 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java
@@ -19,9 +19,12 @@
*/
package org.sonar.api.server.ws;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import javax.annotation.CheckForNull;
+import java.util.List;
/**
* @since 4.2
@@ -88,6 +91,15 @@ public abstract class Request {
}
@CheckForNull
+ public List<String> paramAsStrings(String key) {
+ String s = param(key);
+ if (s == null) {
+ return null;
+ }
+ return Lists.newArrayList(Splitter.on(',').omitEmptyStrings().trimResults().split(s));
+ }
+
+ @CheckForNull
public Integer paramAsInt(String key) {
String s = param(key);
return s == null ? null : Integer.parseInt(s);
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java
index 8003e7577ee..ef28b62c2c8 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java
@@ -129,4 +129,13 @@ public class RequestTest {
assertThat(request.setParam("foo", "true").paramAsBoolean("xxx", true)).isTrue();
assertThat(request.setParam("foo", "true").paramAsBoolean("xxx", false)).isFalse();
}
+
+ @Test
+ public void param_as_strings() throws Exception {
+ assertThat(request.paramAsStrings("foo")).isNull();
+ assertThat(request.setParam("foo", "").paramAsStrings("foo")).isEmpty();
+ assertThat(request.setParam("foo", "bar").paramAsStrings("foo")).containsExactly("bar");
+ assertThat(request.setParam("foo", "bar,baz").paramAsStrings("foo")).containsExactly("bar", "baz");
+ assertThat(request.setParam("foo", "bar , baz").paramAsStrings("foo")).containsExactly("bar", "baz");
+ }
}