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 ArrayList<TimetableDays> getTeacherTimetable() {
    setStartTime();//from  w ww .j a  va 2s. c  o m
    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

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

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

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

    } catch (Exception e) {
        return null;
    }

    getElapsedTime("getTeacherTimetable - ");
    return timetable.getTimetableDaysList();
}

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

@Override
public SubjectClassesVM getSubjectsForTeacherSubjects() {
    setStartTime();//from  w ww  . java 2s . c  om

    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

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

    // Add the Jackson message converter
    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
    ResponseEntity<SubjectClassesVM> responseEntity = null;
    SubjectClassesVM cfast = null;
    try {
        responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, SubjectClassesVM.class);
        cfast = responseEntity.getBody();
    } catch (RestClientException e) {
        return null;
    }

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

    getElapsedTime("getSubjectsForTeacherSubjects - ");

    return cfast;
}

From source file:com.auditbucket.test.functional.TestAuditIntegration.java

private String runQuery(QueryParams queryParams) throws Exception {
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(new StringHttpMessageConverter());

    HttpHeaders httpHeaders = AbRestClient.getHeaders("mike", "123");
    HttpEntity<QueryParams> requestEntity = new HttpEntity<>(queryParams, httpHeaders);

    try {//from ww w  .  j a  v  a 2 s  . c  o  m
        return restTemplate.exchange("http://localhost:9081/ab-search/v1/query/", HttpMethod.POST,
                requestEntity, String.class).getBody();
    } catch (HttpClientErrorException e) {
        logger.error("AB Client Audit error {}", e);
    } catch (HttpServerErrorException e) {
        logger.error("AB Server Audit error {}", e);

    }
    return null;
}

From source file:cn.org.once.cstack.cli.rest.RestUtils.java

/**
 * //from   ww w.  ja  va2s . c o m
 * /** sendPostCommand
 *
 * @param url
 * @param parameters
 * @return
 * @throws ClientProtocolException
 */
public Map<String, Object> sendPostForUpload(String url, Map<String, Object> parameters) {
    SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
    requestFactory.setBufferRequestBody(false);

    RestTemplate restTemplate = new RestTemplate(requestFactory);
    List<HttpMessageConverter<?>> mc = restTemplate.getMessageConverters();
    mc.add(new MappingJackson2HttpMessageConverter());
    restTemplate.setMessageConverters(mc);

    MultiValueMap<String, Object> postParams = new LinkedMultiValueMap<String, Object>();
    postParams.setAll(parameters);
    Map<String, Object> response = new HashMap<String, Object>();
    HttpHeaders headers = new HttpHeaders();
    headers.set("Content-Type", "multipart/form-data");
    headers.set("Accept", "application/json");
    headers.add("Cookie", "JSESSIONID=" + localContext.getCookieStore().getCookies().get(0).getValue());
    HttpEntity<Object> request = new HttpEntity<Object>(postParams, headers);
    ResponseEntity<?> result = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
    String body = result.getBody().toString();
    MediaType contentType = result.getHeaders().getContentType();
    HttpStatus statusCode = result.getStatusCode();
    response.put(CONTENT_TYPE, contentType);
    response.put(STATUS_CODE, statusCode);
    response.put(BODY, body);

    return response;

}

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

@Override
public ArrayList<GradesAttendForSubject> getGradesAttendForSubjectList(int studentId, Semester semester) {
    setStartTime();/*from   w  w  w  . j av  a 2s.  c o  m*/
    HttpEntity<?> requestEntity = getAuthHttpEntity();

    RestTemplate restTemplate = new RestTemplate();

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

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

    ResponseEntity<GradesAttendForSubjectVM> responseEntity = null;
    GradesAttendForSubjectVM allGradesAndAbsences = null;
    try {
        responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity,
                GradesAttendForSubjectVM.class);
        allGradesAndAbsences = responseEntity.getBody();
        // TODO: fix
        if (semester != null)
            trimForSemester(allGradesAndAbsences, semester);
    } catch (RestClientException e) {
        return null;
    }

    getElapsedTime("getGradesAttendForSubjectList - ");
    return allGradesAndAbsences.getGradesAttendForSubjectList();
}

From source file:fr.treeptik.cloudunit.cli.rest.RestUtils.java

/**
 * sendPostCommand/*w ww  .  j  a  v  a2 s. c  o m*/
 *
 * @param url
 * @param parameters
 * @return
 * @throws ClientProtocolException
 */
public Map<String, Object> sendPostForUpload(String url, Map<String, Object> parameters) {
    RestTemplate restTemplate = new RestTemplate();
    List<HttpMessageConverter<?>> mc = restTemplate.getMessageConverters();
    mc.add(new MappingJacksonHttpMessageConverter());
    restTemplate.setMessageConverters(mc);
    MultiValueMap<String, Object> postParams = new LinkedMultiValueMap<String, Object>();
    postParams.setAll(parameters);
    Map<String, Object> response = new HashMap<String, Object>();
    HttpHeaders headers = new HttpHeaders();
    headers.set("Content-Type", "multipart/form-data");
    headers.set("Accept", "application/json");
    headers.add("Cookie", "JSESSIONID=" + localContext.getCookieStore().getCookies().get(0).getValue());
    org.springframework.http.HttpEntity<Object> request = new org.springframework.http.HttpEntity<Object>(
            postParams, headers);
    ResponseEntity<?> result = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
    String body = result.getBody().toString();
    MediaType contentType = result.getHeaders().getContentType();
    HttpStatus statusCode = result.getStatusCode();
    response.put("content-type", contentType);
    response.put("statusCode", statusCode);
    response.put("body", body);

    return response;

}

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

private boolean edit() {
    ObjectMapper mapper = new ObjectMapper();
    RestTemplate template = new RestTemplate();
    HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser();
    ResponseEntity<String> responseEnt;
    template.getMessageConverters().add(new FormHttpMessageConverter());
    template.getMessageConverters().add(new StringHttpMessageConverter());

    try {//w w w  .java 2s.  c o  m
        UriComponentsBuilder builder = UriComponentsBuilder
                .fromHttpUrl(SingleInstance.getServerUrl() + "sensors/" + editSensor.getSensorId())
                .queryParam("name", editTextSensorName.getText().toString())
                .queryParam("type", selectedSensorType)
                .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:org.starfishrespect.myconsumption.android.ui.ChartChoiceFragment.java

private void deleteSensor(int index) {
    AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
    builder.setTitle(R.string.dialog_title_confirmation);
    builder.setMessage(//from   w  w w.  j a  va  2s  . com
            String.format(getResources().getString(R.string.dialog_message_confirmation_delete_sensor),
                    sensors.get(lastLongClickItem).getName()));
    builder.setNegativeButton(R.string.button_no, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    });
    builder.setPositiveButton(R.string.button_yes, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            new AsyncTask<Void, Boolean, Void>() {
                @Override
                protected Void doInBackground(Void... params) {
                    RestTemplate template = new RestTemplate();
                    HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser();
                    template.getMessageConverters().add(new FormHttpMessageConverter());
                    template.getMessageConverters().add(new StringHttpMessageConverter());

                    String url = SingleInstance.getServerUrl() + "users/"
                            + SingleInstance.getUserController().getUser().getName() + "/sensor/"
                            + sensors.get(lastLongClickItem).getSensorId();

                    template.exchange(url, HttpMethod.DELETE, new HttpEntity<>(httpHeaders), String.class);

                    try {
                        SingleInstance.getDatabaseHelper().getSensorDao()
                                .delete(sensors.get(lastLongClickItem));
                        new SensorValuesDao(SingleInstance.getDatabaseHelper())
                                .removeSensor(sensors.get(lastLongClickItem).getSensorId());
                    } catch (SQLException e) {
                        publishProgress(false);
                    }
                    publishProgress(true);
                    return null;
                }

                @Override
                protected void onProgressUpdate(Boolean... values) {
                    for (boolean b : values) {
                        if (b) {
                            new AlertDialog.Builder(mActivity).setTitle(R.string.dialog_title_information)
                                    .setMessage(R.string.dialog_message_information_sensor_deleted)
                                    .setPositiveButton(R.string.button_ok,
                                            new DialogInterface.OnClickListener() {
                                                @Override
                                                public void onClick(DialogInterface dialog, int which) {
                                                    EventBus.getDefault().post(new ReloadUserEvent(false));
                                                    dialog.dismiss();
                                                }
                                            })
                                    .show();
                        } else {
                            new AlertDialog.Builder(mActivity).setTitle(R.string.dialog_title_information)
                                    .setMessage("unknown error while deleting from DB").setPositiveButton(
                                            R.string.button_ok, new DialogInterface.OnClickListener() {
                                                @Override
                                                public void onClick(DialogInterface dialog, int which) {
                                                    dialog.dismiss();
                                                }
                                            })
                                    .show();
                        }
                    }
                }
            }.execute();
            dialog.dismiss();
        }

    });
    builder.show();

}

From source file:br.edu.unifesspa.lcc.indexer.GerarIndice.java

private void DownloadInfo() throws InterruptedException {
    //Verifica se j existe um banco de demanda criado no Mongo
    List<String> dbs = mongo.getDatabaseNames();
    if (!dbs.contains(assunto.toString())) {//Se o banco no existe, faz o download

        RestTemplate rt = new RestTemplate();
        DB territorios = mongo.getDB("territorios");
        DBCollection colTerritorios = territorios.getCollection("territorio");
        HttpEntity<String> entity = new HttpEntity<>("parameters", Processar.headers);
        BasicDBObject insert = new BasicDBObject();

        BasicDBObject insertDemanda = new BasicDBObject();

        DBCollection colDaDemanda = dbAssunto.getCollection(assunto.toString());

        System.out.println("db =" + dbAssunto);
        DBCollection k_classe = dbAssunto.getCollection("k");
        //K_CLASSES  -----------------------------------------------------------------------------------------------
        try {/*from  w w  w .  jav  a 2 s. c o  m*/

            ResponseEntity<domain.K_classes[]> kClasse = rt.exchange(
                    "http://xingu.lcc.unifesspa.edu.br:8080/api/k_classess?idassunto=" + assunto,
                    HttpMethod.GET, entity, domain.K_classes[].class);
            System.out.println("K-classe tamanho: " + kClasse.getBody().length);
            //System.out.println("Tamanho body:" + kClasse.getBody().length);
            for (domain.K_classes k : kClasse.getBody()) {
                insert.append("k_ordem", k.getk_ordem());
                insert.append("k_classes_id", k.getId());
                insert.append("ck", Integer.parseInt(k.getk_codigo()));
                insert.append("dk", k.getk_descricao());

                k_classe.insert(insert);
                insert.clear();

            }
            System.out.println("DEVERIA TER INSERIDO O K");
        } catch (Exception e) {
            e.printStackTrace();
            insert.clear();
        }
        //FIM K-CLASSES E COMEO INPUT_PRESENTES --------------------------------------------------------------------------------------------------------
        BasicDBObject insertCI = new BasicDBObject();
        try {
            System.out.println("Comeando a inserir os Inputs do assunto: " + assunto);
            ResponseEntity<domain.Input_presenteDTO[]> input = rt.exchange(
                    "http://xingu.lcc.unifesspa.edu.br:8080/api/input_presentes/getInputPresenteByAssantoId/"
                            + assunto,
                    HttpMethod.GET, entity, Input_presenteDTO[].class);
            System.out.println("Fez o download do assunto: " + assunto);
            System.out.println("Tamano input: " + input.getBody().length + "  Assunto: " + assunto);
            DBCollection colInput_presente = dbAssunto.getCollection("i"); // inserir assunto na base
            BasicDBObject search2 = new BasicDBObject();

            //    int cont = 0;
            for (Input_presenteDTO Input2 : input.getBody()) {
                //       System.out.println("Entrou");
                //Para a coleo "i"
                search2.append("ci", Integer.parseInt(Input2.getCodigo()));
                DBObject aux = colInput_presente.findOne(search2);
                if (aux != null) {
                    search2.clear();
                    // System.out.println("ja tem esse territorio inserido");
                } else {

                    DBCursor cursor = colTerritorios.find(search2);
                    while (cursor.hasNext()) {

                        aux = cursor.next();
                        // System.out.println("AUX: " + aux.toString());
                        if (Integer.parseInt(aux.get("ci").toString()) == Integer.parseInt(Input2.getCodigo())
                                && Integer.parseInt(aux.get("ano").toString()) == Integer
                                        .parseInt(Input2.getAno_ref())) {
                            // insertCI.append("uf_sigla", aux.get("uf_sigla"));
                            insertCI.append("longitude", Double.parseDouble(aux.get("longitude").toString()));
                            insertCI.append("latitude", Double.parseDouble(aux.get("latitude").toString()));
                            // System.out.println("Achou Territorio");
                        }

                    }
                    insertCI.append("ci", Integer.parseInt(Input2.getI_codigo_amc()));
                    insertCI.append("di", Input2.getTerritorio_nome());
                    insertCI.append("ano_ref", Integer.parseInt(aux.get("ano").toString()));
                    search2.clear();
                    colInput_presente.insert(insertCI);
                    insertCI.clear();
                }

                //Para a coleo com o mesmo nome da base
                insertDemanda.append("ci", Integer.parseInt(Input2.getI_codigo_amc()));
                insertDemanda.append("di", Input2.getTerritorio_nome());
                insertDemanda.append("ck", Integer.parseInt(Input2.getK_classesK_codigo()));
                insertDemanda.append("quant_valor", Double.parseDouble(Input2.getX_valor()));
                insertDemanda.append("ano", Integer.parseInt(Input2.getAno_ref()));

                //Aqui se acha a descrio da K-Classe envolvida, atravs do "k_classesK_codigo"                       
                search2.append("ck", Integer.parseInt(Input2.getK_classesK_codigo()));

                aux = k_classe.findOne(search2);
                insertDemanda.append("dk", (String) aux.get("dk"));
                search2.clear();

                //                    
                colDaDemanda.insert(insertDemanda);

                insertDemanda.clear();

                //   cont++;
                //   System.out.println(cont);
            }
            System.out.println("Inseriu input_presente do assunto: " + assunto);
            //Preparar banco------------------
            System.out.println("Preparando o assunto: " + assunto);
            datadao.prepareDatabase(false, dbAssunto);
            System.out.println("Fim preparar banco do assunto: " + assunto);
            //Fim preparar Banco----------
        } catch (Exception e) {
            e.printStackTrace();

            insert.clear();
            insertCI.clear();
        }

    } else {
        BasicDBObject search = new BasicDBObject();
        DB aux = mongo.getDB("demandas");
        DBCollection colDemandaAtiva = aux.getCollection("demandas_ativas");
        search.append("demanda", assunto.toString());
        boolean situacao = false;
        while (situacao == false) {

            DBCursor demanAtiva = colDemandaAtiva.find(search);
            if (demanAtiva.size() >= 1) {

                situacao = true;
            }
            Thread.currentThread().sleep(5000);
        }

    }

}