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:com.catalog.core.Api.java

@Override
public ArrayList<GradesAttendForSubject> getGradesAttendForSubjectList(int studentId, Semester semester) {
    setStartTime();//from   w  ww  .  j av  a 2 s .  co 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:com.catalog.core.Api.java

@Override
public StudentFinalScoresForAllSemestersVM getFinalScoresForStudent(int studentId) {
    setStartTime();//from ww w.java 2 s  . c  o  m

    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 CloseClassSituationVM closeClassSituation(int classGroupId, int semesterId) {
    setStartTime();//from w  w  w  .  ja  va 2s.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.catalog.core.Api.java

@Override
public MotivateIntervalVM motivateInterval(int studentId, int teacherId, int classGroupId, long date1,
        long date2) {
    setStartTime();/*from w  w w  .  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:com.catalog.core.Api.java

@Override
public SubjectTeacherForClassVM getSubjectTeacherForClass(int subjectId, int teacherId, int classGroupId) {
    setStartTime();//from w w  w .  j  av a2s. 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:com.epl.ticketws.services.QueryService.java

public T query(String url, String method, String accept, Class<T> rc, Map<String, String> parameters) {

    try {//from w  w w  .  ja v a  2s.  com
        URI uri = new URL(url).toURI();
        long timestamp = new Date().getTime();

        HttpMethod httpMethod;
        if (method.equalsIgnoreCase("post")) {
            httpMethod = HttpMethod.POST;
        } else {
            httpMethod = HttpMethod.GET;
        }

        String stringToSign = getStringToSign(uri, httpMethod.name(), timestamp, parameters);

        // logger.info("String to sign: " + stringToSign);
        String authorization = generate_HMAC_SHA1_Signature(stringToSign, password + license);
        // logger.info("Authorization string: " + authorization);

        // Setting Headers
        HttpHeaders headers = new HttpHeaders();
        if (accept.equalsIgnoreCase("json")) {
            headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
        } else {
            headers.setAccept(Arrays.asList(MediaType.TEXT_XML));
        }

        headers.add("Authorization", authorization);
        headers.add("OB_DATE", "" + timestamp);
        headers.add("OB_Terminal", terminal);
        headers.add("OB_User", user);
        headers.add("OB_Channel", channel);
        headers.add("OB_POS", pos);
        headers.add("Content-Type", "application/x-www-form-urlencoded");

        HttpEntity<String> entity;

        if (httpMethod == HttpMethod.POST) {
            // Adding post parameters to POST body
            String parameterStringBody = getParametersAsString(parameters);
            entity = new HttpEntity<String>(parameterStringBody, headers);
            // logger.info("POST Body: " + parameterStringBody);
        } else {
            entity = new HttpEntity<String>(headers);
        }

        RestTemplate restTemplate = new RestTemplate(
                new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory()));
        List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
        interceptors.add(new LoggingRequestInterceptor());
        restTemplate.setInterceptors(interceptors);

        // Converting to UTF-8. OB Rest replies in windows charset.
        //restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName(UTF_8)));

        if (accept.equalsIgnoreCase("json")) {
            restTemplate.getMessageConverters().add(0,
                    new org.springframework.http.converter.json.MappingJackson2HttpMessageConverter());
        } else {
            restTemplate.getMessageConverters().add(0,
                    new org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter());
        }

        ResponseEntity<T> response = restTemplate.exchange(uri, httpMethod, entity, rc);

        if (!response.getStatusCode().is2xxSuccessful())
            throw new HttpClientErrorException(response.getStatusCode());

        return response.getBody();
    } catch (HttpClientErrorException e) {
        logger.error(e.getMessage());
        e.printStackTrace();
    } catch (MalformedURLException e) {
        logger.error(e.getMessage());
        e.printStackTrace();
    } catch (SignatureException e) {
        logger.error(e.getMessage());
        e.printStackTrace();
    } catch (URISyntaxException e) {
        logger.error(e.getMessage());
        e.printStackTrace();
    } catch (Exception e) {
        logger.error(e.getMessage());
        e.printStackTrace();
    }
    return null;
}

From source file:org.apache.zeppelin.livy.BaseLivyInterpreter.java

private RestTemplate createRestTemplate() {
    String keytabLocation = getProperty("zeppelin.livy.keytab");
    String principal = getProperty("zeppelin.livy.principal");
    boolean isSpnegoEnabled = StringUtils.isNotEmpty(keytabLocation) && StringUtils.isNotEmpty(principal);

    HttpClient httpClient = null;//  w w  w.j a  v  a 2 s . co  m
    if (livyURL.startsWith("https:")) {
        String keystoreFile = getProperty("zeppelin.livy.ssl.trustStore");
        String password = getProperty("zeppelin.livy.ssl.trustStorePassword");
        if (StringUtils.isBlank(keystoreFile)) {
            throw new RuntimeException("No zeppelin.livy.ssl.trustStore specified for livy ssl");
        }
        if (StringUtils.isBlank(password)) {
            throw new RuntimeException("No zeppelin.livy.ssl.trustStorePassword specified " + "for livy ssl");
        }
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(keystoreFile);
            KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
            trustStore.load(new FileInputStream(keystoreFile), password.toCharArray());
            SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(trustStore).build();
            SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);
            HttpClientBuilder httpClientBuilder = HttpClients.custom().setSSLSocketFactory(csf);
            RequestConfig reqConfig = new RequestConfig() {
                @Override
                public boolean isAuthenticationEnabled() {
                    return true;
                }
            };
            httpClientBuilder.setDefaultRequestConfig(reqConfig);
            Credentials credentials = new Credentials() {
                @Override
                public String getPassword() {
                    return null;
                }

                @Override
                public Principal getUserPrincipal() {
                    return null;
                }
            };
            CredentialsProvider credsProvider = new BasicCredentialsProvider();
            credsProvider.setCredentials(AuthScope.ANY, credentials);
            httpClientBuilder.setDefaultCredentialsProvider(credsProvider);
            if (isSpnegoEnabled) {
                Registry<AuthSchemeProvider> authSchemeProviderRegistry = RegistryBuilder
                        .<AuthSchemeProvider>create().register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory())
                        .build();
                httpClientBuilder.setDefaultAuthSchemeRegistry(authSchemeProviderRegistry);
            }

            httpClient = httpClientBuilder.build();
        } catch (Exception e) {
            throw new RuntimeException("Failed to create SSL HttpClient", e);
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    LOGGER.error("Failed to close keystore file", e);
                }
            }
        }
    }

    RestTemplate restTemplate = null;
    if (isSpnegoEnabled) {
        if (httpClient == null) {
            restTemplate = new KerberosRestTemplate(keytabLocation, principal);
        } else {
            restTemplate = new KerberosRestTemplate(keytabLocation, principal, httpClient);
        }
    } else {
        if (httpClient == null) {
            restTemplate = new RestTemplate();
        } else {
            restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory(httpClient));
        }
    }
    restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
    return restTemplate;
}

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

@Override
protected 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));
    }//w ww. java 2s . c o m

    // TODO : Set up stream parsing.

    //      RequestCallback callback = new RequestCallback() {
    //
    //         public void doWithRequest(ClientHttpRequest request)
    //               throws IOException {
    //            // TODO Auto-generated method stub
    //            
    //         }
    //         
    //      };
    //      
    //      ResponseExtractor<T> extractor = new ResponseExtractor<T>() {
    //
    //         public T extractData(ClientHttpResponse response)
    //               throws IOException {
    //            
    //            InputStream stream = response.getBody();
    //            
    //            
    //            return null;
    //         }
    //         
    //      };
    //      
    //      restTemplate.execute(url, HttpMethod.GET, requestCallback, responseExtractor)

    // Provide a converter to the restTemplate to get automagic json --> pojo deserialization.
    // Provide a mapper to the converter so we can register the custom Video deserializer. Otherwise, the default ObjectMapper would do fine.
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new VideoDeserializerModule());
    MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
    converter.setObjectMapper(mapper);
    restTemplate.getMessageConverters().add(converter);

    ModelBase entity = null;
    try {
        entity = restTemplate.getForObject(this.url, ModelBase.class);
    } catch (HttpClientErrorException e) {
        e.printStackTrace();
        exception = e;
        // meanwhile, entity is null, so we let that return naturally.
    } catch (ResourceAccessException e) {
        // This one happens on Nexus 7 if we have set a SpringRequestFactory but get no Auth challenge.
        // org.springframework.web.client.ResourceAccessException: I/O error: No authentication challenges found; nested exception is java.io.IOException: No authentication challenges found
        e.printStackTrace();
        Log.e(LOG_TAG, "url was " + url);
        exception = e;
    }

    T result;
    try {
        result = (T) entity;
    } catch (ClassCastException e) {
        e.printStackTrace();
        exception = e;
        result = null;
    }

    Log.d(LOG_TAG, "Response received. Returning entity.");
    return result;
}