Example usage for org.springframework.security.oauth2.client OAuth2RestTemplate exchange

List of usage examples for org.springframework.security.oauth2.client OAuth2RestTemplate exchange

Introduction

In this page you can find the example usage for org.springframework.security.oauth2.client OAuth2RestTemplate exchange.

Prototype

@Override
    public <T> ResponseEntity<T> exchange(String url, HttpMethod method, @Nullable HttpEntity<?> requestEntity,
            Class<T> responseType, Object... uriVariables) throws RestClientException 

Source Link

Usage

From source file:od.providers.modeloutput.lap.LAPModelOutputProvider.java

private PageImpl<ModelOutput> fetch(ProviderData providerData, String tenantId,
        Map<String, String> urlVariables, Pageable pageable, String uri) {

    log.debug("{}", urlVariables);
    log.debug("{}", uri);

    String url = getUrl(providerData.findValueForKey("base_url"), uri, pageable);

    ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
    resourceDetails.setClientId(providerData.findValueForKey("key"));
    resourceDetails.setClientSecret(providerData.findValueForKey("secret"));
    resourceDetails/*from   w ww .j  a  v  a2 s .c  o  m*/
            .setAccessTokenUri(getUrl(providerData.findValueForKey("base_url"), LAP_OAUTH_TOKEN_URI, null));
    DefaultOAuth2ClientContext clientContext = new DefaultOAuth2ClientContext();

    OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(resourceDetails, clientContext);
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setSupportedMediaTypes(
            Arrays.asList(MediaType.APPLICATION_JSON, MediaType.valueOf("text/javascript")));
    restTemplate.setMessageConverters(Arrays.<HttpMessageConverter<?>>asList(converter));
    ParameterizedTypeReference<PageWrapper<ModelOutputImpl>> responseType = new ParameterizedTypeReference<PageWrapper<ModelOutputImpl>>() {
    };

    PageWrapper<ModelOutputImpl> pageWrapper = restTemplate
            .exchange(url, HttpMethod.GET, null, responseType, urlVariables).getBody();
    log.debug(pageWrapper.toString());
    List<ModelOutput> output;
    if (pageWrapper != null && pageWrapper.getContent() != null && !pageWrapper.getContent().isEmpty()) {
        output = new LinkedList<ModelOutput>(pageWrapper.getContent());
    } else {
        output = new ArrayList<>();
    }

    return new PageImpl<ModelOutput>(output, pageable, pageWrapper.getPage().getTotalElements());
}