@Override public void apply(Parameters parameters) { parameters.add(this.name, this.value); }
private Parameters extractParameters(FilterableRequestSpecification requestSpec) { Parameters parameters = new Parameters(); for (Entry<String, ?> entry : requestSpec.getQueryParams().entrySet()) { if (entry.getValue() instanceof Collection) { Collection<?> queryParams = ((Collection<?>) entry.getValue()); for (Object queryParam : queryParams) { parameters.add(entry.getKey(), queryParam.toString()); } } else { parameters.add(entry.getKey(), entry.getValue().toString()); } } for (Entry<String, ?> entry : requestSpec.getRequestParams().entrySet()) { parameters.add(entry.getKey(), entry.getValue().toString()); } for (Entry<String, ?> entry : requestSpec.getFormParams().entrySet()) { parameters.add(entry.getKey(), entry.getValue().toString()); } return parameters; }
private void addIfUnique(Map.Entry<String, List<String>> parameter, Parameters queryStringParameters, Parameters uniqueParameters) { if (!queryStringParameters.containsKey(parameter.getKey())) { uniqueParameters.put(parameter.getKey(), parameter.getValue()); } else { List<String> candidates = parameter.getValue(); List<String> existing = queryStringParameters.get(parameter.getKey()); for (String candidate : candidates) { if (!existing.contains(candidate)) { uniqueParameters.add(parameter.getKey(), candidate); } } } }
public OperationRequestBuilder param(String name, String... values) { if (values.length > 0) { for (String value : values) { this.parameters.add(name, value); } } else { this.parameters.put(name, Collections.<String>emptyList()); } return this; }
private void processParameter(String parameter, Parameters parameters) { String[] components = parameter.split("="); if (components.length > 0 && components.length < 3) { if (components.length == 2) { String name = components[0]; String value = components[1]; parameters.add(decode(name), decode(value)); } else { List<String> values = parameters.get(components[0]); if (values == null) { parameters.put(components[0], new LinkedList<String>()); } } } else { throw new IllegalArgumentException( "The parameter '" + parameter + "' is malformed"); } }
@Test public void queryStringForParameterWithNullValue() { this.parameters.add("a", null); assertThat(this.parameters.toQueryString()).isEqualTo("a="); }
private Parameters extractParameters(MockHttpServletRequest servletRequest) { Parameters parameters = new Parameters(); for (String name : IterableEnumeration.of(servletRequest.getParameterNames())) { for (String value : servletRequest.getParameterValues(name)) { parameters.add(name, value); } } return parameters; }
@Test public void queryStringForSingleParameter() { this.parameters.add("a", "b"); assertThat(this.parameters.toQueryString()).isEqualTo("a=b"); }
@Test public void queryStringForParameterWithEmptyValue() { this.parameters.add("a", ""); assertThat(this.parameters.toQueryString()).isEqualTo("a="); }
@Test public void queryStringForParameterThatRequiresEncoding() { this.parameters.add("a", "alpha&bravo"); assertThat(this.parameters.toQueryString()).isEqualTo("a=alpha%26bravo"); }
@Test public void removeParameterValueWithMultipleValues() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); parameters.add("a", "alpha"); assertThat(this.preprocessor.remove("a", "apple") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha")); }
@Test public void setExistingParameter() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.set("a", "alpha", "avocado") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha", "avocado")); }
@Test public void removeParameterValueWithSingleValueRemovesEntryEntirely() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.remove("a", "apple") .preprocess(createRequest(parameters)).getParameters().size()) .isEqualTo(0); }
@Test public void addValueToExistingParameter() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.add("a", "alpha") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("apple", "alpha")); }
@Test public void removeParameter() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.set("a", "alpha", "avocado") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha", "avocado")); }
private Parameters extractParameters(MockHttpServletRequest servletRequest) { Parameters parameters = new Parameters(); for (String name : IterableEnumeration.of(servletRequest.getParameterNames())) { for (String value : servletRequest.getParameterValues(name)) { parameters.add(name, value); } } return parameters; }