package ee.telekom.workflow.util; import org.apache.commons.lang3.exception.ExceptionUtils; import ee.telekom.workflow.graph.WorkflowException; public class ExceptionUtil{ public static String getErrorText( Exception exception ){ Throwable cause = getWorkflowCause( exception ); return cause == null ? exception.getMessage() : cause.getMessage(); } public static String getErrorDetails( Exception exception ){ return ExceptionUtils.getStackTrace( exception ); } /** * Finds the first cause in the exception hierarchy that is not an instance * of {@link WorkflowException}. */ private static Throwable getWorkflowCause( Exception exception ){ Throwable e = exception; while( e instanceof WorkflowException ){ e = e.getCause(); } return e; } }