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:org.sakaiproject.rubrics.logic.RubricsServiceImpl.java

private String cloneRubricToSite(String rubricId, String toSite) {
    try {//  w w  w.j  av a  2s.c  o  m
        String url = serverConfigurationService.getServerUrl() + RBCS_SERVICE_URL_PREFIX + "rubrics/clone";
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.add("Authorization",
                String.format("Bearer %s", generateJsonWebToken(RubricsConstants.RBCS_TOOL, toSite)));
        headers.add("x-copy-source", rubricId);
        headers.add("site", toSite);
        MultiValueMap<String, String> body = new LinkedMultiValueMap<String, String>();
        HttpEntity<?> requestEntity = new HttpEntity<>(body, headers);
        ResponseEntity<Rubric> rubricEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity,
                Rubric.class);
        Rubric rub = rubricEntity.getBody();
        return String.valueOf(rub.getId());
    } catch (Exception e) {
        log.error("Exception when cloning rubric {} to site {} : {}", rubricId, toSite, e.getMessage());
    }
    return null;
}

From source file:org.springframework.batch.admin.web.server.JsonIntegrationTests.java

@Test
public void testHomePage() throws Exception {
    RestTemplate template = new RestTemplate();
    ResponseEntity<String> result = template.exchange(serverRunning.getUrl() + "/home.json", HttpMethod.GET,
            null, String.class);
    JsonWrapper wrapper = new JsonWrapper(result.getBody());
    assertNotNull(wrapper.get("feed.resources"));
    assertNotNull(wrapper.get("feed.resources['/files'].uri"));
}

From source file:org.springframework.batch.admin.web.server.JsonIntegrationTests.java

@Test
public void testJobsPage() throws Exception {
    RestTemplate template = new RestTemplate();
    ResponseEntity<String> result = template.exchange(serverRunning.getUrl() + "/jobs.json", HttpMethod.GET,
            null, String.class);
    JsonWrapper wrapper = new JsonWrapper(result.getBody());
    // System.err.println(wrapper);
    assertNotNull(wrapper.get("jobs.resource"));
    assertNotNull(wrapper.get("jobs.registrations.infinite.name"));
}

From source file:org.springframework.batch.admin.web.server.JsonIntegrationTests.java

@Test
public void testJobConfigurationUpload() throws Exception {
    RestTemplate template = new RestTemplate();
    HttpEntity<String> request = new HttpEntity<String>(
            FileUtils.readFileToString(new File("src/test/resources/test-job-context.xml")));
    ResponseEntity<String> result = template.exchange(serverRunning.getUrl() + "/job-configuration.json",
            HttpMethod.POST, request, String.class);
    JsonWrapper wrapper = new JsonWrapper(result.getBody());
    // System.err.println(wrapper);
    assertNotNull(wrapper.get("jobs.resource"));
    assertNotNull(wrapper.get("jobs.registrations['test-job'].name"));
}

From source file:org.springframework.batch.admin.web.server.JsonIntegrationTests.java

@Test
public void testJobLaunch() throws Exception {

    RestTemplate template = new RestTemplate();
    ResponseEntity<String> result = template.exchange(
            serverRunning.getUrl() + "/jobs/job2.json?jobParameters=fail=true", HttpMethod.POST, null,
            String.class);
    JsonWrapper wrapper = new JsonWrapper(result.getBody());
    // System.err.println(wrapper);
    assertNotNull(wrapper.get("jobExecution.resource"));
    assertNotNull(wrapper.get("jobExecution.status"));
    assertNotNull(wrapper.get("jobExecution.id"));

    // Poll for the completed job execution
    final String resource = wrapper.get("jobExecution.resource", String.class);
    Poller<JsonWrapper> poller = new DirectPoller<JsonWrapper>(100L);
    Future<JsonWrapper> poll = poller.poll(new Callable<JsonWrapper>() {
        public JsonWrapper call() throws Exception {
            RestTemplate template = new RestTemplate();
            ResponseEntity<String> result = template.exchange(resource, HttpMethod.GET, null, String.class);
            JsonWrapper wrapper = new JsonWrapper(result.getBody());
            // System.err.println(wrapper);
            Map<?, ?> map = wrapper.get("jobExecution.stepExecutions", Map.class);
            return map.isEmpty() || wrapper.get("jobExecution.stepExecutions['job2.step1']['resource']") == null
                    ? null/*from  w  w w  . j a va  2 s . co  m*/
                    : wrapper;
        }
    });
    JsonWrapper jobExecution = poll.get(500L, TimeUnit.MILLISECONDS);
    assertNotNull(jobExecution);
    // System.err.println(jobExecution);

    // Verify that there is a step execution in the result
    result = template.exchange(
            jobExecution.get("jobExecution.stepExecutions['job2.step1'].resource", String.class),
            HttpMethod.GET, null, String.class);
    wrapper = new JsonWrapper(result.getBody());
    // System.err.println(wrapper);
    assertNotNull(wrapper.get("stepExecution.id"));
    assertNotNull(wrapper.get("stepExecution.status"));
    assertNotNull(wrapper.get("jobExecution.resource"));
    assertNotNull(wrapper.get("jobExecution.status"));
    assertNotNull(wrapper.get("jobExecution.id"));

}

From source file:org.springframework.batch.admin.web.server.JsonIntegrationTests.java

@Test
public void testJobStop() throws Exception {

    RestTemplate template = new RestTemplate();
    ResponseEntity<String> result = template.exchange(serverRunning.getUrl()
            + "/jobs/infinite.json?jobParameters=timestamp=" + System.currentTimeMillis(), HttpMethod.POST,
            null, String.class);
    JsonWrapper wrapper = new JsonWrapper(result.getBody());
    // System.err.println(wrapper);
    assertNotNull(wrapper.get("jobExecution.resource"));
    assertNotNull(wrapper.get("jobExecution.status"));
    assertNotNull(wrapper.get("jobExecution.id"));

    template.exchange(wrapper.get("jobExecution.resource", String.class), HttpMethod.DELETE, null,
            String.class);

    // Poll for the completed job execution
    final String resource = wrapper.get("jobExecution.resource", String.class);
    Poller<JsonWrapper> poller = new DirectPoller<JsonWrapper>(100L);
    Future<JsonWrapper> poll = poller.poll(new Callable<JsonWrapper>() {
        public JsonWrapper call() throws Exception {
            RestTemplate template = new RestTemplate();
            ResponseEntity<String> result = template.exchange(resource, HttpMethod.GET, null, String.class);
            JsonWrapper wrapper = new JsonWrapper(result.getBody());
            // System.err.println(wrapper);
            BatchStatus status = wrapper.get("jobExecution.status", BatchStatus.class);
            return status.isGreaterThan(BatchStatus.STOPPING) ? wrapper : null;
        }//from  w w w .j  av a  2 s  .  c o m
    });
    JsonWrapper jobExecution = poll.get(500L, TimeUnit.MILLISECONDS);
    assertNotNull(jobExecution);

    BatchStatus status = jobExecution.get("jobExecution.status", BatchStatus.class);
    assertEquals(BatchStatus.STOPPED, status);

}

From source file:org.springframework.data.hadoop.admin.cli.commands.BaseCommand.java

/**
 * call rest service with "Post" /*  ww  w .j ava2 s.c  om*/
 * @param <T>
 */
public <T> void callPostService(T object) {
    try {
        RestTemplate template = getRestTemplate();
        //      String message = template.postForObject(getCommandUrl(), object, String.class);
        HttpEntity<T> entity = new HttpEntity<T>(object);
        ResponseEntity<String> response = template.exchange(generateCommandUrl(), HttpMethod.POST, entity,
                String.class);
        String message = response.getBody();
        if (message != null) {
            Log.show(message);
        }
    } catch (Throwable t) {
        showErrorMsg(t);
    }
}

From source file:org.springframework.data.hadoop.admin.cli.commands.BaseCommand.java

/**
 * call rest service with "Delete" //from   w  w w .j a  va  2 s. c o  m
 * @param object
 */
public <T> void callDeleteService(T object) {
    try {
        RestTemplate template = getRestTemplate();
        //template.delete(getCommandUrl());
        HttpEntity<T> entity = new HttpEntity<T>(object);
        ResponseEntity<String> response = template.exchange(generateCommandUrl(), HttpMethod.DELETE, entity,
                String.class);
        String message = response.getBody();
        if (message != null) {
            Log.show(message);
        }
    } catch (Throwable t) {
        showErrorMsg(t);
    }
}

From source file:org.springframework.integration.samples.multipart.MultipartRestClient.java

public static void main(String[] args) throws Exception {
    RestTemplate template = new RestTemplate();
    Resource s2logo = new ClassPathResource(resourcePath);
    MultiValueMap<String, Object> multipartMap = new LinkedMultiValueMap<String, Object>();
    multipartMap.add("company", "SpringSource");
    multipartMap.add("company-logo", s2logo);
    logger.info("Created multipart request: " + multipartMap);
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(new MediaType("multipart", "form-data"));
    HttpEntity<Object> request = new HttpEntity<Object>(multipartMap, headers);
    logger.info("Posting request to: " + uri);
    ResponseEntity<?> httpResponse = template.exchange(uri, HttpMethod.POST, request, Object.class);
    if (!httpResponse.getStatusCode().equals(HttpStatus.OK)) {
        logger.error("Problems with the request. Http status: " + httpResponse.getStatusCode());
    }//from   w w w .j a  v  a2 s.c  o m
}

From source file:org.tnova.service.catalog.service.impl.SlaServiceImpl.java

@Override
public boolean populateSlaTemplate(Nsd networkService) throws Exception {
    logger.info("Generate sla templates based on network service with id = {}", networkService.getId());
    List<SlaTemplate> templates = SlaTemplateGenerator.convertNetorkServiceToSlaTemplate(networkService);

    if (templates == null || templates.isEmpty()) {
        logger.warn("No sla templates were generated. Please check possible errors!!!!");

        return false;
    }//from   w  w w .  j  a  va  2 s .co  m

    for (SlaTemplate template : templates) {
        if (activationStatus.equalsIgnoreCase("enabled")) {
            logger.info("Populating sla template with id = {} to sla module with url = {}",
                    template.getTemplateId(), slaModuleUrl);
            RestTemplate restTemplate = new RestTemplate();
            ObjectMapper mapper = new ObjectMapper();
            HttpEntity<String> request = new HttpEntity<String>(mapper.writeValueAsString(template),
                    createHeaders(username, password));

            ResponseEntity<String> response = restTemplate.exchange(slaModuleUrl, HttpMethod.POST, request,
                    String.class);

            if (response == null || response.getStatusCode() != HttpStatus.CREATED) {
                logger.error("An error occurred during the request in sla module. PLEASE CHECK !!!");
                if (response != null) {
                    logger.error("Error Code is: " + response.getStatusCode().getReasonPhrase());
                    logger.error("Body is: " + response.getBody());

                }
                return false;
            } else {
                logger.info("Request was successfully submitted to SLA module. ");
            }
        } else {
            logger.info("Population to sla template is not active, printed in log for verification");
            ObjectMapper objectMapper = new ObjectMapper();
            try {
                logger.info(objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(template));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

    return true;
}