Example usage for org.springframework.util MultiValueMap set

List of usage examples for org.springframework.util MultiValueMap set

Introduction

In this page you can find the example usage for org.springframework.util MultiValueMap set.

Prototype

void set(K key, @Nullable V value);

Source Link

Document

Set the given single value under the given key.

Usage

From source file:fi.helsinki.moodi.integration.moodle.MoodleClient.java

private MultiValueMap<String, String> createParametersForFunction(final String function) {
    final MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
    params.set("wstoken", wstoken);
    params.set("wsfunction", function);
    params.set("moodlewsrestformat", "json");
    return params;
}

From source file:io.uengine.web.configuration.ConfigurationController.java

/**
 *  ??  ??   JavaScript ./*  w ww  . j  ava2  s  .  c o m*/
 */
@RequestMapping(value = "js", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<String> getConfiguration(final HttpServletRequest request,
        final HttpServletResponse response, final Locale locale) throws IOException {
    MultiValueMap headers = new HttpHeaders();
    headers.set("Content-Type", CONTENT_TYPE);
    return new ResponseEntity(JS_PREFIX + configJson + JS_POSTFIX, headers, HttpStatus.OK);
}

From source file:org.ambraproject.wombat.controller.SearchController.java

private String collateCsvResults(HttpServletRequest request, Model model, Site site,
        MultiValueMap<String, String> params, Integer totalRows) throws IOException {
    StringBuilder resultsBuilder = new StringBuilder();
    for (Integer start = 0; start < totalRows; start += MAXIMUM_SOLR_RESULT_COUNT) {
        final String rows = ((Integer) Math.min(MAXIMUM_SOLR_RESULT_COUNT, totalRows - start)).toString();
        params.set("rows", rows);
        params.set("start", start.toString());
        if (!performValidSearch(request, model, site, params, true)) {
            throw new IOException("Invalid solr query. Please alter and try again.");
        }//from   w ww.j  a va2 s.  c o m
        // TODO: 10/24/17 decouple search results from the model
        final Map<String, ?> searchResults = (Map<String, ?>) model.asMap().get("searchResults");
        resultsBuilder.append(searchResults.get("stringResponse"));
    }
    return resultsBuilder.toString();
}

From source file:org.cloudfoundry.identity.uaa.authentication.manager.RestAuthenticationManager.java

protected Object getParameters(String username, String password) {
    MultiValueMap<String, Object> parameters = new LinkedMaskingMultiValueMap<String, Object>("password");
    parameters.set("username", username);
    parameters.set("password", password);
    return parameters;
}

From source file:org.cloudfoundry.identity.uaa.integration.CheckTokenEndpointIntegrationTests.java

@SuppressWarnings("unchecked")
private OAuth2AccessToken getAdminToken() {
    MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
    formData.set("client_id", testAccounts.getAdminClientId());
    formData.set("client_secret", testAccounts.getAdminClientSecret());
    formData.set("response_type", "token");
    formData.set("grant_type", "client_credentials");

    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));

    @SuppressWarnings("rawtypes")
    ResponseEntity<Map> response = serverRunning.postForMap("/oauth/token", formData, headers);
    assertEquals(HttpStatus.OK, response.getStatusCode());

    return DefaultOAuth2AccessToken.valueOf(response.getBody());
}

From source file:org.cloudfoundry.identity.uaa.integration.CheckTokenEndpointIntegrationTests.java

@SuppressWarnings("unchecked")
private OAuth2AccessToken getUserToken(String optAdditionAttributes) {
    MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
    formData.set("client_id", "cf");
    formData.set("client_secret", "");
    formData.set("username", testAccounts.getUserName());
    formData.set("password", testAccounts.getPassword());
    formData.set("response_type", "token");
    formData.set("grant_type", "password");
    formData.set("token_format", "jwt");
    if (optAdditionAttributes != null) {
        formData.set("authorities", optAdditionAttributes);
    }//from www .  j a va 2  s  .c o  m
    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));

    @SuppressWarnings("rawtypes")
    ResponseEntity<Map> response = serverRunning.postForMap("/oauth/token", formData, headers);
    assertEquals(HttpStatus.OK, response.getStatusCode());

    return DefaultOAuth2AccessToken.valueOf(response.getBody());
}

From source file:org.cloudfoundry.identity.uaa.integration.RemoteAuthenticationEndpointTests.java

@SuppressWarnings("rawtypes")
ResponseEntity<Map> authenticate(String username, String password, Map<String, Object> additionalParams) {
    RestTemplate restTemplate = new RestTemplate();
    // The default java.net client doesn't allow you to handle 4xx responses
    restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
    if (restTemplate instanceof OAuth2RestTemplate) {
        OAuth2RestTemplate oAuth2RestTemplate = (OAuth2RestTemplate) restTemplate;
        oAuth2RestTemplate.setErrorHandler(
                new UaaOauth2ErrorHandler(oAuth2RestTemplate.getResource(), HttpStatus.Series.SERVER_ERROR));
    } else {/*from w w w.j  a v a 2 s .  co  m*/
        restTemplate.setErrorHandler(new DefaultResponseErrorHandler() {
            @Override
            protected boolean hasError(HttpStatus statusCode) {
                return statusCode.series() == HttpStatus.Series.SERVER_ERROR;
            }
        });
    }
    HttpHeaders headers = new HttpHeaders();
    if (additionalParams != null) {
        headers.add("Authorization", "Bearer " + getLoginReadBearerToken());
    }
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));

    MultiValueMap<String, Object> parameters = new LinkedMultiValueMap<String, Object>();
    parameters.set("username", username);
    if (password != null) {
        parameters.set("password", password);
    }
    if (additionalParams != null) {
        parameters.setAll(additionalParams);
    }

    ResponseEntity<Map> result = restTemplate.exchange(serverRunning.getUrl("/authenticate"), HttpMethod.POST,
            new HttpEntity<MultiValueMap<String, Object>>(parameters, headers), Map.class);
    return result;
}

From source file:org.cloudfoundry.identity.uaa.login.RemoteUaaController.java

@RequestMapping(value = "/oauth/authorize", params = "response_type")
public ModelAndView startAuthorization(HttpServletRequest request, @RequestParam Map<String, String> parameters,
        Map<String, Object> model, @RequestHeader HttpHeaders headers, Principal principal) throws Exception {

    String path = extractPath(request);

    MultiValueMap<String, String> map = new LinkedMaskingMultiValueMap<String, String>();
    map.setAll(parameters);/*from w w w .j  av a2  s.c  o m*/

    String redirectUri = parameters.get("redirect-uri");
    if (redirectUri != null && !redirectUri.matches("(http:|https:)?//.*")) {
        redirectUri = "http://" + redirectUri;
        map.set("redirect-uri", redirectUri);
    }

    if (principal != null) {
        map.set("source", "login");
        map.setAll(getLoginCredentials(principal));
        map.remove("credentials"); // legacy cf might break otherwise
        map.remove("password"); // request for token will not use password
    } else {
        throw new BadCredentialsException("No principal found in authorize endpoint");
    }

    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.putAll(getRequestHeaders(headers));
    requestHeaders.remove(AUTHORIZATION.toLowerCase());
    requestHeaders.remove(USER_AGENT);
    requestHeaders.remove(ACCEPT.toLowerCase());
    requestHeaders.remove(CONTENT_TYPE.toLowerCase());
    requestHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    requestHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    requestHeaders.remove(COOKIE);
    requestHeaders.remove(COOKIE.toLowerCase());

    @SuppressWarnings("rawtypes")
    ResponseEntity<Map> response;

    response = authorizationTemplate.exchange(getUaaBaseUrl() + "/" + path, HttpMethod.POST,
            new HttpEntity<MultiValueMap<String, String>>(map, requestHeaders), Map.class);

    saveCookie(response.getHeaders(), model);

    @SuppressWarnings("unchecked")
    Map<String, Object> body = response.getBody();
    if (body != null) {
        // User approval is required
        logger.debug("Response: " + body);
        model.putAll(body);
        model.put("links", getLinksInfo());
        if (!body.containsKey("options")) {
            String errorMsg = "No options returned from UAA for user approval";
            if (body.containsKey("error")) {
                throw OAuth2Exception.create((String) body.get("error"),
                        (String) (body.containsKey("error_description") ? body.get("error_description")
                                : errorMsg));
            } else {
                throw new OAuth2Exception(errorMsg);
            }
        }
        logger.info("Approval required in /oauth/authorize for: " + principal.getName());
        return new ModelAndView("access_confirmation", model);
    }

    String location = response.getHeaders().getFirst("Location");
    if (location != null) {
        logger.info("Redirect in /oauth/authorize for: " + principal.getName());
        // Don't expose model attributes (cookie) in redirect
        return new ModelAndView(new RedirectView(location, false, true, false));
    }

    throw new IllegalStateException("Neither a redirect nor a user approval");

}

From source file:org.encuestame.oauth2.support.OAuth2Support.java

public AccessGrant exchangeForAccess(String authorizationCode, String redirectUri) {
    log.debug("exchangeForAccess:{" + authorizationCode);
    log.debug("exchangeForAccess redirectUri{: " + redirectUri);
    MultiValueMap<String, String> requestParameters = new LinkedMultiValueMap<String, String>();
    requestParameters.set("client_id", clientId);
    requestParameters.set("client_secret", clientSecret);
    requestParameters.set("code", authorizationCode);
    requestParameters.set("redirect_uri", redirectUri);
    requestParameters.set("grant_type", "authorization_code");
    log.debug("requestParameters " + requestParameters.toString());
    Map result = getRestTemplate().postForObject(accessTokenUrl, requestParameters, Map.class);
    log.debug("Access Grant " + result.toString());
    return new AccessGrant(valueOf(result.get("access_token")), valueOf(result.get("refresh_token")));
}

From source file:org.encuestame.oauth2.support.OAuth2Support.java

/**
 *
 * @param refreshToken/* ww w  .java 2 s  . c  om*/
 * @return
 */
public AccessGrant refreshToken(final String refreshToken) {
    log.debug("refreshToken" + refreshToken);
    MultiValueMap<String, String> requestParameters = new LinkedMultiValueMap<String, String>();
    requestParameters.set("client_id", clientId);
    requestParameters.set("client_secret", clientSecret);
    requestParameters.set("refresh_token", refreshToken);
    requestParameters.set("grant_type", "refresh_token");
    log.debug("requestParameters " + requestParameters.toString());
    @SuppressWarnings("unchecked")
    Map<String, ?> result = getRestTemplate().postForObject(accessTokenUrl, requestParameters, Map.class);
    log.debug(result);
    return new AccessGrant(valueOf(result.get("access_token")), refreshToken);
}