|
|||||||||||
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
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 FormNested Class Summary | |
(package private) class |
StandardWfEngineService.ChangeState
Runnable class that implements the state transition. |
(package private) class |
StandardWfEngineService.PropagateEvent
Runnable class that implements the propagation of events to successor nodes. |
(package private) class |
StandardWfEngineService.RestoreState
Runnable class that implements restoring objects associated with an activity. |
(package private) class |
StandardWfEngineService.RobotWork
Runnable class that implements the actual work done by all sort of robots. |
(package private) class |
StandardWfEngineService.SendNotification
Runnable class that implements the sending of notification if exception occurs. |
(package private) class |
StandardWfEngineService.SynchEventListener
|
static class |
StandardWfEngineService.SynchRobotCache
Internal class for creation of distributed cache that maps event keys to oids of synchronization robots. |
Field Summary | |
private static String |
ABORT_NOTIFICATION_TEMPLATE
|
private static String |
APPROACHING_DEADLINE_TEMPLATE
|
private static String |
CLASSNAME
|
private static String |
COMPLETE_NOTIFICATION_TEMPLATE
|
private static boolean |
CONCAT_NESTED_PROCESS_NAME
|
private static int |
DEDICATED_QUEUE_LIMIT
|
private static String |
DEDICATED_QUEUE_MODE
Stores dedicated queue "mode," which can be one of: none - all queues are shared propagation - propagation queue may be dedicated userWork - user work queue may be dedicated all - both propagation and userWork may be shared |
private static boolean |
DEDICATED_QUEUE_PER_PROCESS
|
private static boolean |
DOMAIN_BASED_WORKFLOW
|
private static String |
EXCEPTION_NOTIFICATION_TEMPLATE
|
private static String |
FOLDER_SEPARATOR
|
private static Object |
IGNORE_DELETE_KEY
|
private static String |
NAME_SEPARATOR
|
private static int |
NAME_SIZE
|
private static int |
NAME_SUFFIX
|
private static int |
nextPropagationQueue
|
private static int |
nextUserWorkQueue
|
private static boolean |
NO_DEDICATED_PROPAGATION
Is true if mode is none or userWork. |
private static boolean |
NO_DEDICATED_USER_WORK
Is true if mode is none or propagation. |
private static String |
NOTIFICATION_SENDER
Sender of email notification. |
private static int |
NRETRIES
|
private int |
numberOfDedicatedQueues
Current number of dedicated queues associated with running processes. |
private static String |
OVERDUE_NOTIFICATION_TEMPLATE
|
private static String |
OVERDUE_NOTIFICATION_TEMPLATE_FOR_ROLES
|
private static String |
PAST_DEADLINE_TEMPLATE
|
private static String |
PBO_CLASSES
String read from wt.properties containing the list of classes that are not LifeCycleManaged and may be a primary business object in a wf process. |
private HashMap |
pboClasses
Holds primary business classes not LifeCycleManaged. |
private static String |
PRIM_BUS_OBJ_VAR_NAME
|
private static String |
PROCESS_CLASS_NAME
|
private static int |
PROPAGATION_POOL_SIZE
|
private static int |
PROPAGATION_QUEUE_INTERVAL
|
private static String |
RESOURCE
|
private static String |
SHARED_PROPAGATION_QUEUE_NAME
|
private static String |
SHARED_USER_WORK_QUEUE_NAME
|
private static int |
SLEEPTIME
|
private static int |
SYNCH_RESCHEDULE_INTERVAL
|
private static StandardWfEngineService.SynchRobotCache |
synchRobotCache
|
private static boolean |
TERMINATE_OBJECTS_RUNNING_WORKFLOWS
|
private static int |
threadNumber
|
private static String |
URL_PROCESSOR_METHOD
|
private static boolean |
USE_QUEUE
|
private static int |
USER_WORK_POOL_SIZE
|
private static int |
USER_WORK_QUEUE_INTERVAL
|
private static boolean |
VERBOSE
|
private static String |
WORKFLOW_PROPAGATION_QUEUE_NAME
Name of the queue to hold event internal tasks in the execution of a workflow. |
private static String |
WORKFLOW_SCHEDULE_QUEUE_NAME
Name of the queue that holds timing and delays requests. |
private static String |
WORKFLOW_USER_WORK_QUEUE_NAME
Name of the queue that holds user work requests. |
private ProcessingQueue |
workflowPropagationQueue
|
private ScheduleQueue |
workflowScheduleQueue
|
private ProcessingQueue |
workflowUserWorkQueue
|
Fields inherited from class wt.services.StandardManager |
|
Fields inherited from interface wt.services.Manager |
MANAGER_SERVICE, STARTUP_AUTOMATIC, STARTUP_MANUAL, STATUS_EMERGENCY_SHUTDOWN, STATUS_EMERGENCY_SHUTTING_DOWN, STATUS_SHUTDOWN, STATUS_SHUTDOWN_ERRORS, STATUS_SHUTDOWN_FAILURE, STATUS_SHUTTING_DOWN, STATUS_STARTED, STATUS_STARTED_ERRORS, STATUS_STARTING_UP, STATUS_STARTUP_FAILURE |
Constructor Summary | |
StandardWfEngineService()
|
Method Summary | |
private void |
abortHostProcess(WfExecutionObject obj)
Abort host process. |
void |
addEventListener(WfSynchRobot robot)
Creates and adds a new event listener for the event key passed as argument. |
private void |
addPRefs(Vector v,
Enumeration e)
|
private void |
addPrin(Vector v,
WTPrincipalReference pRef)
|
private void |
appendAnd(QuerySpec qs)
Conditionally appends an 'AND' to a query spec. |
static WTDistributionList |
buildDistributionList(WfExecutionObject execObj,
boolean notifyAssignees,
boolean notifyRespRole,
boolean notifyTemplateRoles)
|
void |
changeAssignmentEvent(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 |
changeDataEvent(WfExecutionObject obj,
ProcessData old_data,
Role role,
String instructions)
Method called in order to emit a change of data event in an activity. |
void |
changeEventConfiguration(WfProcess process,
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. |
static void |
changeState(ObjectIdentifier exec_obj_id,
WfTransition transition,
Boolean propagate)
Method queued to perform a change of state in an execution object. |
WfExecutionObject |
changeState(WfExecutionObject exec_object,
WfTransition transition)
Changes the state of a process or activity. |
void |
changeStateEvent(WfExecutionObject obj,
WfState old_state,
Vector events)
Method called in order to emit a change of state event. |
private void |
checkProcessDeletion(WTCollection collection)
Throws exception if container is embedded. |
private void |
checkStartAdHocProcess(WfAdHocActivity requester)
Checks whether is valid to create and start an ad hoc process associated with the ad hoc activity passed as argument. |
WfActivity |
complete(WfActivity activity,
Vector selected_events)
Completes activity and generates events. |
static void |
completeTransition(ObjectIdentifier obj_id,
Vector events)
Supported API: false |
private WfBlockTemplate |
createAdHocBlock(WfTemplateObject template,
WTContainerRef context_ref)
Creates a block template given an activity template. |
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. |
WfRequesterActivity |
createBlockProcess(WfBlockTemplate template,
WfContainer container)
Creates a block process and requester activity given the block template and containing process. |
protected Folder |
createNestedFolder(String folder_path,
AdminDomainRef aDomObj)
|
WfRequesterActivity |
createNestedProcess(WfProcessTemplate template,
WfContainer container)
Creates an activity requester and an associated process from the template. |
WfProcess |
createProcess(WfProcessDefinition template,
Object team_spec)
Deprecated. use method with WTContainerRef |
WfProcess |
createProcess(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. |
WTValuedMap |
createProcesses(WTValuedMap objToWfDefMap,
WTKeyedMap objToWfNameMap,
WTCollection collection,
boolean setTeamFromPbo,
long priority)
Creates and returns a WTValuedMap of objects to WfProcess. |
WTValuedMap |
createProcesses(WTValuedMap objToWfDefMap,
WTKeyedMap objToWfNameMap,
WTCollection collection,
boolean setTeamFromPbo,
long priority,
WTContainerRef context_ref)
Creates and returns a WTValuedMap of objects to WfProcess. |
void |
createProcessEvent(WfProcess obj)
Used to notify the service that a process was created. |
private WfProcess |
createProcessInstance(WfContainerTemplate process_def,
Object team_spec,
WTContainerRef context_ref)
|
private WfProcess |
createProcessInstance(WfContainerTemplate process_def,
Object team_spec,
WTContainerRef context_ref,
boolean persist)
|
ProcessingQueue |
createPropagationQueue(WfProcess process)
Creates a queue to hold internal work (propagation, state changes) associated with the process passed as argument. |
private ProcessingQueue |
createQueue(String queue_name,
int queue_interval)
Creates, sets and starts processing queues. |
private ScheduleQueue |
createScheduleQueue(String queue_name)
Creates, sets and starts schedule queues. |
WfContainer |
createStartAdHocProcess(WfAdHocActivity requester,
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. |
private void |
deleteContainedObjects(WTCollection collection)
Deletes all contained objects in a given process. |
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(TeamReference teamRef)
Method called by lifecycle to cause the WfProcess to add it's roles to the Team. |
void |
doRobotWork(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 |
emitCustomEvent(String event_type,
Object target,
Hashtable value_map)
Creates and emits a custom event. |
void |
emitPastDeadlineEvent(WfExecutionObject object)
Emits event that a deadline has come and gone for the execution object passed as argument. |
void |
executionErrorEvent(WfExecutionObject obj,
Exception exception)
Used to notify the service that an exception occurred. |
private WfActivity |
getActivity(ObjectIdentifier container_id,
WfNodeTemplate template)
|
WTCollection |
getAssignmentEvents(WfProcess process,
Role role,
WTPrincipalReference new_assignee_ref,
WTPrincipalReference old_assignee_ref,
WTReference bus_obj_ref)
Returns all the reassignment events for the process, role, old assignee, new assignee and business object passed as argument. |
Enumeration |
getAssociatedProcesses(Persistable object,
WfState state)
Deprecated. use method with WTContainerRef argument. |
QueryResult |
getAssociatedProcesses(Persistable object,
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(TeamReference team,
WfState state)
Deprecated. use method that takes WTContainerRef
as argument. |
QueryResult |
getAssociatedProcesses(TeamReference team,
WfState state,
WTContainerRef context_ref)
Supported API: false |
WTCollection |
getAssociatedProcesses(WTCollection col,
WfState state)
|
String |
getConceptualClassname()
Deprecated. |
private WfNode |
getConnector(ObjectIdentifier container_id,
WfNodeTemplate template)
|
private WfContainer |
getContainer(WfNode node,
WfNodeTemplate template)
Returns container instance corresponding to destination container template. |
QueryResult |
getContainerNodes(WfContainer container)
|
private static WfExecutionObject |
getCulprit(WfNode node)
Returns the execution object to be blamed for the occurrence of an exception. |
WTCollection |
getDataEvents(WfExecutionObject exec_obj,
Role role,
WTPrincipalReference user_ref,
WTReference bus_obj_ref)
Returns all the data events for the execution object (process or activity), role, assignee, and business object passed as arguments. |
private static WTContainerRef |
getDefaultContainer()
|
private WfExecutionObject |
getExecObject(ObjectIdentifier container_id,
WfNodeTemplate template)
|
Enumeration |
getHistory(WfEventAuditType eventType)
Returns a list of all events of a given type associated with execution objects. |
Enumeration |
getHistory(WfExecutionObject obj,
WfEventAuditType eventType)
Returns a list of all events associated with a given execution object of a given type. |
private String |
getHTMLErrorMessage(Exception e)
Capture an exception's stack trace and message in a single String ;
format using HTML tags. |
private static long |
getId(Object object)
Helper method that extracts object db id. |
private Object |
getIgnoreDelete()
|
private Vector |
getLoopNodes(WfNode node)
Returns the set of nodes in the same loop as the link passed as argument. |
private static ObjectIdentifier |
getOid(Object object)
Helper method that extracts object identifier. |
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. |
private static WfProcess |
getParent(WfExecutionObject obj)
Returns the parent process of the execution object. |
WfNode |
getPersistentNode(WfNode trans_node)
Returns the persistent node that corresponds to a transient node, constructed for propagation purposes. |
Enumeration |
getPredecessors(WfNode node)
Returns all predecessor nodes to a node passed as argument. |
private WTCollection |
getPrimaryBusinessObjects(WTCollection collection)
|
private static WfProcess |
getProcess(Object wf_obj)
|
Enumeration |
getProcessConnectors(WfContainer container)
Returns all connectors contained in a given process. |
Enumeration |
getProcesses(WfProcessTemplate template,
WfState state)
Returns all processes instantianted from a given template that are in a given state. |
Enumeration |
getProcesses(WfState state)
Deprecated. use method with WTContainerRef as argument. |
QueryResult |
getProcesses(WfState state,
WTContainerRef context_ref)
Returns all existing processes in a given state and WTContainer. |
HashMap |
getProcessNodeDueDates(WfProcess process)
Returns a HashMap. |
HashMap |
getProcessNodeDueDates(WfProcessTemplate pt)
Returns a HashMap. |
HashMap |
getProcessNodeDurations(WfProcess process)
Returns a HashMap. |
HashMap |
getProcessNodeDurations(WfProcessTemplate pt)
Returns a HashMap. |
HashMap |
getProcessNodeInstructions(WfProcess process)
Returns a HashMap. |
HashMap |
getProcessNodeInstructions(WfProcessTemplate processTemplate)
Returns a HashMap. |
HashMap |
getProcessNodeNotifications(WfProcess process)
Returns a HashMap. |
HashMap |
getProcessNodeNotifications(WfProcessTemplate pt)
Returns a HashMap. |
Vector |
getProcessRoles(WfProcess process)
Answer a vector of role objects declared by the process Supported API: true |
Enumeration |
getProcessSteps(WfContainer container,
WfState state)
Returns all instantiated process steps in a given state. |
String |
getProjectName(WfContainer container)
Returns the name of the project associated with the given process. |
private ProcessingQueue |
getPropagationQueue(Object wf_obj)
Gets the propagation queue associated with the workflow object passed as argument |
private WTKeyedHashMap |
getPropagationQueue(WTCollection collection)
Gets a map of propagation queue->collection of worfklow objects from the collection of workflow objects passed in as the argument |
WtQueueEntry |
getQueueEntry(WtQueue queue,
long entryNumber)
|
private Vector |
getReachableNodeRefs(WfNodeTemplate node_template,
String role)
Returns the set of connector templates that can be reached from the node template passed as argument in a given direction. |
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. |
protected Vector |
getRobotEventKeys()
Returns all event keys that can be listened by synch robots. |
private WfConnector |
getStartConnector(ObjectIdentifier container_id)
Returns the start connector given the id of the container. |
private WfLink |
getSuccessor(WfNode node,
NodeTemplateLink template_link)
Instantiates the successor of a node and the link to it, given the template link. |
Enumeration |
getSuccessors(WfNode node)
Instantiates the successors of a given workflow node. |
private WfNode |
getSuccNode(WfContainer container,
WfNodeTemplate template)
Instantiates a surrogate for the successor of a node given the template link and the process. |
private StandardWfEngineService.SynchRobotCache |
getSynchRobotCache()
Construct the singleton cache on demand in thread-safe manner |
String |
getTeamName(WfContainer container)
Returns the name of the team associated with the given process. |
private ProcessingQueue |
getUserWorkQueue(Object wf_obj)
Gets the user work queue associated with the workflow object passed as argument |
WTCollection |
getVotingEvents(WfProcess process,
Role role,
WTPrincipalReference user_ref,
WTReference bus_obj_ref)
Returns all the voting events for the process, role, assignee and business object passed as argument. |
AdminDomainRef |
getWfDomain(WTObject pbo,
WTContainerRef context_ref)
Gets the AdminDomainRef given the associated business object and the context. |
Folder |
getWfFolder(String folder_name)
Deprecated. use method with the same name with two additional parameters: the primary business object and the container of the process. |
Folder |
getWfFolder(String folder_path,
WTObject pbo,
WTContainerRef context_ref)
Gets folder given its relative path, associated business object and the context. |
private ProcessingQueue |
initializeQueue(String queue_name,
int queue_interval)
Initializes queues: retrieves (or creates), sets interval and starts, |
private static boolean |
isPboActive(WfExecutionObject exec_obj)
Determines whether there is a business object associated with the process of the execution object passed as argument and this object hasn't been deleted. |
private boolean |
isPrimaryBusinessObject(Persistable object)
Returns whether the object passed as argument may be a primary business object of a workflow. |
private boolean |
isProcess(Object object)
Returns all event keys that can be listened by synch robots. |
private static boolean |
isProjectLink(WfExecutionObject obj)
Returns whether the workflow is part of ProjectLink. |
private static String |
linkToString(WfLink link)
Returns condensed readable identity of the link. |
static StandardWfEngineService |
newStandardWfEngineService()
Default factory for the class. |
private static String |
nodeToString(WfNode node)
Returns condensed readable identity of the node. |
protected void |
performStartupProcess()
Initialization tasks performed by the engine service. |
static void |
processDeadline(ObjectIdentifier exec_obj_id)
Checks if the deadline for the executioon object whose reference has been passed as parameter has been reached. |
static void |
processDeadline(ObjectIdentifier exec_obj_id,
Timestamp orig_deadline)
Checks if the deadline for the executioon object whose reference has been passed as parameter has been reached. |
static void |
processTimePastDeadline(ObjectIdentifier exec_obj_id)
Checks if the timepast deadline for the executioon object whose reference has been passed as parameter has been reached. |
static void |
processTimePastDeadline(ObjectIdentifier exec_obj_id,
Timestamp orig_deadline)
Checks if the timepast deadline for the executioon object whose reference has been passed as parameter has been reached. |
static void |
processTimeToDeadline(ObjectIdentifier exec_obj_id)
Checks if the time to deadline for the executioon object whose reference has been passed as parameter has been reached. |
static void |
processTimeToDeadline(ObjectIdentifier exec_obj_id,
Timestamp orig_deadline)
Checks if the time to deadline for the executioon object whose reference has been passed as parameter has been reached. |
static void |
propagateEvent(ObjectIdentifier node_id,
Serializable event)
This method does the actual event propagation from one node to the successor nodes. |
void |
queueCompleteTransition(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(WfActivity activity,
boolean new_thread)
Queues the restoration of the state of objects associated with activity passed as argument. |
void |
queueStateChange(WfExecutionObject obj,
WfTransition transition,
boolean new_thread,
boolean propagate)
Queues the state change. |
void |
queueStateChange(WTCollection collection,
WfTransition transition,
boolean new_thread,
boolean propagate)
Queues the state change for a collection of execution objects. |
void |
queueSynchCheck(WfSynchRobot robot)
Queues the a synchronization checking request. |
void |
queueTimeEvent(WfExecutionObject obj,
Timestamp time,
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. |
private static Persistable |
refreshObject(ObjectIdentifier obj_id)
Refreshes object given its object identifier. |
private void |
registerAsListener()
Register as listener to the following events: all synch robot events PersistenceManagerEvent.PRE_DELETE FolderServiceEvent.PRE_CHANGE_FOLDER The objects of interest are workflow objects, more specifically, node templates (processes, activities and connectors) and expressions. |
void |
registerEvents(ManagerService ms)
Register events with the passed ManagerService. |
void |
removeEventListener(WfSynchRobot robot)
Removes an event listener for the event key passed as argument that is also associated to the robot. |
WfNode |
resetReachableNodes(WfNode start_node)
Resets all nodes that can be reached from node passed as argument. |
private static Enumeration |
resolveAssignment(WfProcess process,
WfTemplateObject template)
Resolves the roles of the overdue notification list into a vector of principals. |
private Enumeration |
resolveGroup(WTGroup wg)
|
static void |
restoreState(ObjectIdentifier activity_id)
Restores state of objects associated with activity passed as argument. |
static void |
runRobot(ObjectIdentifier robot_id)
Method called by robot activities to do the work associated with the robot in the 'run' method. |
private boolean |
sameContainer(NodeTemplateLink link)
Returns 'true' if source and destination belong to the same container template; 'false' otherwise. |
private WfContainer |
saveProcess(WfContainer container)
Saves process persistently. |
private WTCollection |
saveProcesses(WTCollection collection)
Saves processes persistently. |
private WfNode |
saveWfNode(WfNode node,
AdminDomainRef domain_ref)
Saves a workflow node that was created during process execution. |
private void |
sendAbortMessage(WfExecutionObject obj,
Timestamp event_time,
WfState old_state)
Send message to process creator (initiator) notifying that execution object aborted. |
private static void |
sendApproachingDeadlineMessage(WfExecutionObject obj)
Send message to process creator (initiator) notifying that execution object is near deadline. |
private static void |
sendApproachingDeadlineMessage(WfExecutionObject obj,
WTDistributionList distList)
Send message to distribution list passed notifying that execution object is near deadline. |
private void |
sendCompletionMessage(WfExecutionObject obj,
Timestamp event_time,
WfState old_state)
Send message to process creator (initiator) notifying that execution object completed. |
void |
sendEventToSuccessors(ObjectReference node_ref,
Object event,
boolean is_immediate)
Propagate event to successors of the given node. |
private void |
sendExceptionMessage(WfExecutionObject obj,
Exception exception,
Timestamp event_time)
Send exception message to process creator (initiator). |
private static void |
sendOverdueMessage(WfExecutionObject exec_obj)
Send notification that the execution object is overdue. |
private static void |
sendOverdueNotification(WfExecutionObject exec_obj,
WTDistributionList distList,
WfTemplateProcessor tp)
Send notification that the execution object is overdue using the pased distribution list and Template processor. |
private static void |
sendOverdueNotificationToRoles(WfExecutionObject exec_obj,
WTDistributionList distList,
WfTemplateProcessor tp)
Send notification that the execution object is overdue using the passed distribution list and Template processor. |
private static void |
sendPastDeadlineMessage(WfExecutionObject obj)
Send message to process creator (initiator) notifying that execution object is past deadline. |
private static void |
sendPastDeadlineMessage(WfExecutionObject obj,
WTDistributionList distList)
Send message to distribution list passed notifying that execution object is past deadline. |
void |
setIgnoreDelete(Object obj)
Supported API: false |
private void |
setPboClasses()
Initializes the pboClasses map. |
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. |
void |
setProcessNodeDueDates(ObjectReference process,
HashMap hash)
Takes an ObjectReference to a process and a HashMap of ObjectReference->WfDueDate paris. |
void |
setProcessNodeDurations(ObjectReference process,
HashMap hash)
Takes an ObjectReference to a process and a HashMap of ObjectReference->WfDuration paris. |
void |
setProcessNodeInstructions(ObjectReference process,
HashMap hash)
Takes an ObjectReference to a process and a HashMap of ObjectReference->WfInstructions pairs. |
void |
setProcessNodeNotifications(ObjectReference process,
HashMap hash)
Takes an ObjectReference to a process and a HashMap of ObjectReference->WfAssigneeNotification paris. |
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. |
WTCollection |
startProcesses(WTCollection processes)
Queues the start of all WfProcess objects in the given WTCollection. |
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. |
private void |
synchProcessToObjectsDomain(WTCollection collection)
The Process' PBO has changes its domain location. |
static void |
synchRobotToEvent(ObjectIdentifier robot_id,
KeyedEvent event)
Processes event for the robot whose id is passed as argument. |
static StatusInfo |
synchronize(ObjectIdentifier robot_id)
Method called to perform robot synchronization. |
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. |
private static WTArrayList |
toWTArrayList(QueryResult qr)
Returns a WTCollection from a QueryResult consisting only of persistables. |
static String |
trimToProcessParentPath(String str)
|
static String |
trimToProcessSubPath(String str)
|
Vector |
whereUsed(ProjectReference project,
boolean returnOnlyFirstOccurrence)
Returns a vector of references to any defintion objects that use a particular Project object Supported API: false |
Vector |
whereUsed(TeamReference teamRef,
boolean returnOnlyFirstOccurrence)
Returns a vector of references to any defintion objects that use a particular Team object Supported API: false |
Vector |
whereUsed(TeamTemplateReference teamTemplateRef,
boolean returnOnlyFirstOccurrence)
Returns a vector of references to any defintion objects that use a particular TeamTemplate object Supported API: false |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final String RESOURCE
private static final String CLASSNAME
private static final String WORKFLOW_PROPAGATION_QUEUE_NAME
private static final String WORKFLOW_SCHEDULE_QUEUE_NAME
private static final String WORKFLOW_USER_WORK_QUEUE_NAME
private ProcessingQueue workflowPropagationQueue
private ProcessingQueue workflowUserWorkQueue
private ScheduleQueue workflowScheduleQueue
private static final String PROCESS_CLASS_NAME
private static final String PRIM_BUS_OBJ_VAR_NAME
private static final Object IGNORE_DELETE_KEY
private static StandardWfEngineService.SynchRobotCache synchRobotCache
private static int threadNumber
private static final String EXCEPTION_NOTIFICATION_TEMPLATE
private static final String ABORT_NOTIFICATION_TEMPLATE
private static final String OVERDUE_NOTIFICATION_TEMPLATE
private static final String OVERDUE_NOTIFICATION_TEMPLATE_FOR_ROLES
private static final String COMPLETE_NOTIFICATION_TEMPLATE
private static final String APPROACHING_DEADLINE_TEMPLATE
private static final String PAST_DEADLINE_TEMPLATE
private static final String URL_PROCESSOR_METHOD
private static final String FOLDER_SEPARATOR
private static int PROPAGATION_QUEUE_INTERVAL
private static int USER_WORK_QUEUE_INTERVAL
private static int SYNCH_RESCHEDULE_INTERVAL
private static int DEDICATED_QUEUE_LIMIT
private static final String SHARED_PROPAGATION_QUEUE_NAME
private static final String SHARED_USER_WORK_QUEUE_NAME
private static int PROPAGATION_POOL_SIZE
private static int USER_WORK_POOL_SIZE
private static int nextPropagationQueue
private static int nextUserWorkQueue
private static final boolean DOMAIN_BASED_WORKFLOW
private static String DEDICATED_QUEUE_MODE
If mode is different from "none" then whether or not the queue is shared depends on the dedicatedQueue flag of the event configuration attribute.
private static boolean NO_DEDICATED_PROPAGATION
private static boolean NO_DEDICATED_USER_WORK
private static String NOTIFICATION_SENDER
private static final String NAME_SEPARATOR
private static final int NAME_SIZE
private static int NAME_SUFFIX
private static final boolean USE_QUEUE
private static final boolean VERBOSE
private static final boolean CONCAT_NESTED_PROCESS_NAME
private static final boolean TERMINATE_OBJECTS_RUNNING_WORKFLOWS
private static final boolean DEDICATED_QUEUE_PER_PROCESS
private static final String PBO_CLASSES
private HashMap pboClasses
private int numberOfDedicatedQueues
private static final int NRETRIES
private static final int SLEEPTIME
Constructor Detail |
public StandardWfEngineService()
Method Detail |
public String getConceptualClassname()
getConceptualClassname
in interface NetFactor
getConceptualClassname
in class StandardManager
protected void performStartupProcess() throws ManagerException
performStartupProcess
in class StandardManager
ManagerException
public static void propagateEvent(ObjectIdentifier node_id, Serializable event) throws WTException
node_id
- event
-
WTException
public static void runRobot(ObjectIdentifier robot_id) throws WTException
robot_id
-
WTException
public static void changeState(ObjectIdentifier exec_obj_id, WfTransition transition, Boolean propagate) throws WTException
exec_obj_id
- transition
- propagate
-
WTException
public static void processDeadline(ObjectIdentifier exec_obj_id) throws WTException
exec_obj_id
-
WTException
public static void processTimeToDeadline(ObjectIdentifier exec_obj_id) throws WTException
exec_obj_id
-
WTException
public static void processTimePastDeadline(ObjectIdentifier exec_obj_id) throws WTException
exec_obj_id
-
WTException
public static void completeTransition(ObjectIdentifier obj_id, Vector events) throws WTException
obj_id
- events
-
WTException
public static void restoreState(ObjectIdentifier activity_id) throws WTException
activity_id
-
WTException
public static StatusInfo synchronize(ObjectIdentifier robot_id) throws WTException
robot_id
-
WTException
public static void processDeadline(ObjectIdentifier exec_obj_id, Timestamp orig_deadline) throws WTException
exec_obj_id
- orig_deadline
-
WTException
public static void processTimePastDeadline(ObjectIdentifier exec_obj_id, Timestamp orig_deadline) throws WTException
exec_obj_id
- orig_deadline
-
WTException
public static void processTimeToDeadline(ObjectIdentifier exec_obj_id, Timestamp orig_deadline) throws WTException
exec_obj_id
- orig_deadline
-
WTException
public static StandardWfEngineService newStandardWfEngineService() throws WTException
WTException
public void changeStateEvent(WfExecutionObject obj, WfState old_state, Vector events) throws WTException
changeStateEvent
in interface WfEngineServiceSvr
obj
- old_state
- events
-
WTException
public void changeDataEvent(WfExecutionObject obj, ProcessData old_data) throws WTException
changeDataEvent
in interface WfEngineServiceSvr
obj
- old_data
-
WTException
public Enumeration getSuccessors(WfNode node) throws WTException
getSuccessors
in interface WfEngineServiceSvr
node
-
WTException
public Enumeration getPredecessors(WfNode node) throws WTException
getPredecessors
in interface WfEngineServiceSvr
node
-
WTException
public void sendEventToSuccessors(ObjectReference node_ref, Object event, boolean is_immediate) throws WTException
sendEventToSuccessors
in interface WfEngineServiceSvr
node_ref
- event
- is_immediate
-
WTException
public void createProcessEvent(WfProcess obj) throws WTException
createProcessEvent
in interface WfEngineServiceSvr
obj
-
WTException
public void changeAssignmentEvent(WfAssignedActivity obj, WTPrincipal new_assignee, WTPrincipal old_assignee, Role role) throws WTException
changeAssignmentEvent
in interface WfEngineServiceSvr
obj
- new_assignee
- old_assignee
- role
-
WTException
public void executionErrorEvent(WfExecutionObject obj, Exception exception)
executionErrorEvent
in interface WfEngineServiceSvr
obj
- exception
- public void changeResultEvent(WfExecutionObject obj, ProcessData old_data) throws WTException
changeResultEvent
in interface WfEngineServiceSvr
obj
- old_data
-
WTException
public void doRobotWork(WfRobotActivity robot) throws WTException
doRobotWork
in interface WfEngineServiceSvr
robot
-
WTException
public WfNode resetReachableNodes(WfNode start_node) throws WTException
resetReachableNodes
in interface WfEngineServiceSvr
start_node
-
WTException
public void queueStateChange(WfExecutionObject obj, WfTransition transition, boolean new_thread, boolean propagate) throws WTException
queueStateChange
in interface WfEngineServiceSvr
obj
- transition
- new_thread
- propagate
-
WTException
public void queueStateChange(WTCollection collection, WfTransition transition, boolean new_thread, boolean propagate) throws WTException
queueStateChange
in interface WfEngineServiceSvr
collection
- transition
- new_thread
- propagate
-
WTException
public void queueTimeEvent(WfExecutionObject obj, Timestamp time, WfTransition transition) throws WTException
queueTimeEvent
in interface WfEngineServiceSvr
obj
- time
- transition
-
WTException
public void queueDeadlineCheck(WfExecutionObject obj) throws WTException
queueDeadlineCheck
in interface WfEngineServiceSvr
obj
-
WTException
public void queueTimeToDeadlineCheck(WfExecutionObject obj) throws WTException
queueTimeToDeadlineCheck
in interface WfEngineServiceSvr
obj
-
WTException
public void queueTimePastDeadlineCheck(WfExecutionObject obj) throws WTException
queueTimePastDeadlineCheck
in interface WfEngineServiceSvr
obj
-
WTException
public void queueCompleteTransition(WfActivity activity, Vector events) throws WTException
queueCompleteTransition
in interface WfEngineServiceSvr
activity
- events
-
WTException
public void queueRestoreState(WfActivity activity, boolean new_thread) throws WTException
queueRestoreState
in interface WfEngineServiceSvr
activity
- new_thread
-
WTException
public void queueSynchCheck(WfSynchRobot robot) throws WTException
queueSynchCheck
in interface WfEngineServiceSvr
robot
-
WTException
public WfNode getPersistentNode(WfNode trans_node) throws WTException
getPersistentNode
in interface WfEngineServiceSvr
trans_node
-
WTException
public void addEventListener(WfSynchRobot robot)
addEventListener
in interface WfEngineServiceSvr
robot
- public void removeEventListener(WfSynchRobot robot)
removeEventListener
in interface WfEngineServiceSvr
robot
- public ProcessingQueue createUserWorkQueue(WfProcess process) throws WTException
createUserWorkQueue
in interface WfEngineServiceSvr
process
-
WTException
public ProcessingQueue createPropagationQueue(WfProcess process) throws WTException
createPropagationQueue
in interface WfEngineServiceSvr
process
-
WTException
public WfProcess setPrimaryBusinessObject(WfProcess process, WTObject object) throws WTException
setPrimaryBusinessObject
in interface WfEngineServiceSvr
process
- object
-
WTException
public WfProcess setPrimaryBusinessObject(WfProcess process, WTObject object, boolean persist) throws WTException
setPrimaryBusinessObject
in interface WfEngineServiceSvr
process
- object
- persist
-
WTException
public void emitPastDeadlineEvent(WfExecutionObject object) throws WTException
emitPastDeadlineEvent
in interface WfEngineServiceSvr
object
-
WTException
public void deleteDedicatedQueues(WfProcess process) throws WTException
deleteDedicatedQueues
in interface WfEngineServiceSvr
process
-
WTException
public void emitCustomEvent(String event_type, Hashtable value_map) throws WTException
emitCustomEvent
in interface WfEngineServiceSvr
event_type
- value_map
-
WTException
public void emitCustomEvent(String event_type, Object target, Hashtable value_map) throws WTException
emitCustomEvent
in interface WfEngineServiceSvr
event_type
- target
- value_map
-
WTException
public void doReteamProcess(TeamReference teamRef) throws WTException
doReteamProcess
in interface WfEngineServiceSvr
teamRef
-
WTException
public Enumeration getAssociatedProcesses(TeamReference team, WfState state) throws WTException
WTContainerRef
as argument.
getAssociatedProcesses
in interface WfEngineServiceSvr
team
- state
-
WTException
public QueryResult getAssociatedProcesses(TeamReference team, WfState state, WTContainerRef context_ref) throws WTException
getAssociatedProcesses
in interface WfEngineServiceSvr
team
- state
- context_ref
-
WTException
public void changeDataEvent(WfExecutionObject obj, ProcessData old_data, Role role, String instructions) throws WTException
changeDataEvent
in interface WfEngineServiceSvr
obj
- old_data
- role
- instructions
-
WTException
public WfProcess startProcess(WfProcess process, ProcessData input, long priority) throws WTException
startProcess
in interface WfEngineService
process
- input
- priority
-
WTException
public void setIgnoreDelete(Object obj) throws WTException
setIgnoreDelete
in interface WfEngineService
obj
-
WTException
public Enumeration getProcesses(WfState state) throws WTException
getProcesses
in interface WfEngineService
state
-
WTException
public Enumeration getProcesses(WfProcessTemplate template, WfState state) throws WTException
getProcesses
in interface WfEngineService
template
- state
-
WTException
public Enumeration getProcessSteps(WfContainer container, WfState state) throws WTException
getProcessSteps
in interface WfEngineService
container
- state
-
WTException
public HashMap getProcessNodeDueDates(WfProcessTemplate pt) throws WTException
getProcessNodeDueDates
in interface WfEngineService
pt
-
WTException
public Enumeration getProcessConnectors(WfContainer container) throws WTException
getProcessConnectors
in interface WfEngineService
container
-
WTException
public Vector getProcessRoles(WfProcess process) throws WTException
getProcessRoles
in interface WfEngineService
process
-
WTException
public WfExecutionObject changeState(WfExecutionObject exec_object, WfTransition transition) throws WTException
changeState
in interface WfEngineService
exec_object
- transition
-
WTException
public Enumeration getHistory(WfExecutionObject obj, WfEventAuditType eventType) throws WTException
getHistory
in interface WfEngineService
obj
- eventType
-
WTException
public void deleteClosedProcesses(SearchCondition condition) throws WTException
deleteClosedProcesses
in interface WfEngineService
condition
-
WTException
public Enumeration getOverdueProcesses() throws WTException
getOverdueProcesses
in interface WfEngineService
WTException
public Enumeration getOverdueActivities(WfProcess process) throws WTException
getOverdueActivities
in interface WfEngineService
process
-
WTException
public WfActivity complete(WfActivity activity, Vector selected_events) throws WTException
complete
in interface WfEngineService
activity
- selected_events
-
WTException
public String getProjectName(WfContainer container) throws WTException
getProjectName
in interface WfEngineService
container
-
WTException
public WfProcess createProcess(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 WfEngineService
template
- team_spec
-
WTException
public WfRequesterActivity createNestedProcess(WfProcessTemplate template, WfContainer container) throws WTException
createNestedProcess
in interface WfEngineService
template
- container
-
WTException
public Enumeration getHistory(WfEventAuditType eventType) throws WTException
getHistory
in interface WfEngineService
eventType
-
WTException
public void changeEventConfiguration(WfProcess process, WfEventConfiguration evt_cfg) throws WTException
changeEventConfiguration
in interface WfEngineService
process
- evt_cfg
-
WTException
public void deleteProcess(WfProcess process) throws WTException
deleteProcess
in interface WfEngineService
process
-
WTException
public WfProcess startProcessImmediate(WfProcess process, ProcessData input, long priority) throws WTException
startProcessImmediate
in interface WfEngineService
process
- input
- priority
-
WTException
public WfRequesterActivity createBlockProcess(WfBlockTemplate template, WfContainer container) throws WTException
createBlockProcess
in interface WfEngineService
template
- container
-
WTException
public WfContainer createStartAdHocProcess(WfAdHocActivity requester, WfContainerTemplate template) throws WTException
createStartAdHocProcess
in interface WfEngineService
requester
- template
-
WTException
public WfProcess startProcess(WfProcess process, ProcessData input, long priority, Timestamp start_time, Timestamp deadline) throws WTException
startProcess
in interface WfEngineService
process
- input
- priority
- start_time
- deadline
-
WTException
public WTPrincipal getResponsible(WfExecutionObject exec_obj) throws WTException
getResponsible
in interface WfEngineService
exec_obj
-
WTException
public Enumeration getAssociatedProcesses(Persistable object, WfState state) throws WTException
getAssociatedProcesses
in interface WfEngineService
object
- 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 WfEngineService
template
- team_spec
-
WTException
public URL getRelatedProcessesURL(WTObject obj) throws WTException
getRelatedProcessesURL
in interface WfEngineService
obj
-
WTException
public Vector whereUsed(ProjectReference project, boolean returnOnlyFirstOccurrence) throws WTException
whereUsed
in interface WfEngineService
project
- returnOnlyFirstOccurrence
- this boolean parameter determines whether to return all objects that use the Project object or only the first usage. This parameter was added for performance reasons and the occasional need to only know that the project is used.
WTException
public Enumeration getResponsibleParticipants(WfExecutionObject exec_obj) throws WTException
getResponsibleParticipants
in interface WfEngineService
exec_obj
-
WTException
public void terminateObjectsRunningWorkflows(Persistable object) throws WTException
terminateObjectsRunningWorkflows
in interface WfEngineService
object
- The object for which you wish to terminate the objects running workflows.
WTException
public void terminateObjectsRunningWorkflows(WTCollection collection) throws WTException
terminateObjectsRunningWorkflows
in interface WfEngineService
collection
- The collection of objects for which you wish to terminate the running workflows.
WTException
public WfProcess createProcess(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 WfEngineService
template
- 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 WfEngineService
template
- team_spec
- context_ref
-
WTException
public Vector whereUsed(TeamTemplateReference teamTemplateRef, boolean returnOnlyFirstOccurrence) throws WTException
whereUsed
in interface WfEngineService
teamTemplateRef
- returnOnlyFirstOccurrence
- this boolean parameter determines whether to return all objects that use the TeamTemplate object or only the first usage. This parameter was added for performance reasons and the occasional need to only know that the team template is used.
WTException
public Vector whereUsed(TeamReference teamRef, boolean returnOnlyFirstOccurrence) throws WTException
whereUsed
in interface WfEngineService
teamRef
- returnOnlyFirstOccurrence
- this boolean parameter determines whether to return all objects that use the Team object or only the first usage. This parameter was added for performance reasons and the occasional need to only know that the team is used.
WTException
public String getTeamName(WfContainer container) throws WTException
getTeamName
in interface WfEngineService
container
-
WTException
public QueryResult getAssociatedProcesses(Persistable object, WfState state, WTContainerRef context_ref) throws WTException
getAssociatedProcesses
in interface WfEngineService
object
- state
- context_ref
-
WTException
public QueryResult getOverdueProcesses(WTContainerRef context_ref) throws WTException
getOverdueProcesses
in interface WfEngineService
context_ref
-
WTException
public QueryResult getProcesses(WfState state, WTContainerRef context_ref) throws WTException
getProcesses
in interface WfEngineService
state
- context_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
public Folder getWfFolder(String folder_name) throws WTException
getWfFolder
in interface WfEngineService
folder_name
-
WTException
public WTValuedMap createProcesses(WTValuedMap objToWfDefMap, WTKeyedMap objToWfNameMap, WTCollection collection, boolean setTeamFromPbo, long priority) throws WTException
createProcesses
in interface WfEngineService
objToWfDefMap
- Object to WfProcessDefinition mapobjToWfNameMap
- Object to Workflow Process name map.collection
- Collection of target objectssetTeamFromPbo
- set TeamTemplate from target objectpriority
- WfProcess priority value
WTException
public WTValuedMap createProcesses(WTValuedMap objToWfDefMap, WTKeyedMap objToWfNameMap, WTCollection collection, boolean setTeamFromPbo, long priority, WTContainerRef context_ref) throws WTException
createProcesses
in interface WfEngineService
objToWfDefMap
- Object to WfProcessDefinition mapobjToWfNameMap
- Object to Workflow Process name map.collection
- Collection of target objectssetTeamFromPbo
- set TeamTemplate from target objectpriority
- WfProcess priority valuecontext_ref
- WTContainerRef to be used for newly created Workflow Processes.
WTException
public WTCollection startProcesses(WTCollection processes) throws WTException
startProcesses
in interface WfEngineService
processes
- collection of WfProcess objects
WTException
public WTCollection getAssignmentEvents(WfProcess process, Role role, WTPrincipalReference new_assignee_ref, WTPrincipalReference old_assignee_ref, WTReference bus_obj_ref) throws WTException
Note
The business object is passed as argument as a WTReference
,
which can be an ObjectReference
or a wt.fc.VersionReference
.
In case of Iterated
objects a wt.fc.VersionReference
needs to be passed as argument, otherwise the events will not be found.
Supported API: false
getAssignmentEvents
in interface WfEngineService
process
- role
- new_assignee_ref
- old_assignee_ref
- bus_obj_ref
-
WTException
public WTCollection getVotingEvents(WfProcess process, Role role, WTPrincipalReference user_ref, WTReference bus_obj_ref) throws WTException
Note
The business object is passed as argument as a WTReference
,
which can be an ObjectReference
or a wt.fc.VersionReference
.
In case of Iterated
objects a wt.fc.VersionReference
needs to be passed as argument, otherwise the events will not be found.
Supported API: false
getVotingEvents
in interface WfEngineService
process
- role
- user_ref
- bus_obj_ref
-
WTException
public WTCollection getDataEvents(WfExecutionObject exec_obj, Role role, WTPrincipalReference user_ref, WTReference bus_obj_ref) throws WTException
getDataEvents
in interface WfEngineService
exec_obj
- role
- user_ref
- bus_obj_ref
-
WTException
public HashMap getProcessNodeDueDates(WfProcess process) throws WTException
getProcessNodeDueDates
in interface WfEngineService
process
-
WTException
public void setProcessNodeDueDates(ObjectReference process, HashMap hash) throws WTException
setProcessNodeDueDates
in interface WfEngineService
process
- hash
-
WTException
public HashMap getProcessNodeInstructions(WfProcess process) throws WTException
getProcessNodeInstructions
in interface WfEngineService
process
-
WTException
public HashMap getProcessNodeInstructions(WfProcessTemplate processTemplate) throws WTException
getProcessNodeInstructions
in interface WfEngineService
processTemplate
-
WTException
public void setProcessNodeInstructions(ObjectReference process, HashMap hash) throws WTException
setProcessNodeInstructions
in interface WfEngineService
process
- hash
-
WTException
public AdminDomainRef getWfDomain(WTObject pbo, WTContainerRef context_ref) throws WTException
getWfDomain
in interface WfEngineService
pbo
- context_ref
-
WTException
public HashMap getProcessNodeDurations(WfProcessTemplate pt) throws WTException
getProcessNodeDurations
in interface WfEngineService
pt
-
WTException
public HashMap getProcessNodeDurations(WfProcess process) throws WTException
getProcessNodeDurations
in interface WfEngineService
process
-
WTException
public HashMap getProcessNodeNotifications(WfProcessTemplate pt) throws WTException
getProcessNodeNotifications
in interface WfEngineService
pt
-
WTException
public HashMap getProcessNodeNotifications(WfProcess process) throws WTException
getProcessNodeNotifications
in interface WfEngineService
process
-
WTException
public void setProcessNodeDurations(ObjectReference process, HashMap hash) throws WTException
setProcessNodeDurations
in interface WfEngineService
process
- hash
-
WTException
public void setProcessNodeNotifications(ObjectReference process, HashMap hash) throws WTException
setProcessNodeNotifications
in interface WfEngineService
process
- hash
-
WTException
private WfActivity getActivity(ObjectIdentifier container_id, WfNodeTemplate template) throws WTException
WTException
private WfExecutionObject getExecObject(ObjectIdentifier container_id, WfNodeTemplate template) throws WTException
WTException
private WfNode getConnector(ObjectIdentifier container_id, WfNodeTemplate template) throws WTException
WTException
private void setPboClasses() throws WTException, ClassNotFoundException
WTException
ClassNotFoundException
private boolean isPrimaryBusinessObject(Persistable object) throws WTException
WTException
private WTCollection getPrimaryBusinessObjects(WTCollection collection) throws WTException
WTException
public QueryResult getContainerNodes(WfContainer container) throws WTException
WTException
public void registerEvents(ManagerService ms)
registerEvents
in interface Manager
registerEvents
in class StandardManager
ms
- the ManagerService with which to register events.private ProcessingQueue getUserWorkQueue(Object wf_obj) throws WTException
WTException
private ProcessingQueue getPropagationQueue(Object wf_obj) throws WTException
WTException
private WTKeyedHashMap getPropagationQueue(WTCollection collection) throws WTException
WTException
private static String nodeToString(WfNode node)
node
- - WfNode to be printed outprivate static String linkToString(WfLink link)
link
- - WfLink to be printed outprivate void checkProcessDeletion(WTCollection collection) throws WTException
WTException
private void deleteContainedObjects(WTCollection collection) throws WTException
WTException
private WfLink getSuccessor(WfNode node, NodeTemplateLink template_link) throws WTException
node
-
WTException
private WfNode getSuccNode(WfContainer container, WfNodeTemplate template) throws WTException
template
-
WTException
private WfNode saveWfNode(WfNode node, AdminDomainRef domain_ref) throws WTException
node
- - WfNode to be saved
WTException
private void checkStartAdHocProcess(WfAdHocActivity requester) throws WTException
Cases in which it is valid:
requester
- - ad hoc activity
WTException
private void abortHostProcess(WfExecutionObject obj) throws WTException
WTException
private void sendCompletionMessage(WfExecutionObject obj, Timestamp event_time, WfState old_state) throws WTException
WTException
private static boolean isProjectLink(WfExecutionObject obj) throws WTException
WTException
private static void sendApproachingDeadlineMessage(WfExecutionObject obj) throws WTException
WTException
private static void sendPastDeadlineMessage(WfExecutionObject obj) throws WTException
WTException
private void sendAbortMessage(WfExecutionObject obj, Timestamp event_time, WfState old_state) throws WTException
WTException
private void sendExceptionMessage(WfExecutionObject obj, Exception exception, Timestamp event_time) throws WTException
WTException
private String getHTMLErrorMessage(Exception e)
String
;
format using HTML tags.
e
- - exceptionprivate static WfExecutionObject getCulprit(WfNode node) throws WTException
WTException
private static Persistable refreshObject(ObjectIdentifier obj_id) throws WTException
obj_id
- - id of the object to be refreshed
WTException
private WfContainer saveProcess(WfContainer container) throws WTException
WTException
private WTCollection saveProcesses(WTCollection collection) throws WTException
collection
- - WTCollection of processes to be saved
WTException
private static void sendOverdueMessage(WfExecutionObject exec_obj) throws WTException
exec_obj
- - overdue execution object
WTException
private static void sendOverdueNotification(WfExecutionObject exec_obj, WTDistributionList distList, WfTemplateProcessor tp) throws WTException
distList
- - distribution listtp
- - template processor
WTException
private static void sendOverdueNotificationToRoles(WfExecutionObject exec_obj, WTDistributionList distList, WfTemplateProcessor tp) throws WTException
distList
- - distribution listtp
- - template processor
WTException
private static Enumeration resolveAssignment(WfProcess process, WfTemplateObject template) throws WTException
process
- - container processtemplate
- - template object containing the overdue notification list
WTException
private WfBlockTemplate createAdHocBlock(WfTemplateObject template, WTContainerRef context_ref) throws WTException
template
- - activity template
WTException
private ProcessingQueue createQueue(String queue_name, int queue_interval) throws WTException
queue_name
- - queue namequeue_interval
- - queue polling interval
WTException
private ScheduleQueue createScheduleQueue(String queue_name) throws WTException
queue_name
- - queue name
WTException
private ProcessingQueue initializeQueue(String queue_name, int queue_interval) throws WTException
queue_name
- - queue namequeue_interval
- - queue polling interval
WTException
private static WfProcess getParent(WfExecutionObject obj)
obj
- - execution object (activity or process)
private void registerAsListener() throws ManagerException
ManagerException
private boolean isProcess(Object object)
protected Vector getRobotEventKeys()
public static void synchRobotToEvent(ObjectIdentifier robot_id, KeyedEvent event) throws WTException
WTException
private void synchProcessToObjectsDomain(WTCollection collection) throws WTException
WTException
private StandardWfEngineService.SynchRobotCache getSynchRobotCache() throws WTException
WTException
private WfConnector getStartConnector(ObjectIdentifier container_id) throws WTException
WTException
private Vector getLoopNodes(WfNode node) throws WTException
WTException
private Vector getReachableNodeRefs(WfNodeTemplate node_template, String role) throws WTException
WTException
private void addPRefs(Vector v, Enumeration e)
private void addPrin(Vector v, WTPrincipalReference pRef)
private Enumeration resolveGroup(WTGroup wg) throws WTException
WTException
private boolean sameContainer(NodeTemplateLink link)
private WfContainer getContainer(WfNode node, WfNodeTemplate template) throws WTException
WTException
private Object getIgnoreDelete()
private static ObjectIdentifier getOid(Object object)
private static long getId(Object object)
private static WfProcess getProcess(Object wf_obj) throws WTException
WTException
protected Folder createNestedFolder(String folder_path, AdminDomainRef aDomObj) throws WTException
WTException
public static String trimToProcessSubPath(String str)
public static String trimToProcessParentPath(String str)
private WfProcess createProcessInstance(WfContainerTemplate process_def, Object team_spec, WTContainerRef context_ref, boolean persist) throws WTException
WTException
private WfProcess createProcessInstance(WfContainerTemplate process_def, Object team_spec, WTContainerRef context_ref) throws WTException
WTException
private static WTContainerRef getDefaultContainer() throws WTException
WTException
private static boolean isPboActive(WfExecutionObject exec_obj) throws WTException
WTException
public WTCollection getAssociatedProcesses(WTCollection col, WfState state) throws WTException
WTException
private static WTArrayList toWTArrayList(QueryResult qr)
private void appendAnd(QuerySpec qs)
public WtQueueEntry getQueueEntry(WtQueue queue, long entryNumber)
public static WTDistributionList buildDistributionList(WfExecutionObject execObj, boolean notifyAssignees, boolean notifyRespRole, boolean notifyTemplateRoles) throws WTException
WTException
private static void sendApproachingDeadlineMessage(WfExecutionObject obj, WTDistributionList distList) throws WTException
WTException
private static void sendPastDeadlineMessage(WfExecutionObject obj, WTDistributionList distList) throws WTException
WTException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |