@Override public ErrorInfo extractError(Exception ex) { int statusCode = SC_INTERNAL_SERVER_ERROR; // 500 String exceptionName = "runtime"; if (ex instanceof CmisRuntimeException) { Throwable cause = ex.getCause(); if (cause instanceof RecoverableClientException) { // don't log something harsh in that case statusCode = getHttpStatus((RecoverableClientException) cause); } else { LOG.error(ex.getMessage(), ex); } } else if (ex instanceof CmisStorageException) { LOG.error(ex.getMessage(), ex); statusCode = getErrorCode((CmisStorageException) ex); exceptionName = ((CmisStorageException) ex).getExceptionName(); } else if (ex instanceof CmisBaseException) { statusCode = getErrorCode((CmisBaseException) ex); exceptionName = ((CmisBaseException) ex).getExceptionName(); } else if (ex instanceof IOException) { LOG.warn(ex.getMessage(), ex); } else { LOG.error(ex.getMessage(), ex); } String message = ex.getMessage(); if (!(ex instanceof CmisBaseException)) { message = "An error occurred!"; } return new ErrorInfo(statusCode, exceptionName, message); }
} else if (ex instanceof CmisBaseException) { statusCode = getErrorCode((CmisBaseException) ex); exceptionName = ((CmisBaseException) ex).getExceptionName();
} else if (ex instanceof CmisBaseException) { statusCode = getErrorCode((CmisBaseException) ex); exceptionName = ((CmisBaseException) ex).getExceptionName();