Example usage for org.springframework.http.converter HttpMessageNotReadableException getMostSpecificCause

List of usage examples for org.springframework.http.converter HttpMessageNotReadableException getMostSpecificCause

Introduction

In this page you can find the example usage for org.springframework.http.converter HttpMessageNotReadableException getMostSpecificCause.

Prototype

public Throwable getMostSpecificCause() 

Source Link

Document

Retrieve the most specific cause of this exception, that is, either the innermost cause (root cause) or this exception itself.

Usage

From source file:business.CustomResponseEntityExceptionHandler.java

@Override
protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex,
        HttpHeaders headers, HttpStatus status, WebRequest request) {
    Throwable mostSpecificCause = ex.getMostSpecificCause();
    ErrorMessage errorMessage;/*from w  ww  .j  ava2  s .  c o m*/
    if (mostSpecificCause != null) {
        String exceptionName = mostSpecificCause.getClass().getName();
        String message = mostSpecificCause.getMessage();
        errorMessage = new ErrorMessage(exceptionName, message);
    } else {
        errorMessage = new ErrorMessage(ex.getMessage());
    }
    return new ResponseEntity<Object>(errorMessage, headers, status);
}

From source file:com.garyclayburg.persistence.repository.CustomResponseEntityExceptionHandler.java

@Override
protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex,
        HttpHeaders headers, HttpStatus status, WebRequest request) {
    Throwable mostSpecificCause = ex.getMostSpecificCause();
    ErrorMessage errorMessage;// ww w.  ja v a  2s  . c om
    if (mostSpecificCause != null) {
        String exceptionName = mostSpecificCause.getClass().getName();
        String message = mostSpecificCause.getMessage();
        errorMessage = new ErrorMessage(exceptionName, message);
    } else {
        errorMessage = new ErrorMessage(ex.getMessage());
    }
    return new ResponseEntity(errorMessage, headers, status);
}

From source file:com.ns.retailmgr.controller.exception.RestControllerExceptionHandler.java

@Override
protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex,
        HttpHeaders headers, HttpStatus status, WebRequest request) {
    Throwable mostSpecificCause = ex.getMostSpecificCause();
    RestErrorMessage RestErrorMessage;// w  ww.j ava  2  s .  c  o m
    if (mostSpecificCause != null) {
        String exceptionName = mostSpecificCause.getClass().getName();
        String message = mostSpecificCause.getMessage();
        RestErrorMessage = new RestErrorMessage(exceptionName, message);
    } else {
        RestErrorMessage = new RestErrorMessage(ex.getMessage());
    }
    return new ResponseEntity(RestErrorMessage, headers, status);
}

From source file:com.tkmtwo.exhandler.handlers.HttpMessageNotReadableExceptionHandler.java

@Override
public ValidationErrorMessage createBody(HttpMessageNotReadableException ex, HttpServletRequest req) {

    ErrorMessage tmpl = super.createBody(ex, req);
    ValidationErrorMessage msg = new ValidationErrorMessage(tmpl);

    Throwable t = ex.getMostSpecificCause();
    if (t != null) {
        msg.addError(t.getMessage());//from   ww w  .  java  2s  .  co m
    }

    return msg;
}

From source file:nl.gridshore.nosapi.impl.DataProviderImpl.java

@Override
public SearchResults searchForDocuments(String queryString, SearchSort sort) {
    Assert.notNull(queryString);//from www  . ja va2 s  .c om
    String searchSort;
    if (sort == null) {
        searchSort = SearchSort.SCORE.toString().toLowerCase();
    } else {
        searchSort = sort.toString().toLowerCase();
    }
    String url = serverBaseUrl + "search/query/key/{apikey}/output/json/q/{search}/sort/{sort}";
    SearchWrapper searchResults;
    try {
        searchResults = restTemplate.getForObject(url, SearchWrapper.class, apiKey, queryString, searchSort);
    } catch (HttpMessageNotReadableException e) {
        logger.error(
                "There might be a problem on the server while searching for documents. Usually this exception "
                        + "is thrown if the json returned has a wrong format. The used query is {}",
                queryString, e.getMostSpecificCause());
        throw new UnknownClientException(
                "Most probably an incorrect response was received from the nos data api",
                e.getMostSpecificCause());
    }
    ArrayList<nl.gridshore.nosapi.mapping.Document> documents = searchResults.getSearch().get(0).getDocuments();
    List<nl.gridshore.nosapi.Document> foundDocuments = new ArrayList<nl.gridshore.nosapi.Document>();
    for (nl.gridshore.nosapi.mapping.Document document : documents) {
        foundDocuments.add(new nl.gridshore.nosapi.Document(document.getId(), document.getType(),
                document.getTitle(), document.getDescription(), document.getCategory(),
                document.getSubCategory(), document.getPublished(), document.getLastUpdate(),
                document.getLink(), document.getThumbnail(), document.getScore(), document.getKeywords()));
    }

    ArrayList<nl.gridshore.nosapi.mapping.Keyword> keywords = searchResults.getSearch().get(0).getKeywords();
    List<nl.gridshore.nosapi.Keyword> foundKeywords = new ArrayList<nl.gridshore.nosapi.Keyword>();
    for (nl.gridshore.nosapi.mapping.Keyword keyword : keywords) {
        foundKeywords.add(new nl.gridshore.nosapi.Keyword(keyword.getTag(), keyword.getCount()));
    }

    return new SearchResults(foundDocuments, foundKeywords);
}