@CheckForNull private void validateParam(RuleParamDto ruleParam, @Nullable String value) { if (value != null) { RuleParamType ruleParamType = RuleParamType.parse(ruleParam.getType()); if (ruleParamType.multiple()) { List<String> values = newArrayList(Splitter.on(",").split(value)); typeValidations.validate(values, ruleParamType.type(), ruleParamType.values()); } else { typeValidations.validate(value, ruleParamType.type(), ruleParamType.values()); } } }
@Test public void testMultipleListOfValues() throws Exception { RuleParamType selectList = RuleParamType.parse("SINGLE_SELECT_LIST,values=\"foo,bar\",multiple=true"); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "bar"); assertThat(selectList.multiple()).isTrue(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,multiple=true,values=\"foo,bar,\""); RuleParamType.parse("SINGLE_SELECT_LIST,\"values=foo,bar\",\"multiple=true\""); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "bar"); assertThat(selectList.multiple()).isTrue(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,multiple=true,values=\"foo,bar,\""); // escape values selectList = RuleParamType.multipleListOfValues("foo", "one,two|three,four"); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "one,two|three,four"); assertThat(selectList.multiple()).isTrue(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,multiple=true,values=\"foo,\"\"one,two|three,four\"\",\""); }
@CheckForNull private String validateParam(RuleParamDto ruleParam, @Nullable String value) { if (value != null) { RuleParamType ruleParamType = RuleParamType.parse(ruleParam.getType()); if (ruleParamType.multiple()) { List<String> values = Splitter.on(",").splitToList(value); typeValidations.validate(values, ruleParamType.type(), ruleParamType.values()); } else { typeValidations.validate(value, ruleParamType.type(), ruleParamType.values()); } } return value; }
@CheckForNull private String validateParam(RuleParamDto ruleParam, String value) { RuleParamType ruleParamType = RuleParamType.parse(ruleParam.getType()); if (ruleParamType.multiple()) { List<String> values = newArrayList(Splitter.on(",").split(value)); typeValidations.validate(values, ruleParamType.type(), ruleParamType.values()); } else { typeValidations.validate(value, ruleParamType.type(), ruleParamType.values()); } return value; }
@Test public void testListOfValues() throws Exception { RuleParamType selectList = RuleParamType.parse("SINGLE_SELECT_LIST,values=\"foo,bar\","); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "bar"); assertThat(selectList.multiple()).isFalse(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,values=\"foo,bar,\""); RuleParamType.parse("SINGLE_SELECT_LIST,values=\"foo,bar\",multiple=false"); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "bar"); assertThat(selectList.multiple()).isFalse(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,values=\"foo,bar,\""); RuleParamType.parse("SINGLE_SELECT_LIST,\"values=foo,bar\",\"multiple=false\""); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "bar"); assertThat(selectList.multiple()).isFalse(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,values=\"foo,bar,\""); // escape values selectList = RuleParamType.singleListOfValues("foo", "one,two|three,four"); assertThat(selectList.type()).isEqualTo("SINGLE_SELECT_LIST"); assertThat(selectList.values()).containsOnly("foo", "one,two|three,four"); assertThat(selectList.multiple()).isFalse(); assertThat(selectList.toString()).isEqualTo("SINGLE_SELECT_LIST,values=\"foo,\"\"one,two|three,four\"\",\""); }
@CheckForNull private void validateParam(RuleParamDto ruleParam, @Nullable String value) { if (value != null) { RuleParamType ruleParamType = RuleParamType.parse(ruleParam.getType()); if (ruleParamType.multiple()) { List<String> values = newArrayList(Splitter.on(",").split(value)); typeValidations.validate(values, ruleParamType.type(), ruleParamType.values()); } else { typeValidations.validate(value, ruleParamType.type(), ruleParamType.values()); } } }
@CheckForNull private String validateParam(RuleParamDto ruleParam, String value) { RuleParamType ruleParamType = RuleParamType.parse(ruleParam.getType()); if (ruleParamType.multiple()) { List<String> values = newArrayList(Splitter.on(",").split(value)); typeValidations.validate(values, ruleParamType.type(), ruleParamType.values()); } else { typeValidations.validate(value, ruleParamType.type(), ruleParamType.values()); } return value; }
@CheckForNull private String validateParam(RuleParamDto ruleParam, @Nullable String value) { if (value != null) { RuleParamType ruleParamType = RuleParamType.parse(ruleParam.getType()); if (ruleParamType.multiple()) { List<String> values = Splitter.on(",").splitToList(value); typeValidations.validate(values, ruleParamType.type(), ruleParamType.values()); } else { typeValidations.validate(value, ruleParamType.type(), ruleParamType.values()); } } return value; }