Class ExceptionRoutingServiceImpl
java.lang.Object
org.kuali.rice.kew.messaging.exceptionhandling.ExceptionRoutingServiceImpl
- All Implemented Interfaces:
WorkflowDocumentExceptionRoutingService
public class ExceptionRoutingServiceImpl
extends Object
implements WorkflowDocumentExceptionRoutingService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DocumentRouteHeaderValueactivateExceptionRequests(RouteContext routeContext, List<ActionRequestValue> exceptionRequests, String exceptionMessage, boolean invokePostProcessor) End IU Customizationprotected ThrowabledetermineActualCause(Throwable throwable, int depth) protected RouteContextestablishRouteContext(DocumentRouteHeaderValue document, Throwable throwable) protected List<ActionRequestValue>generateExceptionGroupRequests(RouteContext routeContext) protected List<ActionRequestValue>generateKimExceptionRequests(RouteContext routeContext) protected voidnotifyStatusChange(DocumentRouteHeaderValue routeHeader, String newStatusCode, String oldStatusCode) protected DocumentRouteHeaderValueplaceInExceptionRouting(String errorMessage, RouteNodeInstance nodeInstance, PersistedMessageBO persistedMessage, RouteContext routeContext, DocumentRouteHeaderValue document, boolean invokePostProcessor) placeInExceptionRouting(String errorMessage, PersistedMessageBO persistedMessage, String documentId) placeInExceptionRouting(Throwable throwable, PersistedMessageBO persistedMessage, String documentId) protected DocumentRouteHeaderValueplaceInExceptionRouting(Throwable throwable, PersistedMessageBO persistedMessage, String documentId, boolean invokePostProcessor) voidplaceInExceptionRoutingLastDitchEffort(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 voidprocessExceptionRequest(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 voidprocessExceptionRequests(List<ActionRequestValue> exceptionRequests) Takes the given list of Action Requests and ensures their attributes are set properly for exception routing requests.protected voidsetExceptionAnnotations(List<ActionRequestValue> actionRequests, String exceptionMessage) Sets the exception message as the annotation on the top-level Action Requests
-
Constructor Details
-
ExceptionRoutingServiceImpl
public ExceptionRoutingServiceImpl()
-
-
Method Details
-
placeInExceptionRouting
public DocumentRouteHeaderValue placeInExceptionRouting(String errorMessage, PersistedMessageBO persistedMessage, String documentId) throws Exception - Specified by:
placeInExceptionRoutingin interfaceWorkflowDocumentExceptionRoutingService- Throws:
Exception
-
placeInExceptionRouting
public DocumentRouteHeaderValue placeInExceptionRouting(Throwable throwable, PersistedMessageBO persistedMessage, String documentId) throws Exception - Specified by:
placeInExceptionRoutingin interfaceWorkflowDocumentExceptionRoutingService- 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:
placeInExceptionRoutingLastDitchEffortin interfaceWorkflowDocumentExceptionRoutingService- Throws:
Exception
-
placeInExceptionRouting
protected DocumentRouteHeaderValue placeInExceptionRouting(Throwable throwable, PersistedMessageBO persistedMessage, String documentId, boolean invokePostProcessor) throws Exception - Throws:
Exception
-
placeInExceptionRouting
protected DocumentRouteHeaderValue 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
-
generateKimExceptionRequests
protected List<ActionRequestValue> generateKimExceptionRequests(RouteContext routeContext) throws Exception - Throws:
Exception
-
processExceptionRequests
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
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 DocumentRouteHeaderValue 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
-
establishRouteContext
protected RouteContext establishRouteContext(DocumentRouteHeaderValue document, Throwable throwable)
-