org.kuali.rice.kew.impl.support.krms
Class RulesEngineRouteModule

java.lang.Object
  extended by org.kuali.rice.kew.impl.support.krms.RulesEngineRouteModule
All Implemented Interfaces:
RouteModule

public class RulesEngineRouteModule
extends Object
implements RouteModule

An implementation of a RouteModule which executes the KRMS rules engine using the configured RulesEngineExecutor. It then interprets those results and processes them, which may include instantiating and delegating to another RouteModule. Currently, this implementation only supports PeopleFlow results returned from KRMS and passes those off to the PeopleFlowRouteModule.

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

Constructor Summary
RulesEngineRouteModule()
           
 
Method Summary
protected  EngineResults executeRulesEngine(RouteContext context, Engine rulesEngine)
           
 List<ActionRequestValue> findActionRequests(RouteContext context)
          Generate action requests for the given RouteContext.
 ExtensionRepositoryService getExtensionRepositoryService()
           
 PeopleFlowRouteModule getPeopleFlowRouteModule()
           
 RouteNodeService getRouteNodeService()
           
protected  Engine getRulesEngine()
           
 boolean isMoreRequestsAvailable(RouteContext context)
          Returns true if this RouteModule has more requests available which it can generate.
protected  RulesEngineExecutor loadRulesEngineExecutor(RouteContext context)
           
protected  void processEngineResults(RouteContext context, EngineResults engineResults)
           
 ResponsibleParty resolveResponsibilityId(String responsibilityId)
          The route module will resolve the given responsibilityId and return an object that contains the key to either a user or a workgroup.
 void setExtensionRepositoryService(ExtensionRepositoryService extensionRepositoryService)
           
 void setPeopleFlowRouteModule(PeopleFlowRouteModule peopleFlowRouteModule)
           
 void setRouteNodeService(RouteNodeService routeNodeService)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RulesEngineRouteModule

public RulesEngineRouteModule()
Method Detail

findActionRequests

public List<ActionRequestValue> findActionRequests(RouteContext context)
                                            throws Exception
Description copied from interface: RouteModule
Generate action requests for the given RouteContext.

Specified by:
findActionRequests in interface RouteModule
Returns:
A List of the generated ActionRequestValue objects.
Throws:
Exception

resolveResponsibilityId

public ResponsibleParty resolveResponsibilityId(String responsibilityId)
                                         throws WorkflowException
Description copied from interface: RouteModule
The route module will resolve the given responsibilityId and return an object that contains the key to either a user or a workgroup.

Specified by:
resolveResponsibilityId in interface RouteModule
Returns:
The ResponsibleParty containing a key to a user or workgroup.
Throws:
WorkflowException

isMoreRequestsAvailable

public boolean isMoreRequestsAvailable(RouteContext context)
Description copied from interface: RouteModule
Returns true if this RouteModule has more requests available which it can generate. This method will only be called after the first set of action requests returned by the first invocation of findActionRequests have been fully activated. If this method returns true, findActionRequests will be invoked again and those requests will all be activated before the cycle continues until this method returns false;

Specified by:
isMoreRequestsAvailable in interface RouteModule
Parameters:
context - the route context
Returns:
true if this route module has more requests it can generate, false otherwise

executeRulesEngine

protected EngineResults executeRulesEngine(RouteContext context,
                                           Engine rulesEngine)

processEngineResults

protected void processEngineResults(RouteContext context,
                                    EngineResults engineResults)

loadRulesEngineExecutor

protected RulesEngineExecutor loadRulesEngineExecutor(RouteContext context)

getRulesEngine

protected Engine getRulesEngine()

getPeopleFlowRouteModule

public PeopleFlowRouteModule getPeopleFlowRouteModule()

setPeopleFlowRouteModule

public void setPeopleFlowRouteModule(PeopleFlowRouteModule peopleFlowRouteModule)

getExtensionRepositoryService

public ExtensionRepositoryService getExtensionRepositoryService()

setExtensionRepositoryService

public void setExtensionRepositoryService(ExtensionRepositoryService extensionRepositoryService)

getRouteNodeService

public RouteNodeService getRouteNodeService()

setRouteNodeService

public void setRouteNodeService(RouteNodeService routeNodeService)


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