org.kuali.rice.kew.engine.node
Class RoleNode

java.lang.Object
  extended by org.kuali.rice.kew.engine.node.RequestActivationNodeBase
      extended by org.kuali.rice.kew.engine.node.RequestActivationNode
          extended by org.kuali.rice.kew.engine.node.RequestsNode
              extended by org.kuali.rice.kew.engine.node.RoleNode
All Implemented Interfaces:
Node, SimpleNode

public class RoleNode
extends RequestsNode

A node implementation which provides integration with KIM Roles for routing. Essentially extends RequestsNode and provides a custom RouteModule implementation.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Nested Class Summary
protected static class RoleNode.RoleRequestSorter
           
 
Nested classes/interfaces inherited from class org.kuali.rice.kew.engine.node.RequestsNode
RequestsNode.FinalApproverContext
 
Field Summary
protected static Comparator<ActionRequestValue> ROLE_REQUEST_SORTER
           
 
Fields inherited from class org.kuali.rice.kew.engine.node.RequestsNode
SUPPRESS_POLICY_ERRORS_KEY
 
Constructor Summary
RoleNode()
           
 
Method Summary
 boolean activateRequests(RouteContext context, DocumentRouteHeaderValue document, RouteNodeInstance nodeInstance)
          Activates the action requests that are pending at this routelevel of the document.
protected  boolean activateRequestsCustom(RouteContext context, List<ActionRequestValue> requests, List<ActionItem> generatedActionItems, DocumentRouteHeaderValue document, RouteNodeInstance nodeInstance)
           
protected  Responsibility getFirstResponsibilityWithMandatoryRouteFlag(DocumentRouteHeaderValue document, RouteNode node)
          Checks for any mandatory route responsibilities for the given document type and node.
protected  RouteModule getRouteModule(RouteContext context)
          Returns the RouteModule which should handle generating requests for this RequestsNode.
protected  boolean processCustom(RouteContext routeContext, RouteHelper routeHelper)
          Used by subclasses to replace the functioning of the process method.
 
Methods inherited from class org.kuali.rice.kew.engine.node.RequestsNode
applyPoliciesOnExit, detectRunawayProcess, generateRequests, getKey, getNewActionRequests, getParameterService, isPastFinalApprover, isPastFinalApprover, isSupressingPolicyErrors, process, setSupressPolicyErrors, verifyFinalApprovalRequest
 
Methods inherited from class org.kuali.rice.kew.engine.node.RequestActivationNode
activateRequest, logProcessingMessage, saveActionRequest, saveDocument, shouldTransition
 
Methods inherited from class org.kuali.rice.kew.engine.node.RequestActivationNodeBase
notify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROLE_REQUEST_SORTER

protected static final Comparator<ActionRequestValue> ROLE_REQUEST_SORTER
Constructor Detail

RoleNode

public RoleNode()
Method Detail

getRouteModule

protected RouteModule getRouteModule(RouteContext context)
                              throws Exception
Description copied from class: RequestsNode
Returns the RouteModule which should handle generating requests for this RequestsNode.

Overrides:
getRouteModule in class RequestsNode
Throws:
Exception

processCustom

protected boolean processCustom(RouteContext routeContext,
                                RouteHelper routeHelper)
                         throws Exception
Description copied from class: RequestsNode
Used by subclasses to replace the functioning of the process method.

Overrides:
processCustom in class RequestsNode
Returns:
true if custom processing was performed and the base implementation in RequestsNode.process(RouteContext, RouteHelper) should be skipped.
Throws:
Exception
See Also:
RequestsNode.processCustom(org.kuali.rice.kew.engine.RouteContext, org.kuali.rice.kew.engine.RouteHelper)

getFirstResponsibilityWithMandatoryRouteFlag

protected Responsibility getFirstResponsibilityWithMandatoryRouteFlag(DocumentRouteHeaderValue document,
                                                                      RouteNode node)
Checks for any mandatory route responsibilities for the given document type and node. Stops once it finds a responsibility for the document and node.


activateRequests

public boolean activateRequests(RouteContext context,
                                DocumentRouteHeaderValue document,
                                RouteNodeInstance nodeInstance)
                         throws WorkflowException
Activates the action requests that are pending at this routelevel of the document. The requests are processed by priority and then request ID. It is implicit in the access that the requests are activated according to the route level above all.

FYI and acknowledgment requests do not cause the processing to stop. Only action requests for approval or completion cause the processing to stop and then only for route level with a serialized activation policy. Only requests at the current document's current route level are activated. Inactive requests at a lower level cause a routing exception.

Exception routing and adhoc routing are processed slightly differently.

Overrides:
activateRequests in class RequestActivationNode
Returns:
True if the any approval actions were activated.
Throws:
ResourceUnavailableException
WorkflowException

activateRequestsCustom

protected boolean activateRequestsCustom(RouteContext context,
                                         List<ActionRequestValue> requests,
                                         List<ActionItem> generatedActionItems,
                                         DocumentRouteHeaderValue document,
                                         RouteNodeInstance nodeInstance)
                                  throws WorkflowException
Overrides:
activateRequestsCustom in class RequestActivationNode
Throws:
WorkflowException


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