diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2014-04-30 11:03:11 +0200 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2014-04-30 11:03:40 +0200 |
commit | 19328e79e721ab8710b3eade6924a66ea19eb4aa (patch) | |
tree | 1055dd82e2f452086bed604a33e714bbad3de1ef /sonar-plugin-api | |
parent | 226f1439d0f07a69ebe89f8d58e13b18b0a90d9e (diff) | |
download | sonarqube-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.java | 12 | ||||
-rw-r--r-- | sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java | 9 |
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"); + } } |