Example usage for org.springframework.web.client RestTemplate exchange

List of usage examples for org.springframework.web.client RestTemplate exchange

Introduction

In this page you can find the example usage for org.springframework.web.client RestTemplate exchange.

Prototype

@Override
    public <T> ResponseEntity<T> exchange(URI url, HttpMethod method, @Nullable HttpEntity<?> requestEntity,
            ParameterizedTypeReference<T> responseType) throws RestClientException 

Source Link

Usage

From source file:com.catalog.core.Api.java

@Override
public MotivateIntervalVM motivateInterval(int studentId, int teacherId, int classGroupId, long date1,
        long date2) {
    setStartTime();//  w  ww . ja v  a 2s.c  o  m
    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

    String url = "http://" + IP + EXTENSION + "/teacher/motivateIntervalT/" + studentId + "," + date1 + ","
            + date2 + ".json";

    // Add the Jackson message converter
    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

    ResponseEntity<MotivateIntervalVM> responseEntity;
    MotivateIntervalVM motivateIntervalVM = null;
    try {
        responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, MotivateIntervalVM.class);
        motivateIntervalVM = responseEntity.getBody();

    } catch (Exception e) {
        return null;
    }

    getElapsedTime("motivateInterval - ");
    return motivateIntervalVM;

}

From source file:org.starfishrespect.myconsumption.android.ui.AddSensorActivity.java

private boolean create() {
    DatabaseHelper db = new DatabaseHelper(this);
    String user = null;/*from  w  ww  .j a va2 s .com*/
    KeyValueData userJson = db.getValueForKey("user");
    ObjectMapper mapper = new ObjectMapper();
    if (userJson != null) {

        try {
            user = mapper.readValue(userJson.getValue(), UserData.class).getName();
        } catch (IOException e) {
            return false;
        }
    }
    if (user == null) {
        return false;
    }
    RestTemplate template = new RestTemplate();
    HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser();
    ResponseEntity<String> responseEnt;
    template.getMessageConverters().add(new FormHttpMessageConverter());
    template.getMessageConverters().add(new StringHttpMessageConverter());

    try {
        UriComponentsBuilder builder = UriComponentsBuilder
                .fromHttpUrl(SingleInstance.getServerUrl() + "sensors/")
                .queryParam("name", editTextSensorName.getText().toString())
                .queryParam("type", selectedSensorType).queryParam("user", user)
                .queryParam("settings", mapper.writeValueAsString(sensorView.getSensorSettings()));

        responseEnt = template.exchange(builder.build().encode().toUri(), HttpMethod.POST,
                new HttpEntity<>(httpHeaders), String.class);

        String result = responseEnt.getBody();
        Log.d(TAG, result);

        SimpleResponseDTO response = mapper.readValue(result, SimpleResponseDTO.class);
        if (response.getStatus() == 0) {
            return true;
        }
    } catch (HttpClientErrorException e) {
        e.printStackTrace();
        return false;
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    }
    return false;
}

From source file:com.catalog.core.Api.java

@Override
public CloseClassSituationVM closeClassSituation(int classGroupId, int semesterId) {
    setStartTime();/*  ww w  .  jav a2  s  . c  o  m*/

    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

    String url = "http://" + IP + EXTENSION + "/teacher/closeClassSituationT/" + classGroupId + "," + semesterId
            + ".json";

    // Add the Jackson message converter
    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

    ResponseEntity<CloseClassSituationVM> responseEntity;
    CloseClassSituationVM closeClassSituation = null;
    try {
        responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, CloseClassSituationVM.class);
        closeClassSituation = responseEntity.getBody();

    } catch (Exception e) {
        return null;
    }

    getElapsedTime("closeClassSituation - ");
    return closeClassSituation;
}

From source file:com.netflix.genie.web.security.oauth2.pingfederate.PingFederateRemoteTokenServicesUnitTests.java

/**
 * Make sure we can validate a token.//  w w  w  .  j  a  va  2 s . c o  m
 */
@Test
public void canLoadAuthentication() {
    final AccessTokenConverter converter = Mockito.mock(AccessTokenConverter.class);
    final RestTemplate restTemplate = Mockito.mock(RestTemplate.class);
    final PingFederateRemoteTokenServices services = new PingFederateRemoteTokenServices(
            this.resourceServerProperties, converter, this.registry);
    services.setRestTemplate(restTemplate);
    final String accessToken = UUID.randomUUID().toString();

    final String clientId = UUID.randomUUID().toString();
    final String scope1 = UUID.randomUUID().toString();
    final String scope2 = UUID.randomUUID().toString();

    final Map<String, Object> map = Maps.newHashMap();
    map.put(PingFederateRemoteTokenServices.CLIENT_ID_KEY, clientId);
    map.put(PingFederateRemoteTokenServices.SCOPE_KEY, scope1 + " " + scope2);

    @SuppressWarnings("unchecked")
    final ResponseEntity<Map> response = Mockito.mock(ResponseEntity.class);

    Mockito.when(restTemplate.exchange(Mockito.eq(CHECK_TOKEN_ENDPOINT_URL), Mockito.eq(HttpMethod.POST),
            Mockito.any(HttpEntity.class), Mockito.eq(Map.class))).thenReturn(response);

    Mockito.when(response.getBody()).thenReturn(map);

    final SimpleGrantedAuthority scope1Authority = new SimpleGrantedAuthority(scope1);
    final SimpleGrantedAuthority scope2Authority = new SimpleGrantedAuthority(scope2);
    final Set<GrantedAuthority> authorities = Sets.newHashSet(scope1Authority, scope2Authority);

    final Authentication authentication = new UsernamePasswordAuthenticationToken(clientId, "NA", authorities);

    final OAuth2Authentication oauth2Authentication = new OAuth2Authentication(
            Mockito.mock(OAuth2Request.class), authentication);

    Mockito.when(converter.extractAuthentication(Mockito.eq(map))).thenReturn(oauth2Authentication);

    final OAuth2Authentication result = services.loadAuthentication(accessToken);
    Assert.assertThat(result, Matchers.is(oauth2Authentication));
    Assert.assertThat(result.getPrincipal(), Matchers.is(clientId));
    Assert.assertThat(result.getAuthorities().size(), Matchers.is(2));
    Assert.assertTrue(result.getAuthorities().contains(scope1Authority));
    Assert.assertTrue(result.getAuthorities().contains(scope2Authority));
    Mockito.verify(this.authenticationTimer, Mockito.times(1)).record(Mockito.anyLong(),
            Mockito.eq(TimeUnit.NANOSECONDS));
}

From source file:com.jvoid.core.controller.HomeController.java

@RequestMapping("/jvoid-products")
public @ResponseBody String listAllJVoidProductsForOutView() {
    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);

    JSONObject jsonObj = new JSONObject();
    try {//from  www.  j a  va  2s. com
        jsonObj.put("id", -1);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    UriComponentsBuilder builder = UriComponentsBuilder
            .fromHttpUrl(ServerUris.PRODUCT_SERVER_URI + URIConstants.GET_PRODUCT)
            .queryParam("params", jsonObj);
    HttpEntity<?> entity = new HttpEntity<>(headers);
    HttpEntity<String> returnString = restTemplate.exchange(builder.build().toUri(), HttpMethod.GET, entity,
            String.class);

    JSONObject returnJsonObj = null;
    try {
        returnJsonObj = new JSONObject(returnString.getBody());
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return returnJsonObj.toString();
}

From source file:com.jvoid.core.controller.HomeController.java

@RequestMapping("/jvoid-categories")
public @ResponseBody String listAllJVoidCategoriesForOutView() {
    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);

    JSONObject jsonObj = new JSONObject();
    try {/*from www. j  a v  a  2s  . c  o  m*/
        jsonObj.put("id", -1);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    UriComponentsBuilder builder = UriComponentsBuilder
            .fromHttpUrl(ServerUris.PRODUCT_SERVER_URI + URIConstants.GET_CATEGORY)
            .queryParam("params", jsonObj);
    HttpEntity<?> entity = new HttpEntity<>(headers);
    HttpEntity<String> returnString = restTemplate.exchange(builder.build().toUri(), HttpMethod.GET, entity,
            String.class);

    JSONObject returnJsonObj = null;
    try {
        returnJsonObj = new JSONObject(returnString.getBody());
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return returnJsonObj.toString();
}

From source file:com.catalog.core.Api.java

@Override
public StudentFinalScoresForAllSemestersVM getFinalScoresForStudent(int studentId) {
    setStartTime();/*from w ww  .ja  v a2  s. com*/

    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

    String url = "http://" + IP + EXTENSION + "/teacher/getFinalReportForStudent/" + studentId + ".json";

    // Add the Jackson message converter
    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

    ResponseEntity<StudentFinalScoresForAllSemestersVM> responseEntity;
    StudentFinalScoresForAllSemestersVM studentFinalScoresForAllSemestersVM = null;
    try {
        responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity,
                StudentFinalScoresForAllSemestersVM.class);
        studentFinalScoresForAllSemestersVM = responseEntity.getBody();

    } catch (Exception e) {
        return null;
    }

    getElapsedTime("getFinalScoresForStudent - ");

    return studentFinalScoresForAllSemestersVM;
}

From source file:com.catalog.core.Api.java

@Override
public SubjectTeacherForClassVM getSubjectTeacherForClass(int subjectId, int teacherId, int classGroupId) {
    setStartTime();/* w w  w.  jav a2 s. co m*/

    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

    String url = "http://" + IP + EXTENSION + "/teacher/findByClassSubjectTeacherT/" + classGroupId + ","
            + subjectId + "," + teacherId + ".json";

    // Add the Jackson message converter
    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

    ResponseEntity<SubjectTeacherForClassVM> responseEntity = null;
    SubjectTeacherForClassVM stfc = null;

    try {
        responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity,
                SubjectTeacherForClassVM.class);
        stfc = responseEntity.getBody();
    } catch (RestClientException e) {
        return null;
    }

    Log.d("TAAAG", stfc.toString());

    getElapsedTime("getSubjectTeacherForClass - ");
    return stfc;
}

From source file:io.seldon.client.services.ApiServiceImpl.java

private Object performPut(final String endpointUrl, ResourceBean resourceBean) {
    logger.info("* PUT Endpoint: " + endpointUrl);
    if (token == null) {
        ResourceBean r = getToken();/*  w  w  w . j a  v  a 2s  .  c om*/
        if (r instanceof ErrorBean)
            return r;
    }
    String url = endpointUrl + "&oauth_token=" + token;
    RestTemplate template = createRestTemplate();
    logger.debug("* PUTting: " + resourceBean);
    logger.debug("** Endpoint: " + url);
    // API return types for posts vary: Map on success, ErrorBean on failure -- we're forced to use Object here:
    //template.put(url, resourceBean);
    HttpEntity<ResourceBean> entity = new HttpEntity<ResourceBean>(resourceBean);
    ResponseEntity<Object> responseEntity = null;
    try {
        responseEntity = template.exchange(url, HttpMethod.PUT, entity, Object.class);
    } catch (ResourceAccessException e) {
        if (e.getCause() instanceof SocketTimeoutException) {
            return createTimeoutBean();
        }
    }
    Object body = responseEntity.getBody();
    logger.debug("PUT response: " + body);
    if (body instanceof Map) {
        @SuppressWarnings("unchecked")
        Map<String, Object> map = (Map<String, Object>) body;
        String response = (String) map.get("response");
        String errorMessage = (String) map.get("error_msg"); // if this is an error bean
        if (response == null && errorMessage != null) {
            response = errorMessage;
        }
        if (response != null) { // not great; some posts return response maps, some return resource beans
            if (!response.equals("ok")) {
                if (response.equals("Token expired")) {
                    logger.debug("Token expired; acquiring a fresh one...");
                    ResourceBean r = getToken();
                    if (r instanceof ErrorBean)
                        return r;
                    return performPut(endpointUrl, resourceBean);
                } else {
                    return new ErrorBean(map);
                }
            }
        }
    }
    return body;
}

From source file:com.jvoid.core.controller.HomeController.java

@RequestMapping("/jvoid-products-by-cat")
public @ResponseBody String listAllJVoidProductsByCategoryForOutView(@RequestParam("catId") String catId) {
    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);

    JSONObject jsonObj = new JSONObject();
    try {// w  w w.  j av  a  2 s.  com
        jsonObj.put("id", Integer.parseInt(catId));
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    UriComponentsBuilder builder = UriComponentsBuilder
            .fromHttpUrl(ServerUris.PRODUCT_SERVER_URI + URIConstants.GET_PRODUCTS_BY_CATEGORY)
            .queryParam("params", jsonObj);
    HttpEntity<?> entity = new HttpEntity<>(headers);
    HttpEntity<String> returnString = restTemplate.exchange(builder.build().toUri(), HttpMethod.GET, entity,
            String.class);

    JSONObject returnJsonObj = null;
    try {
        returnJsonObj = new JSONObject(returnString.getBody());
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return returnJsonObj.toString();
}