public boolean canHandle(FlowExecutionException e) { return getTargetStateResolver(e) != null; }
/** * Find the mapped target state resolver for given exception. Returns <code>null</code> if no mapping can be found * for given exception. Will try all exceptions in the exception cause chain. */ protected TargetStateResolver getTargetStateResolver(Throwable e) { TargetStateResolver targetStateResolver; if (isRootCause(e)) { return findTargetStateResolver(e.getClass()); } else { targetStateResolver = exceptionTargetStateMappings.get(e.getClass()); if (targetStateResolver != null) { return targetStateResolver; } else { return getTargetStateResolver(e.getCause()); } } }
public void handle(FlowExecutionException exception, RequestControlContext context) { if (logger.isDebugEnabled()) { logger.debug("Handling flow execution exception " + exception, exception); } exposeException(context, exception, findRootCause(exception)); actionList.execute(context); context.execute(new Transition(getTargetStateResolver(exception))); }
public boolean canHandle(FlowExecutionException e) { return getTargetStateResolver(e) != null; }
public boolean canHandle(FlowExecutionException e) { return getTargetStateResolver(e) != null; }
/** * Find the mapped target state resolver for given exception. Returns <code>null</code> if no mapping can be found * for given exception. Will try all exceptions in the exception cause chain. */ protected TargetStateResolver getTargetStateResolver(Throwable e) { TargetStateResolver targetStateResolver; if (isRootCause(e)) { return findTargetStateResolver(e.getClass()); } else { targetStateResolver = exceptionTargetStateMappings.get(e.getClass()); if (targetStateResolver != null) { return targetStateResolver; } else { return getTargetStateResolver(e.getCause()); } } }
/** * Find the mapped target state resolver for given exception. Returns <code>null</code> if no mapping can be found * for given exception. Will try all exceptions in the exception cause chain. */ protected TargetStateResolver getTargetStateResolver(Throwable e) { TargetStateResolver targetStateResolver; if (isRootCause(e)) { return findTargetStateResolver(e.getClass()); } else { targetStateResolver = (TargetStateResolver) exceptionTargetStateMappings.get(e.getClass()); if (targetStateResolver != null) { return targetStateResolver; } else { return getTargetStateResolver(e.getCause()); } } }
public void handle(FlowExecutionException exception, RequestControlContext context) { if (logger.isDebugEnabled()) { logger.debug("Handling flow execution exception " + exception, exception); } exposeException(context, exception, findRootCause(exception)); actionList.execute(context); context.execute(new Transition(getTargetStateResolver(exception))); }
public void handle(FlowExecutionException exception, RequestControlContext context) { if (logger.isDebugEnabled()) { logger.debug("Handling flow execution exception " + exception, exception); } exposeException(context, exception, findRootCause(exception)); actionList.execute(context); context.execute(new Transition(getTargetStateResolver(exception))); }