org.kuali.rice.kew.messaging.exceptionhandling
Class ExceptionRoutingServiceImpl

java.lang.Object
  extended by org.kuali.rice.kew.messaging.exceptionhandling.ExceptionRoutingServiceImpl
All Implemented Interfaces:
WorkflowDocumentExceptionRoutingService

public class ExceptionRoutingServiceImpl
extends Object
implements WorkflowDocumentExceptionRoutingService


Constructor Summary
ExceptionRoutingServiceImpl()
           
 
Method Summary
protected  void activateExceptionRequests(RouteContext routeContext, List<ActionRequestValue> exceptionRequests, String exceptionMessage, boolean invokePostProcessor)
          End IU Customization
protected  Throwable determineActualCause(Throwable throwable, int depth)
           
protected  RouteContext establishRouteContext(DocumentRouteHeaderValue document, Throwable throwable)
           
protected  List<ActionRequestValue> generateExceptionGroupRequests(RouteContext routeContext)
           
protected  List<ActionRequestValue> generateKimExceptionRequests(RouteContext routeContext)
           
protected  void notifyStatusChange(DocumentRouteHeaderValue routeHeader, String newStatusCode, String oldStatusCode)
           
 void placeInExceptionRouting(String errorMessage, PersistedMessageBO persistedMessage, String documentId)
           
protected  void placeInExceptionRouting(String errorMessage, RouteNodeInstance nodeInstance, PersistedMessageBO persistedMessage, RouteContext routeContext, DocumentRouteHeaderValue document, boolean invokePostProcessor)
           
 void placeInExceptionRouting(Throwable throwable, PersistedMessageBO persistedMessage, String documentId)
           
protected  void placeInExceptionRouting(Throwable throwable, PersistedMessageBO persistedMessage, String documentId, boolean invokePostProcessor)
           
 void placeInExceptionRoutingLastDitchEffort(Throwable throwable, PersistedMessageBO persistedMessage, String documentId)
          In our case here, our last ditch effort to put the document into exception routing will try to do so without invoking the Post Processor for do route status change to "Exception" status.
protected  void processExceptionRequest(ActionRequestValue actionRequest)
          Processes a single exception request, ensuring that it's force action flag is set to true and it's node instance is set to null.
protected  void processExceptionRequests(List<ActionRequestValue> exceptionRequests)
          Takes the given list of Action Requests and ensures their attributes are set properly for exception routing requests.
protected  void setExceptionAnnotations(List<ActionRequestValue> actionRequests, String exceptionMessage)
          Sets the exception message as the annotation on the top-level Action Requests
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExceptionRoutingServiceImpl

public ExceptionRoutingServiceImpl()
Method Detail

placeInExceptionRouting

public void placeInExceptionRouting(String errorMessage,
                                    PersistedMessageBO persistedMessage,
                                    String documentId)
                             throws Exception
Specified by:
placeInExceptionRouting in interface WorkflowDocumentExceptionRoutingService
Throws:
Exception

placeInExceptionRouting

public void placeInExceptionRouting(Throwable throwable,
                                    PersistedMessageBO persistedMessage,
                                    String documentId)
                             throws Exception
Specified by:
placeInExceptionRouting in interface WorkflowDocumentExceptionRoutingService
Throws:
Exception

placeInExceptionRoutingLastDitchEffort

public void placeInExceptionRoutingLastDitchEffort(Throwable throwable,
                                                   PersistedMessageBO persistedMessage,
                                                   String documentId)
                                            throws Exception
In our case here, our last ditch effort to put the document into exception routing will try to do so without invoking the Post Processor for do route status change to "Exception" status.

Specified by:
placeInExceptionRoutingLastDitchEffort in interface WorkflowDocumentExceptionRoutingService
Throws:
Exception

placeInExceptionRouting

protected void placeInExceptionRouting(Throwable throwable,
                                       PersistedMessageBO persistedMessage,
                                       String documentId,
                                       boolean invokePostProcessor)
                                throws Exception
Throws:
Exception

placeInExceptionRouting

protected void placeInExceptionRouting(String errorMessage,
                                       RouteNodeInstance nodeInstance,
                                       PersistedMessageBO persistedMessage,
                                       RouteContext routeContext,
                                       DocumentRouteHeaderValue document,
                                       boolean invokePostProcessor)
                                throws Exception
Throws:
Exception

notifyStatusChange

protected void notifyStatusChange(DocumentRouteHeaderValue routeHeader,
                                  String newStatusCode,
                                  String oldStatusCode)
                           throws InvalidActionTakenException
Throws:
InvalidActionTakenException

generateExceptionGroupRequests

protected List<ActionRequestValue> generateExceptionGroupRequests(RouteContext routeContext)

generateKimExceptionRequests

protected List<ActionRequestValue> generateKimExceptionRequests(RouteContext routeContext)
                                                         throws Exception
Throws:
Exception

processExceptionRequests

protected void processExceptionRequests(List<ActionRequestValue> exceptionRequests)
Takes the given list of Action Requests and ensures their attributes are set properly for exception routing requests. Namely, this ensures that all "force action" values are set to "true".


processExceptionRequest

protected void processExceptionRequest(ActionRequestValue actionRequest)
Processes a single exception request, ensuring that it's force action flag is set to true and it's node instance is set to null. It then recurses through any children requests.


activateExceptionRequests

protected void activateExceptionRequests(RouteContext routeContext,
                                         List<ActionRequestValue> exceptionRequests,
                                         String exceptionMessage,
                                         boolean invokePostProcessor)
                                  throws Exception
End IU Customization

Parameters:
routeContext -
exceptionRequests -
exceptionMessage -
Throws:
Exception

setExceptionAnnotations

protected void setExceptionAnnotations(List<ActionRequestValue> actionRequests,
                                       String exceptionMessage)
Sets the exception message as the annotation on the top-level Action Requests


determineActualCause

protected Throwable determineActualCause(Throwable throwable,
                                         int depth)

establishRouteContext

protected RouteContext establishRouteContext(DocumentRouteHeaderValue document,
                                             Throwable throwable)


Copyright © 2005-2014 The Kuali Foundation. All Rights Reserved.