@Override
public Response toResponse(final AccountApiException exception) {
if (exception.getCode() == ErrorCode.ACCOUNT_ALREADY_EXISTS.getCode()) {
return buildConflictingRequestResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_CANNOT_CHANGE_EXTERNAL_KEY.getCode()) {
return buildBadRequestResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_CANNOT_MAP_NULL_KEY.getCode()) {
return buildBadRequestResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_CREATION_FAILED.getCode()) {
return buildInternalErrorResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_DOES_NOT_EXIST_FOR_ID.getCode()) {
return buildNotFoundResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_DOES_NOT_EXIST_FOR_KEY.getCode()) {
return buildNotFoundResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_INVALID_NAME.getCode()) {
return buildBadRequestResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_UPDATE_FAILED.getCode()) {
return buildInternalErrorResponse(exception, uriInfo);
} else if (exception.getCode() == ErrorCode.ACCOUNT_DOES_NOT_EXIST_FOR_RECORD_ID.getCode()) {
return buildNotFoundResponse(exception, uriInfo);
} else {
return fallback(exception, uriInfo);
}
}
}