List of usage examples for org.springframework.util MultiValueMap get
V get(Object key);
From source file:org.springframework.cloud.netflix.zuul.filters.ProxyRequestHelper.java
public Map<String, Object> debug(String verb, String uri, MultiValueMap<String, String> headers, MultiValueMap<String, String> params, InputStream requestEntity) throws IOException { Map<String, Object> info = new LinkedHashMap<String, Object>(); if (traces != null) { RequestContext context = RequestContext.getCurrentContext(); info.put("remote", true); info.put("serviceId", context.get("serviceId")); Map<String, Object> trace = new LinkedHashMap<String, Object>(); Map<String, Object> input = new LinkedHashMap<String, Object>(); trace.put("request", input); info.put("headers", trace); for (Entry<String, List<String>> entry : headers.entrySet()) { Collection<String> collection = entry.getValue(); Object value = collection; if (collection.size() < 2) { value = collection.isEmpty() ? "" : collection.iterator().next(); }/*from w w w . j a v a 2 s . co m*/ input.put(entry.getKey(), value); } StringBuilder query = new StringBuilder(); for (String param : params.keySet()) { for (String value : params.get(param)) { query.append(param); query.append("="); query.append(value); query.append("&"); } } info.put("method", verb); info.put("uri", uri); info.put("query", query.toString()); RequestContext ctx = RequestContext.getCurrentContext(); if (!ctx.isChunkedRequestBody()) { if (requestEntity != null) { debugRequestEntity(info, ctx.getRequest().getInputStream()); } } traces.add(info); return info; } return info; }
From source file:org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.java
private MultiValueMap<String, String> revertHeaders(Header[] headers) { MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); for (Header header : headers) { String name = header.getName(); if (!map.containsKey(name)) { map.put(name, new ArrayList<String>()); }//from w ww . jav a2 s . c om map.get(name).add(header.getValue()); } return map; }
From source file:org.springframework.cloud.stream.app.jdbc.sink.JdbcSinkConfiguration.java
@Bean @ServiceActivator(autoStartup = "false", inputChannel = Sink.INPUT) public JdbcMessageHandler jdbcMessageHandler(DataSource dataSource) { final MultiValueMap<String, Expression> columnExpressionVariations = new LinkedMultiValueMap<>(); for (Map.Entry<String, String> entry : properties.getColumns().entrySet()) { String value = entry.getValue(); columnExpressionVariations.add(entry.getKey(), spelExpressionParser.parseExpression(value)); if (!value.startsWith("payload")) { columnExpressionVariations.add(entry.getKey(), spelExpressionParser.parseExpression("payload." + value)); }/*www .ja v a2 s. c o m*/ } JdbcMessageHandler jdbcMessageHandler = new JdbcMessageHandler(dataSource, generateSql(properties.getTableName(), columnExpressionVariations.keySet())); jdbcMessageHandler.setSqlParameterSourceFactory(new SqlParameterSourceFactory() { @Override public SqlParameterSource createParameterSource(Object o) { if (!(o instanceof Message)) { throw new IllegalArgumentException("Unable to handle type " + o.getClass().getName()); } Message<?> message = (Message<?>) o; MapSqlParameterSource parameterSource = new MapSqlParameterSource(); for (String key : columnExpressionVariations.keySet()) { List<Expression> spels = columnExpressionVariations.get(key); Object value = NOT_SET; EvaluationException lastException = null; for (Expression spel : spels) { try { value = spel.getValue(evaluationContext, message); break; } catch (EvaluationException e) { lastException = e; } } if (value == NOT_SET) { if (lastException != null) { logger.info( "Could not find value for column '" + key + "': " + lastException.getMessage()); } parameterSource.addValue(key, null); } else { if (value instanceof JsonPropertyAccessor.ToStringFriendlyJsonNode) { // Need to do some reflection until we have a getter for the Node DirectFieldAccessor dfa = new DirectFieldAccessor(value); JsonNode node = (JsonNode) dfa.getPropertyValue("node"); Object valueToUse; if (node == null || node.isNull()) { valueToUse = null; } else if (node.isNumber()) { valueToUse = node.numberValue(); } else if (node.isBoolean()) { valueToUse = node.booleanValue(); } else { valueToUse = node.textValue(); } parameterSource.addValue(key, valueToUse); } else { parameterSource.addValue(key, value); } } } return parameterSource; } }); return jdbcMessageHandler; }
From source file:org.springframework.data.rest.webmvc.config.RepositoryRestMvConfigurationIntegrationTests.java
/** * @see DATAREST-271/*from w w w. j av a 2s.co m*/ */ @Test public void assetConsidersPaginationCustomization() { HateoasPageableHandlerMethodArgumentResolver resolver = context .getBean(HateoasPageableHandlerMethodArgumentResolver.class); UriComponentsBuilder builder = UriComponentsBuilder.newInstance(); resolver.enhance(builder, null, new PageRequest(0, 9000, Direction.ASC, "firstname")); MultiValueMap<String, String> params = builder.build().getQueryParams(); assertThat(params.containsKey("myPage"), is(true)); assertThat(params.containsKey("mySort"), is(true)); assertThat(params.get("mySize"), hasSize(1)); assertThat(params.get("mySize").get(0), is("7000")); }
From source file:org.springframework.http.converter.FormHttpMessageConverter.java
private boolean isMultipart(MultiValueMap<String, ?> map, @Nullable MediaType contentType) { if (contentType != null) { return MediaType.MULTIPART_FORM_DATA.includes(contentType); }// w w w . j av a 2 s . c om for (String name : map.keySet()) { for (Object value : map.get(name)) { if (value != null && !(value instanceof String)) { return true; } } } return false; }
From source file:org.springframework.http.converter.FormHttpMessageConverter.java
private void writeForm(MultiValueMap<String, String> form, @Nullable MediaType contentType, HttpOutputMessage outputMessage) throws IOException { Charset charset;/*from w w w.ja v a 2 s. co m*/ if (contentType != null) { outputMessage.getHeaders().setContentType(contentType); charset = (contentType.getCharset() != null ? contentType.getCharset() : this.charset); } else { outputMessage.getHeaders().setContentType(MediaType.APPLICATION_FORM_URLENCODED); charset = this.charset; } StringBuilder builder = new StringBuilder(); for (Iterator<String> nameIterator = form.keySet().iterator(); nameIterator.hasNext();) { String name = nameIterator.next(); for (Iterator<String> valueIterator = form.get(name).iterator(); valueIterator.hasNext();) { String value = valueIterator.next(); builder.append(URLEncoder.encode(name, charset.name())); if (value != null) { builder.append('='); builder.append(URLEncoder.encode(value, charset.name())); if (valueIterator.hasNext()) { builder.append('&'); } } } if (nameIterator.hasNext()) { builder.append('&'); } } final byte[] bytes = builder.toString().getBytes(charset); outputMessage.getHeaders().setContentLength(bytes.length); if (outputMessage instanceof StreamingHttpOutputMessage) { StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage; streamingOutputMessage.setBody(new StreamingHttpOutputMessage.Body() { @Override public void writeTo(OutputStream outputStream) throws IOException { StreamUtils.copy(bytes, outputStream); } }); } else { StreamUtils.copy(bytes, outputMessage.getBody()); } }
From source file:org.springframework.http.converter.FormHttpMessageConverterTests.java
@Test public void readForm() throws Exception { String body = "name+1=value+1&name+2=value+2%2B1&name+2=value+2%2B2&name+3"; MockHttpInputMessage inputMessage = new MockHttpInputMessage(body.getBytes(StandardCharsets.ISO_8859_1)); inputMessage.getHeaders()/*w w w.j a va2 s . com*/ .setContentType(new MediaType("application", "x-www-form-urlencoded", StandardCharsets.ISO_8859_1)); MultiValueMap<String, String> result = this.converter.read(null, inputMessage); assertEquals("Invalid result", 3, result.size()); assertEquals("Invalid result", "value 1", result.getFirst("name 1")); List<String> values = result.get("name 2"); assertEquals("Invalid result", 2, values.size()); assertEquals("Invalid result", "value 2+1", values.get(0)); assertEquals("Invalid result", "value 2+2", values.get(1)); assertNull("Invalid result", result.getFirst("name 3")); }
From source file:org.springframework.integration.configuration.EnableIntegrationTests.java
@Test @DirtiesContext/*w ww . j av a2s . com*/ public void testRoles() { assertThat(this.roleController.getRoles(), containsInAnyOrder("foo", "bar")); assertFalse(this.roleController.allEndpointsRunning("foo")); assertFalse(this.roleController.noEndpointsRunning("foo")); assertTrue(this.roleController.allEndpointsRunning("bar")); assertFalse(this.roleController.noEndpointsRunning("bar")); Map<String, Boolean> state = this.roleController.getEndpointsRunningStatus("foo"); assertThat(state.get("annotationTestService.handle.serviceActivator"), equalTo(Boolean.FALSE)); assertThat(state.get("enableIntegrationTests.ContextConfiguration2.sendAsyncHandler.serviceActivator"), equalTo(Boolean.TRUE)); this.roleController.startLifecyclesInRole("foo"); assertTrue(this.roleController.allEndpointsRunning("foo")); this.roleController.stopLifecyclesInRole("foo"); assertFalse(this.roleController.allEndpointsRunning("foo")); assertTrue(this.roleController.noEndpointsRunning("foo")); @SuppressWarnings("unchecked") MultiValueMap<String, SmartLifecycle> lifecycles = TestUtils.getPropertyValue(this.roleController, "lifecycles", MultiValueMap.class); assertEquals(2, lifecycles.size()); assertEquals(2, lifecycles.get("foo").size()); assertEquals(1, lifecycles.get("bar").size()); assertFalse(this.serviceActivatorEndpoint.isRunning()); assertFalse(this.sendAsyncHandler.isRunning()); assertEquals(2, lifecycles.size()); assertEquals(2, lifecycles.get("foo").size()); }
From source file:org.springframework.messaging.simp.handler.SimpleBrokerMessageHandler.java
protected void sendMessageToSubscribers(String destination, Message<?> message) { MultiValueMap<String, String> subscriptions = this.subscriptionRegistry.findSubscriptions(message); for (String sessionId : subscriptions.keySet()) { for (String subscriptionId : subscriptions.get(sessionId)) { SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.wrap(message); headers.setSessionId(sessionId); headers.setSubscriptionId(subscriptionId); Object payload = message.getPayload(); Message<?> clientMessage = MessageBuilder.withPayloadAndHeaders(payload, headers).build(); try { this.messageChannel.send(clientMessage); } catch (Throwable ex) { logger.error("Failed to send message to destination=" + destination + ", sessionId=" + sessionId + ", subscriptionId=" + subscriptionId, ex); }// ww w. ja v a2 s . co m } } }
From source file:org.springframework.social.linkedin.api.impl.ProfileTemplate.java
private URI expand(String url, SearchParameters parameters) { URIBuilder uriBuilder = URIBuilder.fromUri(url); if (parameters.getKeywords() != null) { uriBuilder.queryParam("keywords", parameters.getKeywords()); }//ww w . jav a2 s. c o m if (parameters.getFirstName() != null) { uriBuilder.queryParam("first-name", parameters.getFirstName()); } if (parameters.getLastName() != null) { uriBuilder.queryParam("last-name", parameters.getLastName()); } if (parameters.getCompanyName() != null) { uriBuilder.queryParam("company-name", parameters.getCompanyName()); } if (parameters.getCurrentCompany() != null) { uriBuilder.queryParam("current-company", parameters.getCurrentCompany().toString()); } if (parameters.getTitle() != null) { uriBuilder.queryParam("title", parameters.getTitle()); } if (parameters.getCurrentTitle() != null) { uriBuilder.queryParam("current-title", parameters.getCurrentTitle().toString()); } if (parameters.getSchoolName() != null) { uriBuilder.queryParam("school-name", parameters.getSchoolName()); } if (parameters.getCurrentSchool() != null) { uriBuilder.queryParam("current-school", parameters.getCurrentSchool().toString()); } if (parameters.getCountryCode() != null) { uriBuilder.queryParam("country-code", parameters.getCountryCode()); } if (parameters.getPostalCode() != null) { uriBuilder.queryParam("postal-code", parameters.getPostalCode()); } if (parameters.getDistance() != null) { uriBuilder.queryParam("distance", parameters.getDistance().toString()); } uriBuilder.queryParam("start", String.valueOf(parameters.getStart())); uriBuilder.queryParam("count", String.valueOf(parameters.getCount())); if (parameters.getSort() != null) { uriBuilder.queryParam("sort", parameters.getSort().toString()); } // Processing facets MultiValueMap<SearchParameters.FacetType, String> facets = parameters.getFacets(); for (SearchParameters.FacetType ft : facets.keySet()) { StringBuilder facetString = new StringBuilder(ft.toString()); for (String value : facets.get(ft)) { facetString.append(","); facetString.append(value); } uriBuilder.queryParam("facet", facetString.toString()); } return uriBuilder.build(); }