List of usage examples for org.springframework.util MultiValueMap put
V put(K key, V value);
From source file:org.springframework.web.bind.annotation.support.HandlerMethodInvoker.java
private Map<String, ?> resolveRequestParamMap(Class<? extends Map<?, ?>> mapType, NativeWebRequest webRequest) { Map<String, String[]> parameterMap = webRequest.getParameterMap(); if (MultiValueMap.class.isAssignableFrom(mapType)) { MultiValueMap<String, String> result = new LinkedMultiValueMap<String, String>(parameterMap.size()); for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) { for (String value : entry.getValue()) { result.add(entry.getKey(), value); }/*w ww .j a v a 2 s. c o m*/ } return result; } else { Map<String, String> result = new LinkedHashMap<String, String>(parameterMap.size()); for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) { if (entry.getValue().length > 0) { result.put(entry.getKey(), entry.getValue()[0]); } } return result; } }
From source file:org.springframework.web.bind.annotation.support.HandlerMethodInvoker.java
private Map<String, ?> resolveRequestHeaderMap(Class<? extends Map<?, ?>> mapType, NativeWebRequest webRequest) {//from w w w.j a va2 s .co m if (MultiValueMap.class.isAssignableFrom(mapType)) { MultiValueMap<String, String> result; if (HttpHeaders.class.isAssignableFrom(mapType)) { result = new HttpHeaders(); } else { result = new LinkedMultiValueMap<String, String>(); } for (Iterator<String> iterator = webRequest.getHeaderNames(); iterator.hasNext();) { String headerName = iterator.next(); for (String headerValue : webRequest.getHeaderValues(headerName)) { result.add(headerName, headerValue); } } return result; } else { Map<String, String> result = new LinkedHashMap<String, String>(); for (Iterator<String> iterator = webRequest.getHeaderNames(); iterator.hasNext();) { String headerName = iterator.next(); String headerValue = webRequest.getHeader(headerName); result.put(headerName, headerValue); } return result; } }
From source file:org.talend.dataprep.api.service.command.folder.RemoveFolder.java
private ResponseEntity<String> getResponseEntity(HttpStatus status, HttpResponse response) { final MultiValueMap<String, String> headers = new HttpHeaders(); for (Header header : response.getAllHeaders()) { headers.put(header.getName(), Collections.singletonList(header.getValue())); }// w w w . j a v a2s.c o m try { return new ResponseEntity<>(IOUtils.toString(response.getEntity().getContent()), headers, status); } catch (IOException e) { throw new TDPException(CommonErrorCodes.UNEXPECTED_EXCEPTION, e); } }
From source file:org.talend.dataprep.command.CommandHelper.java
public static ResponseEntity<Void> async(final GenericCommand<?> command) { final Observable<?> stream = command.toObservable(); return stream.map(is -> { // copy all headers from the command response so that the mime-type is correctly forwarded. Command has // the correct headers due to call to toBlocking() below. final MultiValueMap<String, String> headers = new HttpHeaders(); HttpStatus status = command.getStatus(); for (Header header : command.getCommandResponseHeaders()) { headers.put(header.getName(), Collections.singletonList(header.getValue())); }//from w ww . j ava2 s .c o m return new ResponseEntity<Void>(null, headers, status); }).toBlocking().first(); }
From source file:org.talend.dataprep.command.CommandHelper.java
public static ResponseEntity<StreamingResponseBody> toStreaming(final GenericCommand<InputStream> command) { final Observable<InputStream> stream = command.toObservable(); return stream.map(is -> { // Content for the response entity final StreamingResponseBody body = outputStream -> { try { IOUtils.copyLarge(is, outputStream); outputStream.flush();/*from ww w . j av a 2s. c o m*/ } catch (IOException e) { LOGGER.error("Unable to fully copy command result '{}'.", command.getClass(), e); } }; // copy all headers from the command response so that the mime-type is correctly forwarded. Command has // the correct headers due to call to toBlocking() below. final MultiValueMap<String, String> headers = new HttpHeaders(); final HttpStatus status = command.getStatus(); for (Header header : command.getCommandResponseHeaders()) { headers.put(header.getName(), Collections.singletonList(header.getValue())); } return new ResponseEntity<>(body, headers, status == null ? HttpStatus.OK : status); }).toBlocking().first(); }
From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestUserServiceTest.java
private void prepareModificationRestTest(UserModification userModification) throws IOException { if (userModification.getExistingUser() != null) { respondUser(// w w w .j a va 2s. co m RestRequest.builder().method(GET) .url("/cloud/users/" + userModification.getExistingUser().getUsername()).build(), UserResponse.builder().enabled(userModification.getExistingUser().isEnabled()) .email(userModification.getExistingUser().getEmail()) .displayname(userModification.getExistingUser().getDisplayname()) .quota(userModification.getExistingUser().getQuota()).build()); } else { respondFailure( RestRequest.builder().method(GET) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), 998, "The requested user could not be found"); if (userModification.isErrorCreateUser()) { respondFailure(RestRequest.builder().method(POST).url("/cloud/users").build(), userModification.getErrorCodeCreateUser()); } else { MultiValueMap<String, String> postData = new LinkedMultiValueMap<>(); postData.put("userid", Lists.newArrayList(userModification.getNewUser().getUsername())); postData.put("password", Lists.newArrayList(userModification.getNewUser().getPassword())); respondSuccess(RestRequest.builder().method(POST).url("/cloud/users").build(), postData); } respondUser( RestRequest.builder().method(GET) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), UserResponse.builder().enabled(true).displayname(userModification.getNewUser().getUsername()) .build()); } // change the Displayname if (userModification.getExistingUser() == null || !StringUtils.equals(userModification.getExistingUser().getDisplayname(), userModification.getNewUser().getDisplayname())) { if (userModification.isErrorUpdateDisplayName()) { respondFailure( RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), userModification.getErrorCodeUpdateDisplayName()); } else { MultiValueMap<String, String> putData = new LinkedMultiValueMap<>(); putData.put("key", Lists.newArrayList("display")); putData.put("value", Lists.newArrayList(userModification.getNewUser().getDisplayname())); respondSuccess( RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), putData); } } // change the eMail if (userModification.getExistingUser() == null || !StringUtils .equals(userModification.getExistingUser().getEmail(), userModification.getNewUser().getEmail())) { if (userModification.isErrorUpdateEmail()) { respondFailure( RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), userModification.getErrorCodeUpdateEmail()); } else { MultiValueMap<String, String> putData = new LinkedMultiValueMap<>(); putData.put("key", Lists.newArrayList("email")); putData.put("value", Lists.newArrayList(userModification.getNewUser().getEmail())); respondSuccess( RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), putData); } } // change the Quota if (userModification.getExistingUser() == null || ObjectUtils.compare(userModification.getExistingUser().getQuota(), userModification.getNewUser().getQuota()) != 0) { if (userModification.isErrorUpdateQuota()) { respondFailure( RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), userModification.getErrorCodeUpdateQuota()); } else { Format quotaFormat = getQuotaFormat(); MultiValueMap<String, String> putData = new LinkedMultiValueMap<>(); putData.put("key", Lists.newArrayList("quota")); if (userModification.getNewUser().getQuota() != null) { putData.put("value", Lists.newArrayList(quotaFormat.format(userModification.getNewUser().getQuota()))); } else { putData.put("value", Lists.newArrayList("")); } respondSuccess( RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername()).build(), putData); } } // change the availatility (enable/disable) if (userModification.getExistingUser() != null && userModification.getExistingUser().isEnabled() != userModification.getNewUser().isEnabled()) { if (userModification.isErrorEnableDisable()) { respondFailure(RestRequest.builder().method(PUT) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/" + (userModification.getNewUser().isEnabled() ? "enable" : "disable")) .build(), userModification.getErrorCodeEnableDisable()); } else { respondSuccess(RestRequest .builder().method(PUT).url("/cloud/users/" + userModification.getNewUser().getUsername() + "/" + (userModification.getNewUser().isEnabled() ? "enable" : "disable")) .build()); } } List<String> addedGroups = new ArrayList<>(); List<String> removedGroups = new ArrayList<>(); if (userModification.getExistingUser() != null && CollectionUtils.isNotEmpty(userModification.getExistingUser().getGroups())) { respondGroups( RestRequest.builder().method(GET) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(), userModification.getExistingUser().getGroups().toArray(new String[] {})); addedGroups.addAll(CollectionUtils.subtract(userModification.getNewUser().getGroups(), userModification.getExistingUser().getGroups())); removedGroups.addAll(CollectionUtils.subtract(userModification.getExistingUser().getGroups(), userModification.getNewUser().getGroups())); } else { respondGroups(RestRequest.builder().method(GET) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build()); addedGroups.addAll(userModification.getNewUser().getGroups()); } if (userModification.isErrorAddGroup()) { respondFailure( RestRequest.builder().method(POST) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(), userModification.getErrorCodeAddGroup()); } else { for (String group : addedGroups) { MultiValueMap<String, String> postData = new LinkedMultiValueMap<>(); postData = new LinkedMultiValueMap<>(); postData.put("groupid", Lists.newArrayList(group)); respondSuccess(RestRequest.builder().method(POST) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(), postData); } } if (userModification.isErrorRemoveGroup()) { respondFailure( RestRequest.builder().method(DELETE) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(), userModification.getErrorCodeRemoveGroup()); } else { for (String group : removedGroups) { MultiValueMap<String, String> postData = new LinkedMultiValueMap<>(); postData = new LinkedMultiValueMap<>(); postData.put("groupid", Lists.newArrayList(group)); respondSuccess(RestRequest.builder().method(DELETE) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(), postData); } } respondUser( RestRequest.builder().method(GET).url("/cloud/users/" + userModification.getNewUser().getUsername()) .build(), UserResponse.builder().enabled(userModification.getNewUser().isEnabled()) .email(userModification.getNewUser().getEmail()) .displayname(userModification.getNewUser().getDisplayname()) .quota(userModification.getNewUser().getQuota()).build()); respondGroups( RestRequest.builder().method(GET) .url("/cloud/users/" + userModification.getNewUser().getUsername() + "/groups").build(), CollectionUtils.isEmpty(userModification.getNewUser().getGroups()) ? new String[] {} : userModification.getNewUser().getGroups().toArray(new String[] {})); }