|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectwt.services.StandardManager
wt.workflow.engine.StandardWfEngineService
public class StandardWfEngineService
Standard implementation of the workflow engine service. Contains implementation of the client and server APIs.
Use the newStandardWfEngineService static factory method(s),
not the StandardWfEngineService constructor, to construct
instances of this class. Instances must be constructed using the static
factory(s), in order to ensure proper initialization of the instance.
Supported API: true
Extendable: false
WfEngineService,
WfEngineServiceSvr,
Serialized Form| Nested Class Summary | |
|---|---|
static class |
wt.workflow.engine.StandardWfEngineService.NodeTemplateCache
Nested static singleton class to implement the caching of NodeTemplate objects. |
static class |
wt.workflow.engine.StandardWfEngineService.NodeTemplateLinkCache
Nested static singleton class to implement the caching of NodeTemplateLink objects. |
static class |
wt.workflow.engine.StandardWfEngineService.SynchRobotCache
Internal class for creation of distributed cache that maps event keys and target class name to oids of synchronization robots. |
| Method Summary | |
|---|---|
void |
addEventListener(wt.workflow.robots.WfSynchRobot robot)
Creates and adds a new event listener for the event key passed as argument. |
void |
changeAssignmentEvent(wt.workflow.work.WfAssignedActivity obj,
WTPrincipal new_assignee,
WTPrincipal old_assignee,
Role role)
Used to notify the service that an activity assignment changed. |
void |
changeDataEvent(WfExecutionObject obj,
ProcessData old_data)
Method called in order to emit a change of data event. |
void |
changeEventConfiguration(WfProcess process,
wt.workflow.engine.WfEventConfiguration evt_cfg)
Changes the process' event configuration to the one passed as argument. |
void |
changeResultEvent(WfExecutionObject obj,
ProcessData old_data)
This method is used to communicate that the result of an execution process (mostly activity) was set. |
WfExecutionObject |
changeState(WfExecutionObject exec_object,
wt.workflow.engine.WfTransition transition)
Changes the state of a process or activity. |
void |
changeStateEvent(WfExecutionObject obj,
wt.workflow.engine.WfState old_state,
Vector events)
Method called in order to emit a change of state event. |
wt.workflow.engine.WfActivity |
complete(wt.workflow.engine.WfActivity activity,
Vector selected_events)
Completes activity and generates events. |
WfProcess |
createAdHocProcess(WfTemplateObject template,
Object team_spec)
Deprecated. use method with WTContainerRef |
WfProcess |
createAdHocProcess(WfTemplateObject template,
Object team_spec,
WTContainerRef context_ref)
Creates a process given a template object that can be a process template, a block template or an activity template. |
WfProcess |
createProcess(wt.workflow.definer.WfProcessDefinition template,
Object team_spec)
Deprecated. use method with WTContainerRef |
WfProcess |
createProcess(wt.workflow.definer.WfProcessDefinition template,
Object team_spec,
WTContainerRef context_ref)
Creates and returns a process from the given template, associated team specification and a reference to the context (@link wt.inf.container.WTContainerRef} where the process is to be created. |
void |
createProcessEvent(WfProcess obj)
Used to notify the service that a process was created. |
ProcessingQueue |
createPropagationQueue(WfProcess process)
Creates a queue to hold internal work (propagation, state changes) associated with the process passed as argument. |
wt.workflow.engine.WfContainer |
createStartAdHocProcess(wt.workflow.engine.WfAdHocActivity requester,
wt.workflow.definer.WfContainerTemplate template)
Creates and starts an adh hoc process given the ad hoc activity and the template from which the process should be instantiated. |
ProcessingQueue |
createUserWorkQueue(WfProcess process)
Creates a queue to hold user work (robot work) associated with the process passed as argument. |
void |
deleteClosedProcesses(SearchCondition condition)
Delete all closed processes that meet the search condition passed as argument. |
void |
deleteDedicatedQueues(WfProcess process)
Deletes dedicated queues associated with the process passed as argument if there are no other process using the queues. |
void |
deleteProcess(WfProcess process)
Deletes process passed as argument. |
void |
doReteamProcess(wt.team.TeamReference teamRef)
Method called by lifecycle to cause the WfProcess to add it's roles to the Team. |
void |
doRobotWork(wt.workflow.robots.WfRobotActivity robot)
Method called by robot activities to do the work associated with a robot activity. |
void |
emitCustomEvent(String event_type,
Hashtable value_map)
Creates and emits a custom event. |
void |
emitCustomObjectEvent(String event_type,
Object target,
Hashtable value_map)
Creates and emits a custom event. |
void |
executionErrorEvent(WfExecutionObject obj,
Exception exception)
Used to notify the service that an exception occurred. |
Enumeration |
getAssociatedProcesses(Persistable object,
wt.workflow.engine.WfState state)
Deprecated. use method with WTContainerRef argument. |
QueryResult |
getAssociatedProcesses(Persistable object,
wt.workflow.engine.WfState state,
WTContainerRef context_ref)
Returns all process instances associated with the object passed as argument that are in a given state in the passed WTContainer. |
Enumeration |
getAssociatedProcesses(wt.team.TeamReference team,
wt.workflow.engine.WfState state)
Deprecated. use method that takes WTContainerRef
as argument. |
Enumeration |
getHistory(wt.workflow.engine.WfEventAuditType eventType)
Returns a list of all events of a given type associated with execution objects. |
Enumeration |
getHistory(WfExecutionObject obj,
wt.workflow.engine.WfEventAuditType eventType)
Returns a list of all events associated with a given execution object of a given type. |
Enumeration |
getOverdueActivities(WfProcess process)
Returns all overdue activities contained in a given process. |
Enumeration |
getOverdueProcesses()
Deprecated. use method with WTContainerRef as argument. |
QueryResult |
getOverdueProcesses(WTContainerRef context_ref)
Returns all overdue processes in a given WTContainer. |
wt.workflow.engine.WfNode |
getPersistentNode(wt.workflow.engine.WfNode trans_node)
Returns the persistent node that corresponds to a transient node, constructed for propagation purposes. |
Enumeration |
getPredecessors(wt.workflow.engine.WfNode node)
Returns all predecessor nodes to a node passed as argument. |
Enumeration |
getProcessConnectors(wt.workflow.engine.WfContainer container)
Returns all connectors contained in a given process. |
Enumeration |
getProcesses(wt.workflow.definer.WfProcessTemplate template,
wt.workflow.engine.WfState state)
Returns all processes instantianted from a given template that are in a given state. |
Vector |
getProcessRoles(WfProcess process)
Answer a vector of role objects declared by the process Supported API: true |
Enumeration |
getProcessSteps(wt.workflow.engine.WfContainer container,
wt.workflow.engine.WfState state)
Returns all instantiated process steps in a given state. |
String |
getProjectName(wt.workflow.engine.WfContainer container)
Returns the name of the project associated with the given process. |
URL |
getRelatedProcessesURL(WTObject obj)
Returns a URL to view associated workflow processes given a business object. |
WTPrincipal |
getResponsible(WfExecutionObject exec_obj)
Returns principal responsible for the execution object. |
Enumeration |
getResponsibleParticipants(WfExecutionObject exec_obj)
Returns an Enumeration of principal references who are responsible for the execution object. |
Enumeration |
getSuccessors(wt.workflow.engine.WfNode node)
Instantiates the successors of a given workflow node. |
String |
getTeamName(wt.workflow.engine.WfContainer container)
Returns the name of the team associated with the given process. |
Folder |
getWfFolder(String folder_path,
WTObject pbo,
WTContainerRef context_ref)
Gets folder given its relative path, associated business object and the context. |
void |
queueCompleteTransition(wt.workflow.engine.WfActivity activity,
Vector events)
Queues a request to complete an activity with a set of user defined events. |
void |
queueDeadlineCheck(WfExecutionObject obj)
Queues the checking the execution object's deadline. |
void |
queueRestoreState(wt.workflow.engine.WfActivity activity,
boolean new_thread)
Queues the restoration of the state of objects associated with activity passed as argument. |
void |
queueStateChange(WfExecutionObject obj,
wt.workflow.engine.WfTransition transition,
boolean new_thread,
boolean propagate)
Queues the state change. |
void |
queueSynchCheck(wt.workflow.robots.WfSynchRobot robot)
Queues the a synchronization checking request. |
void |
queueTimeEvent(WfExecutionObject obj,
Timestamp time,
wt.workflow.engine.WfTransition transition)
Queues a request to effect a state change at a given time to a a given execution object. |
void |
queueTimePastDeadlineCheck(WfExecutionObject obj)
Queues the checking the execution object's time past deadline. |
void |
queueTimeToDeadlineCheck(WfExecutionObject obj)
Queues the checking the execution object's time to deadline. |
void |
removeEventListener(wt.workflow.robots.WfSynchRobot robot)
Removes an event listener for the event key passed as argument that is also associated to the robot. |
wt.workflow.engine.WfNode |
resetReachableNodes(wt.workflow.engine.WfNode start_node)
Resets all nodes that can be reached from node passed as argument. |
void |
sendEventToSuccessors(ObjectReference node_ref,
Object event,
boolean is_immediate)
Propagate event to successors of the given node. |
WfProcess |
setPrimaryBusinessObject(WfProcess process,
WTObject object)
Sets the primary business object to the object passed as argument. |
WfProcess |
setPrimaryBusinessObject(WfProcess process,
WTObject object,
boolean persist)
Sets the primary business object to the object passed as an argument. |
WfProcess |
startProcess(WfProcess process,
ProcessData input,
long priority)
Starts a process with given input data and priority. |
WfProcess |
startProcess(WfProcess process,
ProcessData input,
long priority,
Timestamp start_time,
Timestamp deadline)
Start a process given, in addition to the input data, absolute start time and deadline. |
WfProcess |
startProcessImmediate(WfProcess process,
ProcessData input,
long priority)
Starts a process with given input data and priority without creation of new thread or queue entries. |
void |
terminateObjectsRunningWorkflows(Persistable object)
if terminateObjectsRunningWorkflows=true, terminate all the objects running processes. |
void |
terminateObjectsRunningWorkflows(WTCollection collection)
if terminateObjectsRunningWorkflows=true, terminate all the objects running processes. |
| Methods inherited from class wt.services.StandardManager |
|---|
getManagerService, getManagerStatus, getName, getStartupType |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Method Detail |
|---|
public void changeStateEvent(WfExecutionObject obj,
wt.workflow.engine.WfState old_state,
Vector events)
throws WTException
changeStateEvent in interface WfEngineServiceSvrobj - old_state - events -
WTException
public void changeDataEvent(WfExecutionObject obj,
ProcessData old_data)
throws WTException
changeDataEvent in interface WfEngineServiceSvrobj - old_data -
WTException
public Enumeration getSuccessors(wt.workflow.engine.WfNode node)
throws WTException
getSuccessors in interface WfEngineServiceSvrnode -
WTException
public Enumeration getPredecessors(wt.workflow.engine.WfNode node)
throws WTException
getPredecessors in interface WfEngineServiceSvrnode -
WTException
public void sendEventToSuccessors(ObjectReference node_ref,
Object event,
boolean is_immediate)
throws WTException
sendEventToSuccessors in interface WfEngineServiceSvrnode_ref - event - is_immediate -
WTException
public void createProcessEvent(WfProcess obj)
throws WTException
createProcessEvent in interface WfEngineServiceSvrobj -
WTException
public void changeAssignmentEvent(wt.workflow.work.WfAssignedActivity obj,
WTPrincipal new_assignee,
WTPrincipal old_assignee,
Role role)
throws WTException
changeAssignmentEvent in interface WfEngineServiceSvrobj - new_assignee - old_assignee - role -
WTException
public void executionErrorEvent(WfExecutionObject obj,
Exception exception)
executionErrorEvent in interface WfEngineServiceSvrobj - exception -
public void changeResultEvent(WfExecutionObject obj,
ProcessData old_data)
throws WTException
changeResultEvent in interface WfEngineServiceSvrobj - old_data -
WTException
public void doRobotWork(wt.workflow.robots.WfRobotActivity robot)
throws WTException
doRobotWork in interface WfEngineServiceSvrrobot -
WTException
public wt.workflow.engine.WfNode resetReachableNodes(wt.workflow.engine.WfNode start_node)
throws WTException
resetReachableNodes in interface WfEngineServiceSvrstart_node -
WTException
public void queueStateChange(WfExecutionObject obj,
wt.workflow.engine.WfTransition transition,
boolean new_thread,
boolean propagate)
throws WTException
queueStateChange in interface WfEngineServiceSvrobj - transition - new_thread - propagate -
WTException
public void queueTimeEvent(WfExecutionObject obj,
Timestamp time,
wt.workflow.engine.WfTransition transition)
throws WTException
queueTimeEvent in interface WfEngineServiceSvrobj - time - transition -
WTException
public void queueDeadlineCheck(WfExecutionObject obj)
throws WTException
queueDeadlineCheck in interface WfEngineServiceSvrobj -
WTException
public void queueTimeToDeadlineCheck(WfExecutionObject obj)
throws WTException
queueTimeToDeadlineCheck in interface WfEngineServiceSvrobj -
WTException
public void queueTimePastDeadlineCheck(WfExecutionObject obj)
throws WTException
queueTimePastDeadlineCheck in interface WfEngineServiceSvrobj -
WTException
public void queueCompleteTransition(wt.workflow.engine.WfActivity activity,
Vector events)
throws WTException
queueCompleteTransition in interface WfEngineServiceSvractivity - events -
WTException
public void queueRestoreState(wt.workflow.engine.WfActivity activity,
boolean new_thread)
throws WTException
queueRestoreState in interface WfEngineServiceSvractivity - new_thread -
WTException
public void queueSynchCheck(wt.workflow.robots.WfSynchRobot robot)
throws WTException
queueSynchCheck in interface WfEngineServiceSvrrobot -
WTException
public wt.workflow.engine.WfNode getPersistentNode(wt.workflow.engine.WfNode trans_node)
throws WTException
getPersistentNode in interface WfEngineServiceSvrtrans_node -
WTExceptionpublic void addEventListener(wt.workflow.robots.WfSynchRobot robot)
addEventListener in interface WfEngineServiceSvrrobot - public void removeEventListener(wt.workflow.robots.WfSynchRobot robot)
removeEventListener in interface WfEngineServiceSvrrobot -
public ProcessingQueue createUserWorkQueue(WfProcess process)
throws WTException
createUserWorkQueue in interface WfEngineServiceSvrprocess -
WTException
public ProcessingQueue createPropagationQueue(WfProcess process)
throws WTException
createPropagationQueue in interface WfEngineServiceSvrprocess -
WTException
public WfProcess setPrimaryBusinessObject(WfProcess process,
WTObject object)
throws WTException
setPrimaryBusinessObject in interface WfEngineServiceSvrprocess - object -
WTException
public WfProcess setPrimaryBusinessObject(WfProcess process,
WTObject object,
boolean persist)
throws WTException
setPrimaryBusinessObject in interface WfEngineServiceSvrprocess - object - persist -
WTException
public void deleteDedicatedQueues(WfProcess process)
throws WTException
deleteDedicatedQueues in interface WfEngineServiceSvrprocess -
WTException
public void emitCustomEvent(String event_type,
Hashtable value_map)
throws WTException
emitCustomEvent in interface WfEngineServiceSvrevent_type - value_map -
WTException
public void doReteamProcess(wt.team.TeamReference teamRef)
throws WTException
doReteamProcess in interface WfEngineServiceSvrteamRef -
WTException
public Enumeration getAssociatedProcesses(wt.team.TeamReference team,
wt.workflow.engine.WfState state)
throws WTException
WTContainerRef
as argument.
getAssociatedProcesses in interface WfEngineServiceSvrteam - state -
WTException
public void emitCustomObjectEvent(String event_type,
Object target,
Hashtable value_map)
throws WTException
emitCustomObjectEvent in interface WfEngineServiceSvrevent_type - target - value_map -
WTException
public WfProcess startProcess(WfProcess process,
ProcessData input,
long priority)
throws WTException
startProcess in interface WfEngineServiceprocess - input - priority -
WTException
public Enumeration getProcesses(wt.workflow.definer.WfProcessTemplate template,
wt.workflow.engine.WfState state)
throws WTException
getProcesses in interface WfEngineServicetemplate - state -
WTException
public Enumeration getProcessSteps(wt.workflow.engine.WfContainer container,
wt.workflow.engine.WfState state)
throws WTException
getProcessSteps in interface WfEngineServicecontainer - state -
WTException
public Enumeration getProcessConnectors(wt.workflow.engine.WfContainer container)
throws WTException
getProcessConnectors in interface WfEngineServicecontainer -
WTException
public Vector getProcessRoles(WfProcess process)
throws WTException
getProcessRoles in interface WfEngineServiceprocess -
WTException
public WfExecutionObject changeState(WfExecutionObject exec_object,
wt.workflow.engine.WfTransition transition)
throws WTException
changeState in interface WfEngineServiceexec_object - transition -
WTException
public Enumeration getHistory(WfExecutionObject obj,
wt.workflow.engine.WfEventAuditType eventType)
throws WTException
getHistory in interface WfEngineServiceobj - eventType -
WTException
public void deleteClosedProcesses(SearchCondition condition)
throws WTException
deleteClosedProcesses in interface WfEngineServicecondition -
WTException
public Enumeration getOverdueProcesses()
throws WTException
getOverdueProcesses in interface WfEngineServiceWTException
public Enumeration getOverdueActivities(WfProcess process)
throws WTException
getOverdueActivities in interface WfEngineServiceprocess -
WTException
public wt.workflow.engine.WfActivity complete(wt.workflow.engine.WfActivity activity,
Vector selected_events)
throws WTException
complete in interface WfEngineServiceactivity - selected_events -
WTException
public String getProjectName(wt.workflow.engine.WfContainer container)
throws WTException
getProjectName in interface WfEngineServicecontainer -
WTException
public WfProcess createProcess(wt.workflow.definer.WfProcessDefinition template,
Object team_spec)
throws WTException
A team specification can be one of the following:
RoleHolder (deprecated)
wt.team.TeamRef
wt.team.TeamTeamplateRef
LifeCycleManaged
Import Note:
The process will be created in the same WTContainer
as the team spec passed as argument, except in the case the team spec
is a wt.team.TeamTeamplateRef, in which case the process is
created in the classic container. There is a similar method with
the same name that accepts an additional argument that is a reference
to the container where the process is to be created.
Supported API: true
createProcess in interface WfEngineServicetemplate - team_spec -
WTException
public Enumeration getHistory(wt.workflow.engine.WfEventAuditType eventType)
throws WTException
getHistory in interface WfEngineServiceeventType -
WTException
public void changeEventConfiguration(WfProcess process,
wt.workflow.engine.WfEventConfiguration evt_cfg)
throws WTException
changeEventConfiguration in interface WfEngineServiceprocess - evt_cfg -
WTException
public void deleteProcess(WfProcess process)
throws WTException
deleteProcess in interface WfEngineServiceprocess -
WTException
public WfProcess startProcessImmediate(WfProcess process,
ProcessData input,
long priority)
throws WTException
startProcessImmediate in interface WfEngineServiceprocess - input - priority -
WTException
public wt.workflow.engine.WfContainer createStartAdHocProcess(wt.workflow.engine.WfAdHocActivity requester,
wt.workflow.definer.WfContainerTemplate template)
throws WTException
createStartAdHocProcess in interface WfEngineServicerequester - template -
WTException
public WfProcess startProcess(WfProcess process,
ProcessData input,
long priority,
Timestamp start_time,
Timestamp deadline)
throws WTException
startProcess in interface WfEngineServiceprocess - input - priority - start_time - deadline -
WTException
public WTPrincipal getResponsible(WfExecutionObject exec_obj)
throws WTException
getResponsible in interface WfEngineServiceexec_obj -
WTException
public Enumeration getAssociatedProcesses(Persistable object,
wt.workflow.engine.WfState state)
throws WTException
getAssociatedProcesses in interface WfEngineServiceobject - state -
WTException
public WfProcess createAdHocProcess(WfTemplateObject template,
Object team_spec)
throws WTException
In case it is an activity template, the block template generated has the same name as the activity template as well as variables. The mapping between the block templates and activity templates is a 1-1 mapping based on the variable names. This has the effect that the block template is completely transparent during execution time.
A team specification can be one of the following:
RoleHolder (deprecated)
wt.team.TeamRef
wt.team.TeamTeamplateRef
LifeCycleManaged
Import Note:
The process will be created in the same WTContainer
as the team spec passed as argument, except in the case the team spec
is a wt.team.TeamTeamplateRef, in which case the process is
created in the classic container. There is a similar method with
the same name that accepts an additional argument that is a reference
to the container where the process is to be created.
Supported API: true
createAdHocProcess in interface WfEngineServicetemplate - team_spec -
WTException
public URL getRelatedProcessesURL(WTObject obj)
throws WTException
getRelatedProcessesURL in interface WfEngineServiceobj -
WTException
public Enumeration getResponsibleParticipants(WfExecutionObject exec_obj)
throws WTException
getResponsibleParticipants in interface WfEngineServiceexec_obj -
WTException
public void terminateObjectsRunningWorkflows(Persistable object)
throws WTException
terminateObjectsRunningWorkflows in interface WfEngineServiceobject - The object for which you wish to terminate the objects running workflows.
WTException
public void terminateObjectsRunningWorkflows(WTCollection collection)
throws WTException
terminateObjectsRunningWorkflows in interface WfEngineServicecollection - The collection of objects for which you wish to terminate the running workflows.
WTException
public WfProcess createProcess(wt.workflow.definer.WfProcessDefinition template,
Object team_spec,
WTContainerRef context_ref)
throws WTException
A team specification can be one of the following:
RoleHolder (deprecated)
wt.team.TeamRef
wt.team.TeamTeamplateRef
LifeCycleManaged
createProcess in interface WfEngineServicetemplate - team_spec - context_ref -
WTException
public WfProcess createAdHocProcess(WfTemplateObject template,
Object team_spec,
WTContainerRef context_ref)
throws WTException
In case it is an activity template, the block template generated
has the same name as the activity template as well as variables.
The mapping between the block templates and activity templates is
a 1-1 mapping based on the variable names. This has the effect that
the block template is completely transparent during execution time.
Supported API: true
createAdHocProcess in interface WfEngineServicetemplate - team_spec - context_ref -
WTException
public String getTeamName(wt.workflow.engine.WfContainer container)
throws WTException
getTeamName in interface WfEngineServicecontainer -
WTException
public QueryResult getAssociatedProcesses(Persistable object,
wt.workflow.engine.WfState state,
WTContainerRef context_ref)
throws WTException
getAssociatedProcesses in interface WfEngineServiceobject - state - context_ref -
WTException
public QueryResult getOverdueProcesses(WTContainerRef context_ref)
throws WTException
getOverdueProcesses in interface WfEngineServicecontext_ref -
WTException
public Folder getWfFolder(String folder_path,
WTObject pbo,
WTContainerRef context_ref)
throws WTException
Creates workflow folder for a given context. The folder path is also passed as argument. Assumes folder_path of the form:
/System/Workflows/where forder-name is one of {"NotStarted", "Running", ...}
The folder is created as
Supported API: true
getWfFolder in interface WfEngineService
folder_path - pbo - context_ref -
WTException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||