*/
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
return StringUtils.defaultString(param(key), defaultValue);
}
+ @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);
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");
+ }
}