/** * Build a {@code Throwable payload} for future {@link ErrorMessage}. * @param throwable the error to determine an {@link ErrorMessage} payload. Can be null. * @param context the context for error. * @return the throwable for the {@link ErrorMessage} payload * @see ErrorMessageUtils */ protected Throwable determinePayload(Throwable throwable, AttributeAccessor context) { Throwable lastThrowable = throwable; if (lastThrowable == null) { lastThrowable = payloadWhenNull(context); } else if (!(lastThrowable instanceof MessagingException)) { Message<?> message = (Message<?>) context.getAttribute(ErrorMessageUtils.FAILED_MESSAGE_CONTEXT_KEY); lastThrowable = message == null ? new MessagingException(lastThrowable.getMessage(), lastThrowable) : new MessagingException(message, lastThrowable.getMessage(), lastThrowable); } return lastThrowable; }
/** * Build a {@code Throwable payload} for future {@link ErrorMessage}. * @param throwable the error to determine an {@link ErrorMessage} payload. Can be null. * @param context the context for error. * @return the throwable for the {@link ErrorMessage} payload * @see ErrorMessageUtils */ protected Throwable determinePayload(Throwable throwable, AttributeAccessor context) { Throwable lastThrowable = throwable; if (lastThrowable == null) { lastThrowable = payloadWhenNull(context); } else if (!(lastThrowable instanceof MessagingException)) { Message<?> message = (Message<?>) context.getAttribute(ErrorMessageUtils.FAILED_MESSAGE_CONTEXT_KEY); lastThrowable = message == null ? new MessagingException(lastThrowable.getMessage(), lastThrowable) : new MessagingException(message, lastThrowable.getMessage(), lastThrowable); } return lastThrowable; }