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

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

Introduction

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

Prototype

public List<HttpMessageConverter<?>> getMessageConverters() 

Source Link

Document

Return the list of message body converters.

Usage

From source file:cz.zcu.kiv.eeg.mobile.base.ws.asynctask.FetchReservationsToDate.java

/**
 * Method, where all reservations to specified date are read from server.
 * All heavy lifting is made here.//  www  .  j ava2  s . c  o  m
 *
 * @param params only one TimeContainer parameter is allowed here - specifies day, month and year
 * @return list of fetched reservations
 */
@Override
protected List<Reservation> doInBackground(TimeContainer... params) {
    SharedPreferences credentials = getCredentials();
    String username = credentials.getString("username", null);
    String password = credentials.getString("password", null);
    String url = credentials.getString("url", null) + Values.SERVICE_RESERVATION;

    if (params.length == 1) {
        TimeContainer time = params[0];
        url = url + time.getDay() + "-" + time.getMonth() + "-" + time.getYear();
    } else {
        Log.e(TAG, "Invalid params count! There must be one TimeContainer instance");
        setState(ERROR, "Invalid params count! There must be one TimeContainer instance");
        return Collections.emptyList();
    }

    setState(RUNNING, R.string.working_ws_msg);

    // Populate the HTTP Basic Authentication header with the username and
    // password
    HttpAuthentication authHeader = new HttpBasicAuthentication(username, password);
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.setAuthorization(authHeader);
    requestHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));

    SSLSimpleClientHttpRequestFactory factory = new SSLSimpleClientHttpRequestFactory();
    // Create a new RestTemplate instance
    RestTemplate restTemplate = new RestTemplate(factory);
    restTemplate.getMessageConverters().add(new SimpleXmlHttpMessageConverter());

    try {
        // Make the network request
        Log.d(TAG, url);
        ResponseEntity<ReservationList> response = restTemplate.exchange(url, HttpMethod.GET,
                new HttpEntity<Object>(requestHeaders), ReservationList.class);
        ReservationList body = response.getBody();

        if (body != null) {
            return body.getReservations();
        }

    } catch (Exception e) {
        Log.e(TAG, e.getLocalizedMessage(), e);
        setState(ERROR, e);
    } finally {
        setState(DONE);
    }
    return Collections.emptyList();
}

From source file:se.sawano.scala.examples.scalaspringmvc.Config.java

private HashMap<String, HttpMessageConverter<?>> getDefaultMessageConverters() {
    RestTemplate dummyTemplate = new RestTemplate();
    HashMap<String, HttpMessageConverter<?>> defaultConverters = new HashMap<String, HttpMessageConverter<?>>();
    for (HttpMessageConverter<?> c : dummyTemplate.getMessageConverters()) {
        defaultConverters.put(c.getClass().toString(), c);
    }/*w ww .j  a v  a  2 s . c om*/
    return defaultConverters;
}

From source file:org.manalith.ircbot.plugin.google.GooglePlugin.java

public String getGoogleTopResult(String keyword) {
    try {// w ww.j av  a 2  s.  c om
        // http://code.google.com/apis/websearch/docs/#fonje
        final String url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0" //
                + "&q=" + keyword //
                + "&key=" + apiKey //
                + "&userip=" + InetAddress.getLocalHost().getHostAddress();

        MappingJackson2HttpMessageConverter conv = new MappingJackson2HttpMessageConverter();
        conv.setSupportedMediaTypes(
                Collections.singletonList(new MediaType("text", "javascript", Charset.forName("UTF-8"))));

        RestTemplate restTemplate = new RestTemplate();
        restTemplate.getMessageConverters().add(conv);

        SearchResponse res = restTemplate.getForObject(url, SearchResponse.class);

        if (res.responseData != null && ArrayUtils.isNotEmpty(res.responseData.results)) {

            SearchResult result = res.responseData.results[0];

            // HTML  
            return result.content.replace("<b>", HIGH_INTENSITY).replace("</b>", LOW_INTENSITY)
                    .replace("&quot;", "\"").replace("&#39;", "'").replace("&gt;", ">").replace("&lt;", "<")
                    .replace("&amp;", "&").replace("\n", "") + " : " + result.unescapedUrl;
        }
    } catch (IOException e) {
        logger.warn(e.getMessage(), e);
    }

    return null;
}

From source file:org.springframework.cloud.dataflow.rest.client.DataflowTemplateTests.java

@Test
public void testPrepareRestTemplateWithRestTemplateThatMissesJacksonConverter() {
    final RestTemplate providedRestTemplate = new RestTemplate();
    final Iterator<HttpMessageConverter<?>> iterator = providedRestTemplate.getMessageConverters().iterator();

    while (iterator.hasNext()) {
        if (iterator.next() instanceof MappingJackson2HttpMessageConverter) {
            iterator.remove();/*w  w  w  .  ja  v a2s .c  om*/
        }
    }

    try {
        DataFlowTemplate.prepareRestTemplate(providedRestTemplate);
    } catch (IllegalArgumentException e) {
        assertEquals("The RestTemplate does not contain a required MappingJackson2HttpMessageConverter.",
                e.getMessage());
        return;
    }

    fail("Expected an IllegalArgumentException to be thrown.");
}

From source file:com.concentricsky.android.khanacademy.data.remote.KAEntityCollectionFetcherTask.java

@Override
protected List<T> doInBackground(Void... arg0) {
    // call  API and fetch an entity tree (commonly the tree rooted at the root topic)

    RestTemplate restTemplate = new RestTemplate();
    if (consumer != null) {
        restTemplate.setRequestFactory(new SpringRequestFactory(consumer));
    }//from w  ww.  jav a  2  s  .c om

    restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
    ResponseEntity<String> result = restTemplate.getForEntity(url, String.class);
    String body = result.getBody();

    // String tag = "~~~~~~~~~~~~~~~~";
    // Log.setLevel(tag, Log.VERBOSE);
    // Log.d(tag, "result body is a " + body.getClass().getCanonicalName());
    // Log.d(tag, "result is " + body);

    ObjectMapper mapper = new ObjectMapper();

    List<T> list = null;
    try {
        list = mapper.readValue(body, type);
    } catch (JsonParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (JsonMappingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return list;
}

From source file:org.starfishrespect.myconsumption.android.tasks.GCMRegister.java

/**
 * Registers the application with GCM servers asynchronously.
 * <p>//from   www  .jav  a2 s .co m
 * Stores the registration ID and app versionCode in the application's
 * shared preferences.
 */
public void registerInBackground(final Context context) {
    AsyncTask<Void, List, String> task = new AsyncTask<Void, List, String>() {
        @Override
        protected String doInBackground(Void... params) {
            RestTemplate template = new RestTemplate();
            HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser();
            ResponseEntity<String> responseEnt;
            template.getMessageConverters().add(new FormHttpMessageConverter());
            template.getMessageConverters().add(new StringHttpMessageConverter());
            String msg = "";

            try {
                if (gcm == null) {
                    gcm = GoogleCloudMessaging.getInstance(context);
                }
                String regid = gcm.register(Config.SENDER_ID);
                msg = "Device registered, registration ID=" + regid;

                // Send the registration ID to the server
                String url = SingleInstance.getServerUrl() + "notifs/"
                        + SingleInstance.getUserController().getUser().getName() + "/id/" + regid;

                responseEnt = template.exchange(url, HttpMethod.POST, new HttpEntity<>(httpHeaders),
                        String.class);
                SimpleResponseDTO response = new ObjectMapper().readValue(responseEnt.getBody(),
                        SimpleResponseDTO.class);

                if (response.getStatus() != SimpleResponseDTO.STATUS_SUCCESS) {
                    msg = "Error: " + response.getStatus() + " Cannot post register id on server side.";
                }

                // Persist the registration ID - no need to register again.
                PrefUtils.setRegistrationId(context, regid);
            } catch (IOException ex) {
                msg = "Error:" + ex.getMessage();
                // If there is an error, don't just keep trying to register.
                // Require the user to click a button again, or perform
                // exponential back-off.
            }
            return msg;
        }

        @Override
        protected void onPostExecute(String msg) {
            LOGI(TAG, msg);
        }
    };

    task.execute();
}

From source file:com.netflix.spinnaker.orca.webhook.config.WebhookConfiguration.java

@Bean
@ConditionalOnMissingBean(RestTemplate.class)
public RestTemplate restTemplate(ClientHttpRequestFactory webhookRequestFactory) {
    RestTemplate restTemplate = new RestTemplate(webhookRequestFactory);

    List<HttpMessageConverter<?>> converters = restTemplate.getMessageConverters();
    converters.add(new ObjectStringHttpMessageConverter());
    converters.add(new MapToStringHttpMessageConverter());
    restTemplate.setMessageConverters(converters);

    return restTemplate;
}

From source file:org.starfishrespect.myconsumption.android.tasks.SensorValuesUpdater.java

public void refreshDB() {

    AsyncTask<Void, List, Void> task = new AsyncTask<Void, List, Void>() {
        @Override/* w w  w.j  a va2  s.  co m*/
        protected Void doInBackground(Void... params) {
            DatabaseHelper db = SingleInstance.getDatabaseHelper();
            RestTemplate template = new RestTemplate();
            HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser();
            ResponseEntity<List> responseEnt;
            template.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

            try {
                SensorValuesDao valuesDao = new SensorValuesDao(db);
                for (SensorData sensor : db.getSensorDao().queryForAll()) {
                    int startTime = (int) (sensor.getLastLocalValue().getTime() / 1000);
                    String url = String.format(SingleInstance.getServerUrl() + "sensors/%s/data?start=%d",
                            sensor.getSensorId(), startTime);
                    Log.d(TAG, url);
                    responseEnt = template.exchange(url, HttpMethod.GET, new HttpEntity<>(httpHeaders),
                            List.class);
                    List<List<Integer>> sensorData = responseEnt.getBody();
                    List<SensorValue> values = new ArrayList<>();
                    long last = 0;
                    long first = Long.MAX_VALUE;
                    for (List<Integer> value : sensorData) {
                        values.add(new SensorValue(value.get(0), value.get(1)));
                        if (value.get(0) > last) {
                            last = value.get(0);
                        }
                        if (value.get(0) < first) {
                            first = value.get(0);
                        }
                    }
                    valuesDao.insertSensorValues(sensor.getSensorId(), values);
                    sensor.setLastLocalValue(new Date(last * 1000));
                    long formerFirst = sensor.getFirstLocalValue().getTime() / 1000;
                    if (formerFirst > first || formerFirst == 0) {
                        sensor.setFirstLocalValue(new Date(first * 1000));
                    }
                    db.getSensorDao().update(sensor);
                    Log.d(TAG, "Inserted values to " + last);
                }
            } catch (SQLException e) {
                Log.e(TAG, "Error:" + e.toString());
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            if (updateFinishedCallback != null) {
                updateFinishedCallback.onUpdateFinished();
            }
        }
    };

    task.execute();
}

From source file:org.springframework.cloud.dataflow.rest.client.DataflowTemplateTests.java

private void assertCorrectMixins(RestTemplate restTemplate) {
    boolean containsMappingJackson2HttpMessageConverter = false;

    for (HttpMessageConverter<?> converter : restTemplate.getMessageConverters()) {
        if (converter instanceof MappingJackson2HttpMessageConverter) {
            containsMappingJackson2HttpMessageConverter = true;

            final MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter) converter;
            final ObjectMapper objectMapper = jacksonConverter.getObjectMapper();

            assertNotNull(objectMapper.findMixInClassFor(JobExecution.class));
            assertNotNull(objectMapper.findMixInClassFor(JobParameters.class));
            assertNotNull(objectMapper.findMixInClassFor(JobParameter.class));
            assertNotNull(objectMapper.findMixInClassFor(JobInstance.class));
            assertNotNull(objectMapper.findMixInClassFor(ExitStatus.class));
            assertNotNull(objectMapper.findMixInClassFor(StepExecution.class));
            assertNotNull(objectMapper.findMixInClassFor(ExecutionContext.class));
            assertNotNull(objectMapper.findMixInClassFor(StepExecutionHistory.class));
        }/* w  ww .  j a va2 s .  c  om*/
    }

    if (!containsMappingJackson2HttpMessageConverter) {
        fail("Expected that the restTemplate's list of Message Converters contained a "
                + "MappingJackson2HttpMessageConverter");
    }
}

From source file:com.dominion.salud.mpr.negocio.service.integracion.impl.BuzonOutServiceImpl.java

/**
 *
 *///ww w.j  av a 2s  .  c o m
@Override
@Scheduled(cron = "${mpr.task.buzon.out.process.messages}")
public void processMessages() {
    List<BuzonOut> buzonOuts = buzonOutRepository.findAllNoProcesados();
    if (buzonOuts != null && !buzonOuts.isEmpty()) {
        logger.debug("Se han obtenido " + buzonOuts.size() + " mensajes para procesar");

        int contador = 0;
        Iterator<BuzonOut> iterador = buzonOuts.iterator();
        while (iterador.hasNext()) {
            contador++;
            BuzonOut buzonOut = iterador.next();
            buzonOut.setFechaPro(new Date());

            try {
                logger.debug("     Procesando mensaje " + contador + "(" + buzonOut.getIdMensaje() + ") de "
                        + buzonOuts.size());

                if (StringUtils.isBlank(buzonOut.getCentros().getUrl())) {
                    throw new Exception("No se ha indicado la URL de destino (" + buzonOut.getCentros().getUrl()
                            + ") para el centro (" + buzonOut.getCentros().getCodCentro() + ") "
                            + buzonOut.getCentros().getTxtCentro());
                }

                logger.debug("          Iniciando el envio a: " + buzonOut.getCentros().getUrl());
                String response = "";
                switch (buzonOut.getTipo()) {
                case "ZFN_O13": //Acuerdo
                    RestTemplate restTemplate = new RestTemplate();
                    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());

                    try {
                        logger.debug("          Enviando el mensaje " + contador + "(" + buzonOut.getIdMensaje()
                                + ") de " + buzonOuts.size());
                        response = restTemplate.postForObject(new URI(buzonOut.getCentros().getUrl()),
                                buzonOut.getMensaje(), String.class);
                        logger.debug("          Respuesta recibida: " + response);
                    } catch (URISyntaxException | RestClientException e) {
                        throw new RestClientException("No se ha podido enviar el mensaje al destinatario ["
                                + buzonOut.toString() + "]: "
                                + (StringUtils.isNotBlank(e.getMessage()) ? e.getMessage() : e.toString()));
                    }
                    break;
                default:
                    logger.error("No se reconoce el formato del mensaje: " + buzonOut.getTipo());
                    throw new Exception("No se reconoce el formato del mensaje: " + buzonOut.getTipo());
                }

                //Evalua la respuesta recibida
                try {
                    logger.debug("          Procesando al respuesta del mensaje " + contador + "("
                            + buzonOut.getIdMensaje() + ") de " + buzonOuts.size());
                    ACK ack = (ACK) new ER7Parser().parse(response);
                    if (!StringUtils.equals(ack.getMSA().getAcknowledgmentCode().getValue(), "AA")
                            && !StringUtils.equals(ack.getMSA().getAcknowledgmentCode().getValue(), "CA")) { //AA - Application Accept o CA - Commit Accept
                        logger.error("Se han producido errores al procesar el mensaje " + contador + "("
                                + buzonOut.getIdMensaje() + ") de " + buzonOuts.size() + " en destino: "
                                + ack.getERR().getDiagnosticInformation().getValue());
                        throw new Exception(ack.getERR().getDiagnosticInformation().getValue());
                    }
                    buzonOut.setEstado(AbstractIntegracionEntity.MENSAJE_PROCESADO);
                } catch (HL7Exception e) {
                    logger.error("No se ha podido procesar la respuesta del mensaje " + contador + "("
                            + buzonOut.getIdMensaje() + ") de " + buzonOuts.size() + ": " + e.getMessage());
                    throw new Exception("No se ha podido procesar la respuesta del mensaje " + contador + "("
                            + buzonOut.getIdMensaje() + ") de " + buzonOuts.size() + ": " + e.getMessage());
                }
            } catch (Exception e) {
                logger.error((StringUtils.isNotBlank(e.getMessage()) ? e.getMessage() : e.toString()));
                buzonOut.setEstado(AbstractIntegracionEntity.MENSAJE_ERRONEO);

                //BuzonErrores
                BuzonErrores buzonErrores = new BuzonErrores();
                buzonErrores.setBuzonOut(buzonOut);
                buzonErrores.setEstado(AbstractIntegracionEntity.MENSAJE_NO_PROCESADO);
                buzonErrores.setFechaError(new Date());
                buzonErrores.setMensaje("<b>SE HAN PRODUCIDO ERRORES AL PROCESAR EL MENSAJE (Saliente)</b><br>"
                        + (StringUtils.isNotBlank(e.getMessage()) ? e.getMessage() : e.toString()));
                buzonErroresService.save(buzonErrores);
            } finally {
                buzonOutRepository.save(buzonOut);
            }
        }
    }
}