Interface WfEngine
- All Superinterfaces:
Remote
,RemoteWfEngine
Most methods have an implicit user parameter. This is initialized as the ThreadPrincipal from the ThreadContext when the WfEngine object is created.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final short
Constant for form-field-mode (XForms equivalent: relevant=false)static final short
Constant for form-field-mode mandatory (XForms equivalent: required)static final short
Constant for form-field-mode, if true subforms cannot be added or deletedstatic final short
Constant for form-field-mode read-onlystatic final short
Constant for form-field-mode read-write, this is the default.static final short
Constant for form-field-mode text, field is shown as text output. -
Method Summary
Modifier and TypeMethodDescriptionvoid
abort
(ProcessInstance process) Abort a process.void
abort
(ProcessInstance process, String comment) Abort a process and add a DMSNote with a generated Subject and a given comment.void
abortParforSiblings
(ActivityInstance parfor) Abort the running siblings of the current parfor instances.void
Abort the siblings of the par branch.void
addAgent
(ActivityInstance ai, Agent a, OrgUnit ou, DMSNote note) Add an agent which receives the process after the current agentint
addParforInstances
(String stepid, ActivityInstance previous) Start additional parfor branches for the given step.void
addSystemNote
(ActivityInstance ai, String subject, String text) Attach a note to an ActivityInstance.void
archive
(ProcessInstance process) Archive a process.void
Check if the thread-user can take the activity.changeAgent
(ActivityInstance ai, Agent a, OrgUnit ou, String comment) Give the activity instance to another agent.void
checkAbort
(ProcessInstance process) Check if the thread user may abort the process.void
If the predecessor of ai was not finished completely (is in status WAITING) and the necessary action is done now (for example setting the agent for ai) this method will complete it.copyTo
(ActivityInstance ai, User u) Send a copy to another user.copyTo
(ActivityInstance ai, User u, String comment) Send a copy to another user.createProcessInstance
(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id) Create a process instance.createProcessInstance
(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id, DMSForm f) Create a process instance.void
filterByFolder
(UserFolder uf, List<ActivityInstance> ais) Filter a list of ActivityInstances.void
Finsh an activity, the engine starts the next step.void
Finishs a choice branch, abort the other branches.getActiveTasks
(ProcessInstance process) Get the list of active activities of a process instance.getActiveTasks
(ProcessInstance process, User u) Get the list of active, interactive activities of a process instance assigned to a user.getActivities
(String condition) Find the activity instances with a given condition.getActivityInstance
(long oid) Find a activity instance from the given oid.getActivityInstances
(ProcessInstance process) Get the list of all direct activity instances of a process instance.getActivityInstances
(ProcessInstance process, boolean recursive, boolean active, int type, String stepid) Get a list of activity instances for a process instancegetActivityInstances
(ProcessInstance process, String stepid) Get the list of direct activity instances of a particular step in a process.Get the list of ALL active activities of a process instance.getAllInteractiveTasks
(ProcessInstance process) Get the list of ALL active, interactive activities of a process instance.Use this method to get the possible choice branches when the process execution reaches a choice.Return the current activity instance.getDocuments
(ProcessInstance process) Get the list of DMS objects (e.g. documents, folders) attached to a process.getFieldModes
(ActivityInstance ai, DMSForm f) Get field modes for form fieldsgetFieldModes
(ActivityInstance ai, DMSForm form, DMSForm mainform, String id) Get field modes for form fields and subforms<P extends DMSForm>
PgetForm
(ActivityInstance ai, String id) Get a form of a process.getForms
(ProcessInstance process) Get the forms of a process.getFormVersion
(DMSForm form, ActivityInstance ai) Returns the version of the passed form in the context of the passed activity instance.static WfEngine
Get the WfEngine to perform action with the workflow engine.Get the last interactive activityinstance (type=TASK).Get the root of the activity instance treegetNotes
(ProcessInstance process) Get the notes to a process instancesGet the process instance of the given activity instance.getProcess
(long oid) Find a process instance from the given oid.Find the process instance where the given form is attached.getProcess
(String id) Find a process instance with the given id.Find a process definition with the given id and status=active, if more than one is found, the process definition with the highest version number is returned.getProcessDefinition
(String id, int version) Find a process definition with the given id and version.getProcesses
(String condition) Find the process instances with a given condition.getProcessFromForm
(long formoid) Find a process instance from the oid of a form.Get the role suspension list of the current user.Get the role worklist of the current user.getServerProperty
(String prop) Returns a property from the serverList the process definitions of the given application, which are startable for the user.Deprecated, for removal: This API element is subject to removal in a future version.Returns the start info for the given process for the current thread user.getStore()
Return the underlying store.Get the personal suspension list of the current user.Find out when and how the activity instance was in the suspension list.Find a task with the given id and status=active, if more than one is found, the task with the highest version number is returned.Find a task with the given id and version.Get the list of UserFolders of the current user.Get the list of waiting activities of the current user.getWorklist
(Application a, boolean withRepr) Get the worklist of the current user.getWorklist
(WorklistKind wlKind, Application a) Get a worklist of the desired kind for the current user.getWorklist
(Set<WorklistKind> wlKinds, Application a) Get a combined worklist of the combination (union) of the desired kinds for the current user.goBack
(ActivityInstance ai, ActivityInstance ai2, String comment) Go back to a previous step.void
goBackToLastInteractive
(ActivityInstance ai, String comment) Go back to the last interactive activity instance.Goto another step.void
Deprecated, for removal: This API element is subject to removal in a future version.void
gotoTask
(ProcessInstance process, String taskid, Agent ag, String comment) Deprecated, for removal: This API element is subject to removal in a future version.boolean
hasDocuments
(ProcessInstance process) Has the process documents attached?boolean
hasForm
(ActivityInstance ai, String id) Check if the process has a form with given id.boolean
Returns true if the ProcessInstance has been marked by the current user.boolean
hasNotes
(ProcessInstance process) Has the process notes attached?boolean
Returns true if the ActivityInstance has been seen by the current user.boolean
Determines whether an ActivityInstance is visible for the current user.Returns a list of form versions (at most one for each process form) which were made in the context of the passed activity instance.Return the list of predecessor steps of an activity instance.List the previous steps of the process (possible go back targets).List the process definitions of the given applicationReturn the list of successor steps of an activity instance.makeBranch
(ProcessInstance process, Task t, Agent a, OrgUnit d) Insert a new step to the running process.void
makeBranch
(ProcessInstance process, Task t, Agent a, OrgUnit d, List<String> forms) Deprecated, for removal: This API element is subject to removal in a future version.makeVersion
(ActivityInstance ai, String desc, boolean withDocs) Versions the passed activity instance, the process forms and the documents (optional) and returns a new activity instance which is a copy of the passed one.Map a list of ActivityInstances to their corresponding UserFolders.void
Inform the system that a change to an ActivityInstance has been made.void
Inform the system that a process instance has been changed.void
Inform the system that a process instance has been changed.void
reactivate
(ProcessInstance process) Reactivate a process.void
reactivate
(ProcessInstance process, String comment) Reactivate a process.void
reactivateAndTake
(ProcessInstance process, String comment) Reactivate a process and take the reactivated tasks.void
Refresh the organizational data in the WorklistCache for a particular user.void
Refresh the organizational data in the worklist cache.void
removeSeens
(ActivityInstance ai, boolean meToo) Delete the seen information for the given ai.void
Move the activity instance from the suspension list to the worklist.void
seeLater
(ActivityInstance ai, Date d) Move the activity instance from the worklist to the suspension list.void
seeLater
(ActivityInstance ai, Date d, String description) Move the activity instance from the worklist to the suspension list.void
setAgent
(ActivityInstance ai, Agent a) Give the activity instance to another agent.void
void
setDescription
(ActivityInstance ai, String descr) Set the description of an activity instance.void
setDuedate
(ActivityInstance ai, Date d) Set the duedate of the activity instance.void
Set the status of the activity instance to FINISHED.void
setId
(ProcessInstance pi, String s) Set the id of the process instance.void
setMark
(ProcessInstance pi, boolean mark) Set the given ProcessInstance to marked/unmarked for the current user.void
setOrgUnit
(ActivityInstance ai, OrgUnit d) Change the organizational unit of a process.void
setPriority
(ProcessInstance pi, int priority) Set the priority of the process instance.void
setSeen
(ActivityInstance ai, boolean seen) Set the given ActivityInstance to seen/unseen for the current user.void
setStepAgent
(ActivityInstance ai, Agent a) Set the step-agent of the activity instance to another agent.void
setSubject
(ProcessInstance process) Set the subject of the process instance according to the definition in the process definition.void
setSubjectToString
(ProcessInstance process, String str) Set the subject of the process instance o the given string value.void
start
(ProcessInstance pi) Start a process instance, which was previously created, but not started.void
startBranch
(ProcessInstance process, String branchid) Start a branch.startProcess
(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id) Start a process.startProcess
(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id, DMSForm f) Start a process.take
(ActivityInstance ai) Take an activity: move it from the role-worklist to the worklist.Put back an activity: move it from the worklist to the role-worklist.void
Update the form (make the changes persistent).
-
Field Details
-
INVISIBLE
static final short INVISIBLEConstant for form-field-mode (XForms equivalent: relevant=false)- See Also:
-
READ_ONLY
static final short READ_ONLYConstant for form-field-mode read-only- See Also:
-
READ_WRITE
static final short READ_WRITEConstant for form-field-mode read-write, this is the default.- See Also:
-
TEXT
static final short TEXTConstant for form-field-mode text, field is shown as text output.- See Also:
-
MUST
static final short MUSTConstant for form-field-mode mandatory (XForms equivalent: required)- See Also:
-
NO_ADDDEL
static final short NO_ADDDELConstant for form-field-mode, if true subforms cannot be added or deleted- See Also:
-
-
Method Details
-
getInstance
Get the WfEngine to perform action with the workflow engine.- Returns:
- a WfEngine object
-
getStore
Store getStore()Return the underlying store.- Specified by:
getStore
in interfaceRemoteWfEngine
- Returns:
- a store object
-
getProcessDefinition
Find a process definition with the given id and status=active, if more than one is found, the process definition with the highest version number is returned.- Specified by:
getProcessDefinition
in interfaceRemoteWfEngine
- Parameters:
id
- the id of the process- Returns:
- a process definition
-
getProcessDefinition
Find a process definition with the given id and version.- Specified by:
getProcessDefinition
in interfaceRemoteWfEngine
- Parameters:
id
- the id of the processversion
- the version of the process- Returns:
- a process definition
-
listProcessDefinitions
List the process definitions of the given application- Specified by:
listProcessDefinitions
in interfaceRemoteWfEngine
- Parameters:
appl
- the application- Returns:
- a list of ProcessDefinition objects
-
getStartableProcesses
@Deprecated(since="9.0", forRemoval=true) List<Pair<ProcessDefinition,List<OrgUnit>>> getStartableProcesses(Application appl) Deprecated, for removal: This API element is subject to removal in a future version.List the process definitions of the given application, which are startable for the user. A process is startable, if it is active and the agent of the first step is either the user or a role the user has.- Specified by:
getStartableProcesses
in interfaceRemoteWfEngine
- Returns:
- the list of pairs of processes and lists of OrgUnits
-
getStartableProcDefs
List<Pair<ProcessDefinition,List<Pair<String, getStartableProcDefsList<OrgUnit>>>>> (Application appl) List the process definitions of the given application, which are startable for the user. A process is startable, if it is active and the agent of a start task is either the user or a role the user has. A start task is a task where between the task and the begin node is no interactive task.- Specified by:
getStartableProcDefs
in interfaceRemoteWfEngine
- Parameters:
appl
- optional application restriction- Returns:
- a list of pairs of processes and lists of pairs of step-labels and lists of org-units
-
getStartInfo
Description copied from interface:RemoteWfEngine
Returns the start info for the given process for the current thread user. If this user cannot start the process, the result is empty.- Specified by:
getStartInfo
in interfaceRemoteWfEngine
- Parameters:
pd
- a process definition- Returns:
- the list of pairs of step-labels and lists of OrgUnits
-
getTask
Find a task with the given id and status=active, if more than one is found, the task with the highest version number is returned.- Specified by:
getTask
in interfaceRemoteWfEngine
- Parameters:
id
- the id of the task- Returns:
- a task, null if no task has the given id
-
getTask
Find a task with the given id and version.- Specified by:
getTask
in interfaceRemoteWfEngine
- Parameters:
id
- the id of the taskversion
- the version of the task- Returns:
- a task
-
startProcess
Start a process. ProcessDefinition and OrgUnit must not be null.- Specified by:
startProcess
in interfaceRemoteWfEngine
- Parameters:
p
- the process definitionu
- the userd
- the org. unitduedate
- the duedateid
- the id of the process instance- Returns:
- the process instance
-
startProcess
ProcessInstance startProcess(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id, DMSForm f) Start a process. ProcessDefinition and OrgUnit must not be null. The form must be already in the database.- Specified by:
startProcess
in interfaceRemoteWfEngine
- Parameters:
p
- the process definitionu
- the userd
- the org. unitduedate
- the duedateid
- the id of the process instancef
- a form- Returns:
- the process instance
-
createProcessInstance
ProcessInstance createProcessInstance(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id) Create a process instance. ProcessDefinition and OrgUnit must not be null. The process instance waits at the begin step until this activityinstance will be finished explicitely, or until start(pi) is called.- Specified by:
createProcessInstance
in interfaceRemoteWfEngine
- Parameters:
p
- the process definitionu
- the userd
- the org. unitduedate
- the duedateid
- the id of the process instance- Returns:
- the process instance
-
createProcessInstance
ProcessInstance createProcessInstance(ProcessDefinition p, User u, OrgUnit d, Date duedate, String id, DMSForm f) Create a process instance. ProcessDefinition and OrgUnit must not be null. The process instance waits at the begin step until this activityinstance will be finished explicitely, or until start(pi) is called.- Specified by:
createProcessInstance
in interfaceRemoteWfEngine
- Parameters:
p
- the process definitionu
- the userd
- the org. unitduedate
- the duedateid
- the id of the process instancef
- a form- Returns:
- the process instance
-
start
Start a process instance, which was previously created, but not started.- Specified by:
start
in interfaceRemoteWfEngine
- Parameters:
pi
- the process instance to start
-
getWorklist
Get the worklist of the current user.- Specified by:
getWorklist
in interfaceRemoteWfEngine
- Parameters:
a
- the application, if null return work items for all applicationswithRepr
- if true add the work items assigned to persons the user substitutes.- Returns:
- a list of activity instances
-
getWorklist
Get a worklist of the desired kind for the current user.- Specified by:
getWorklist
in interfaceRemoteWfEngine
- Parameters:
wlKind
- the kind of worklist to be returneda
- the application, if null return work items for all applications- Returns:
- a list of activity instances
-
getWorklist
Get a combined worklist of the combination (union) of the desired kinds for the current user.- Specified by:
getWorklist
in interfaceRemoteWfEngine
- Parameters:
wlKinds
- the kinds of worklists to be returneda
- the application, if null return work items for all applications- Returns:
- a list of activity instances
-
getWaitingList
Get the list of waiting activities of the current user.- Specified by:
getWaitingList
in interfaceRemoteWfEngine
- Parameters:
a
- the application, if null return waiting items for all applications- Returns:
- a list of activity instances
-
getRoleWorklist
Get the role worklist of the current user.- Specified by:
getRoleWorklist
in interfaceRemoteWfEngine
- Parameters:
a
- the application, if null return work items for all applications- Returns:
- a list of activity instances
-
getSuspensionList
Get the personal suspension list of the current user.- Specified by:
getSuspensionList
in interfaceRemoteWfEngine
- Parameters:
a
- the application, if null return work items for all applications- Returns:
- a list of activity instances
-
getRoleSuspensionList
Get the role suspension list of the current user.- Specified by:
getRoleSuspensionList
in interfaceRemoteWfEngine
- Parameters:
a
- the application, if null return work items for all applications- Returns:
- a list of activity instances
-
isVisible
Determines whether an ActivityInstance is visible for the current user. It is visible when one of the worklists of the current user contains the ai.- Specified by:
isVisible
in interfaceRemoteWfEngine
- Returns:
- true, if the passed ActivityInstance is in one of the worklists of the user (personal, role, suspension, rolesuspension, pending, or via representation)
-
getProcess
Find a process instance with the given id. If more than one process instances qualify, then ApplicationException(1125) will be thrown.- Specified by:
getProcess
in interfaceRemoteWfEngine
- Parameters:
id
- the process instance id- Returns:
- the process instance
-
getProcess
Find a process instance from the given oid.- Specified by:
getProcess
in interfaceRemoteWfEngine
- Parameters:
oid
- the process instance oid- Returns:
- the process instance
-
getProcessFromForm
Find a process instance from the oid of a form.- Specified by:
getProcessFromForm
in interfaceRemoteWfEngine
- Parameters:
formoid
- the oid of a process form- Returns:
- the process instance
-
getActivityInstance
Find a activity instance from the given oid.- Specified by:
getActivityInstance
in interfaceRemoteWfEngine
- Parameters:
oid
- the activity instance oid- Returns:
- the process instance
-
getProcess
Find the process instance where the given form is attached. The method returns a process if and only if the form is a process form. It returns null for subforms. It always returns the "latest" process-instance (latest started, highest oid). This is important, if a form is attached to more than one process instance, for example a parfor in an iteration.- Specified by:
getProcess
in interfaceRemoteWfEngine
- Parameters:
f
- the form- Returns:
- the process instance
-
getProcesses
Find the process instances with a given condition.- Specified by:
getProcesses
in interfaceRemoteWfEngine
- Parameters:
condition
- a SQL where clause- Returns:
- a list of process instances
-
getActivities
Find the activity instances with a given condition.- Specified by:
getActivities
in interfaceRemoteWfEngine
- Parameters:
condition
- a SQL where clause- Returns:
- a list of activity instances
-
getAllInteractiveTasks
Get the list of ALL active, interactive activities of a process instance. ATTENTION: this method returns all interactive (Type =ActivityInstance.TASK
)ActivityInstance
s of the givenProcessInstance
, even ALL children ofActivityInstance.PROCESS
,ActivityInstance.PARFOR
andActivityInstance.SCOPE
will be returned- Specified by:
getAllInteractiveTasks
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance- Returns:
- a list of activity instances
-
getAllCurrentActivityInstances
Get the list of ALL active activities of a process instance. ATTENTION: this method returns all tasks with Type =ActivityInstance.TASK
), as well as all longrunning activity instances [Type in (ActivityInstance.SYSTEM_WAIT
,ActivityInstance.BATCH
,ActivityInstance.WS_INVOKE
,ActivityInstance.WS_RECEIVE
,ActivityInstance.WAIT
)]ActivityInstance
s of the givenProcessInstance
, even ALL children ofActivityInstance.PROCESS
,ActivityInstance.PARFOR
andActivityInstance.SCOPE
will be returned- Specified by:
getAllCurrentActivityInstances
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance- Returns:
- a list of activity instances
-
getActiveTasks
Get the list of active activities of a process instance. ATTENTION: this method returns all types ofActivityInstance
, but doesn't return ALLActivityInstance
s of the givenProcessInstance
. children ofActivityInstance.PROCESS
,ActivityInstance.PARFOR
andActivityInstance.SCOPE
will not be returned- Specified by:
getActiveTasks
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance- Returns:
- a list of activity instances
-
getActiveTasks
Get the list of active, interactive activities of a process instance assigned to a user. ATTENTION: this method returns only interactive (Type =ActivityInstance.TASK
)ActivityInstance
s of the givenProcessInstance
, but doesn't return ALL interactiveActivityInstance
s of the givenProcessInstance
. children ofActivityInstance.PROCESS
,ActivityInstance.PARFOR
andActivityInstance.SCOPE
will not be returned- Specified by:
getActiveTasks
in interfaceRemoteWfEngine
- Parameters:
process
- the process instanceu
- the user- Returns:
- a list of activity instances
-
getActivityInstances
Get the list of all direct activity instances of a process instance.
ATTENTION: this method doesn't return ALLActivityInstance
s of the givenProcessInstance
. children ofActivityInstance.PROCESS
,ActivityInstance.PARFOR
andActivityInstance.SCOPE
will not be returned- Specified by:
getActivityInstances
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance- Returns:
- a list of activity instances
-
getActivityInstances
Get the list of direct activity instances of a particular step in a process.
ATTENTION: this method doesn't return ALLActivityInstance
s of the givenProcessInstance
. children ofActivityInstance.PROCESS
,ActivityInstance.PARFOR
andActivityInstance.SCOPE
will not be returned- Specified by:
getActivityInstances
in interfaceRemoteWfEngine
- Parameters:
process
- the process instancestepid
- the id of the step- Returns:
- a list of activity instances
-
getActivityInstances
List<ActivityInstance> getActivityInstances(ProcessInstance process, boolean recursive, boolean active, int type, String stepid) Get a list of activity instances for a process instance- Specified by:
getActivityInstances
in interfaceRemoteWfEngine
- Parameters:
process
- the process instancerecursive
- if true, also nested activity instances will be returnedactive
- if true, only active activity instances will be returnedtype
- of activity instances to return, if all types should be returned, useActivityInstance.ALL
stepid
- restrict the results by id of the step, use null if no restriction intended- Returns:
-
getDocuments
Get the list of DMS objects (e.g. documents, folders) attached to a process.- Specified by:
getDocuments
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance- Returns:
- a list of
DMSObject
-
getForm
Get a form of a process.- Specified by:
getForm
in interfaceRemoteWfEngine
- Parameters:
ai
- the process instance or an activity instance of the processid
- the id of the form in the process- Returns:
- the form
-
hasForm
Check if the process has a form with given id.- Specified by:
hasForm
in interfaceRemoteWfEngine
- Parameters:
ai
- the process instance or an activity instance of the processid
- the id of the form in the process- Returns:
- true if the form exists
-
getForms
Get the forms of a process.- Specified by:
getForms
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance- Returns:
- the forms (DMSForm objects)
-
getMainProcess
Get the root of the activity instance tree- Specified by:
getMainProcess
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance- Returns:
- the process instance of the main process of the given activity instance.
-
getParent
Get the process instance of the given activity instance.- Specified by:
getParent
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance- Returns:
- the process instance
-
getNotes
Get the notes to a process instances- Specified by:
getNotes
in interfaceRemoteWfEngine
- Parameters:
process
- a process instance- Returns:
- a list of notes (DMSNote objects)
-
addSystemNote
Attach a note to an ActivityInstance.- Specified by:
addSystemNote
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance (or process instance) to which the note is attachedsubject
- the system note subjecttext
- the system note text
-
hasDocuments
Has the process documents attached?- Specified by:
hasDocuments
in interfaceRemoteWfEngine
- Parameters:
process
- a process instance- Returns:
- true if documents are present
-
hasNotes
Has the process notes attached?- Specified by:
hasNotes
in interfaceRemoteWfEngine
- Parameters:
process
- a process instance- Returns:
- true if notes are present
-
getFieldModes
Get field modes for form fields- Specified by:
getFieldModes
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancef
- the form- Returns:
- A map where the keys are the attribute names, the values are INVISIBLE, READ_ONLY, READ_WRITE, TEXT, MUST, NO_ADDDEL as short objects
-
getFieldModes
Get field modes for form fields and subforms- Specified by:
getFieldModes
in interfaceRemoteWfEngine
- Parameters:
ai
- activity instanceform
- form or sub form, may be null if mainform is setmainform
- main form, may be null if form is already contain mainformid
- subform relation id- Returns:
- see
RemoteWfEngine.getFieldModes(ActivityInstance, DMSForm)
-
getSuspensions
Find out when and how the activity instance was in the suspension list.- Specified by:
getSuspensions
in interfaceRemoteWfEngine
- Returns:
- a list of
Suspension
s
-
canTake
Check if the thread-user can take the activity.- Specified by:
canTake
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance
-
take
Take an activity: move it from the role-worklist to the worklist.- Specified by:
take
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance that is created after the take operation;
ThreadContext.getAttribute("untakenActivity") returns the activity instance which has been created before the take operation- Returns:
- the activity instance now active, this may be the same as the parameter but can also be another object
-
finish
Finsh an activity, the engine starts the next step.- Specified by:
finish
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance
-
getChoiceSteps
Use this method to get the possible choice branches when the process execution reaches a choice. The method returns a list of lists, each inner list contains the choice branches belonging to one choice.- Specified by:
getChoiceSteps
in interfaceRemoteWfEngine
- Returns:
- a list of lists of ActivityInstances
-
finishChoice
Finishs a choice branch, abort the other branches.- Specified by:
finishChoice
in interfaceRemoteWfEngine
- Parameters:
ai
- the choice step on the branch you want to follows
-
closePredecessor
If the predecessor of ai was not finished completely (is in status WAITING) and the necessary action is done now (for example setting the agent for ai) this method will complete it. If the predecessor is in another state it does nothing.- Specified by:
closePredecessor
in interfaceRemoteWfEngine
-
listPreviousSteps
List the previous steps of the process (possible go back targets).- Specified by:
listPreviousSteps
in interfaceRemoteWfEngine
- Parameters:
ai
- current activity instance- Returns:
- a list of Pairs. The first element of the pair is a previous activity instance, the second is a list of activities that must be aborted when going back to this step (for example siblings in a parallelism).
-
goBack
Go back to a previous step. A clone of the given previous activity instance of this process instance is created, the comment is added to the new activity.- Specified by:
goBack
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanceai2
- a finished activity instancecomment
- a comment- Returns:
- the activity instance now active
-
untake
Put back an activity: move it from the worklist to the role-worklist.- Specified by:
untake
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance that is created before the untake operation;
ThreadContext.getAttribute("untakenActivity") returns the activity instance which has been created after the take operation- Returns:
- the activity instance now active
-
seeLater
Move the activity instance from the worklist to the suspension list.- Specified by:
seeLater
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanced
- the date, when the item should reappear in the worklist
-
seeLater
Move the activity instance from the worklist to the suspension list.- Specified by:
seeLater
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanced
- the date, when the item should reappear in the worklistdescription
- an optional comment
-
seeAgain
Move the activity instance from the suspension list to the worklist.- Specified by:
seeAgain
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instance
-
setAgent
Give the activity instance to another agent. Please note that this method does not set the step agent (which is needed e.g. for untake operation)!- Specified by:
setAgent
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancea
- an agent (user or role)
-
changeAgent
Give the activity instance to another agent. Change is visible in process history- Specified by:
changeAgent
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancea
- an agent (user or role)ou
- an org-unit, may be nullcomment
- optional comment to the next agent
-
setStepAgent
Set the step-agent of the activity instance to another agent. This is the agent where a untake of the activity instance- Specified by:
setStepAgent
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancea
- an agent (user or role)
-
gotoTask
@Deprecated(since="9.0", forRemoval=true) void gotoTask(ProcessInstance process, String taskid, Agent ag, String comment) Deprecated, for removal: This API element is subject to removal in a future version.Goto another task. The process flow leaves the defined route and jumps to the given task. The id of the task, an agent and a comment is given.- Specified by:
gotoTask
in interfaceRemoteWfEngine
- Parameters:
process
- an processinstance instancetaskid
- id of a taskag
- an agent (user or role)comment
- a comment string
-
gotoTask
@Deprecated(since="10.0", forRemoval=true) void gotoTask(ActivityInstance ai, String stepname, Agent ag, OrgUnit ou, String comment) Deprecated, for removal: This API element is subject to removal in a future version.Goto another task. The process flow leaves the defined route and jumps to the given task. Preprocessing is executed.- Specified by:
gotoTask
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancestepname
- the name of a step to jump to, set the name in the process definition (editor or WDL).ag
- an agent (user or role), may be nullou
- the org.unit (may be null)comment
- a comment string
-
gotoStep
Goto another step. The process flow leaves the defined route and jumps to the given step. Preprocessing is executed if step is a task.- Specified by:
gotoStep
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancestepid
- the id of a step to jump to, set the id in the process definition (editor or WDL).ag
- an agent (user or role), may be null. Will be ignored if the specified step is not a taskou
- the org.unit (may be null). Will be ignored if the specified step is not a taskcomment
- a comment string- Returns:
- the ActivityInstance of the target step (defined by stepid)
-
copyTo
Send a copy to another user.- Specified by:
copyTo
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanceu
- a user- Returns:
- the copy activity instance
-
copyTo
Send a copy to another user.- Specified by:
copyTo
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanceu
- a usercomment
- a comment to this copy- Returns:
- the copy activity instance
-
makeBranch
@Deprecated(since="9.0", forRemoval=true) void makeBranch(ProcessInstance process, Task t, Agent a, OrgUnit d, List<String> forms) Deprecated, for removal: This API element is subject to removal in a future version.Insert a new step - subprocess or task - to the running process. The step is added as a branch and can be completed independent of the process.- Specified by:
makeBranch
in interfaceRemoteWfEngine
-
makeBranch
Insert a new step to the running process. The step is added as a branch and can be completed independent of the process.- Specified by:
makeBranch
in interfaceRemoteWfEngine
- Parameters:
process
- instance of the processt
- a task assigned to the processa
- a user or roled
- an optional department
-
startBranch
Start a branch. In a process where a branch is defined, this call start the branch. This can be done independent of the normal process flow.- Specified by:
startBranch
in interfaceRemoteWfEngine
- Parameters:
process
- process instancebranchid
- the step-id of the branch step.
-
addParforInstances
Start additional parfor branches for the given step. Branches are only started if there are already running branches.- Specified by:
addParforInstances
in interfaceRemoteWfEngine
- Parameters:
stepid
- the id of the parfor stepprevious
- an activity instance of the same process instance
-
setOrgUnit
Change the organizational unit of a process.- Specified by:
setOrgUnit
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanced
- the OrgUnit
-
setDescription
Set the description of an activity instance.- Specified by:
setDescription
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancedescr
- the new desription
-
setSubject
Set the subject of the process instance according to the definition in the process definition.- Specified by:
setSubject
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance
-
setSubjectToString
Set the subject of the process instance o the given string value.- Specified by:
setSubjectToString
in interfaceRemoteWfEngine
- Parameters:
process
- the process instancestr
- the new subject
-
updateForm
Update the form (make the changes persistent).- Specified by:
updateForm
in interfaceRemoteWfEngine
- Parameters:
f
- the form
-
setDuedate
Set the duedate of the activity instance.- Specified by:
setDuedate
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instanced
- the new due date
-
setId
Set the id of the process instance.- Specified by:
setId
in interfaceRemoteWfEngine
- Parameters:
pi
- a process instances
- the new id
-
setPriority
Set the priority of the process instance.- Specified by:
setPriority
in interfaceRemoteWfEngine
- Parameters:
pi
- a process instance. The priority is set on the main process instance mpi of pi (and on subprocesses of mpi).priority
- the new priority, two digit integer, starting with 0 (means lowest priority).
-
abort
Abort a process.- Specified by:
abort
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance. Should be a main Process, may be an ActivityInstance in a branch.
-
reactivate
Reactivate a process.- Specified by:
reactivate
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance. Should be a main process.
-
archive
Archive a process. Remove it from the database.- Specified by:
archive
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance
-
abort
Abort a process and add a DMSNote with a generated Subject and a given comment.- Specified by:
abort
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance. Should be a main Process, may be an ActivityInstance in a branch.comment
- a comment, why the process is aborted
-
checkAbort
Check if the thread user may abort the process. Either start agent and process in first step or edit process instance right.- Specified by:
checkAbort
in interfaceRemoteWfEngine
-
reactivate
Reactivate a process.- Specified by:
reactivate
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance. Should be a main Process.comment
- a comment, why the process is reactivated
-
reactivateAndTake
Reactivate a process and take the reactivated tasks.- Specified by:
reactivateAndTake
in interfaceRemoteWfEngine
- Parameters:
process
- the process instance. Should be a main Process.comment
- a comment, why the process is reactivated
-
getContext
ActivityInstance getContext()Return the current activity instance. This method returns a non-null value when called from a postcondition, preprocessing, compensation method of a task of from a system step or a condition in a process definition.- Specified by:
getContext
in interfaceRemoteWfEngine
- Returns:
- an activity instance
-
setContext
- Specified by:
setContext
in interfaceRemoteWfEngine
-
getServerProperty
Returns a property from the server- Specified by:
getServerProperty
in interfaceRemoteWfEngine
- Returns:
- the property, null if the property is unknown.
-
listSuccessors
Return the list of successor steps of an activity instance.- Specified by:
listSuccessors
in interfaceRemoteWfEngine
- Returns:
- a list of activity instances
-
listPredecessors
Return the list of predecessor steps of an activity instance.- Specified by:
listPredecessors
in interfaceRemoteWfEngine
- Returns:
- a list of activity instances
-
addAgent
Add an agent which receives the process after the current agent- Specified by:
addAgent
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instancea
- a user or roleou
- an organizational unit, if null the ou of the previous activity instance is usednote
- an (optional) note to the agent of the activity
-
getLastInteractive
Get the last interactive activityinstance (type=TASK).- Specified by:
getLastInteractive
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance to start from (backwards)- Returns:
- the last TASK executed in the flow before ai, or null
-
goBackToLastInteractive
Go back to the last interactive activity instance.- Specified by:
goBackToLastInteractive
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance to start from (backwards)comment
- a comment to store in the process history (e.g. the reason for going back)
-
makeVersion
Versions the passed activity instance, the process forms and the documents (optional) and returns a new activity instance which is a copy of the passed one.- Specified by:
makeVersion
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance to versiondesc
- a comment for this versionwithDocs
- if true all the documents are also versioned- Returns:
- the new activity instance
-
refreshWLCacheOrgData
void refreshWLCacheOrgData()Refresh the organizational data in the worklist cache.- Specified by:
refreshWLCacheOrgData
in interfaceRemoteWfEngine
-
refreshWLCache
Refresh the organizational data in the WorklistCache for a particular user.- Specified by:
refreshWLCache
in interfaceRemoteWfEngine
- Parameters:
u
- - the user
-
setFinished
Set the status of the activity instance to FINISHED. This method should be used only in the expressions in an andjoin or end parfor node. In case of parfor set the state of the parent of the current activity instance. In both cases if you set the state to finished the engine will continue the process after the parallelism.- Specified by:
setFinished
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance to be finished
-
abortSiblings
Abort the siblings of the par branch. The activity instance must be an instance of the andjoin node. Note that you must assure that the process continues after the andjoin, you can do this by calling wfEngine.setFinished(join) - otherwise the process will hang in the andjoin- Specified by:
abortSiblings
in interfaceRemoteWfEngine
-
abortParforSiblings
Abort the running siblings of the current parfor instances. Note that you must assure that the process continues after the parfor, you can do this by calling wfEngine.setFinished(parfor) - otherwise the process will hang in the end parfor node- Specified by:
abortParforSiblings
in interfaceRemoteWfEngine
- Parameters:
parfor
- an instance of the parfor step (a parent of an activityinstance inside the parfor)
-
setSeen
Set the given ActivityInstance to seen/unseen for the current user.- Specified by:
setSeen
in interfaceRemoteWfEngine
-
removeSeens
Description copied from interface:RemoteWfEngine
Delete the seen information for the given ai.- Specified by:
removeSeens
in interfaceRemoteWfEngine
- Parameters:
ai
- an activity instancemeToo
- if true the seen information for the current user is also deleted.
-
hasSeen
Returns true if the ActivityInstance has been seen by the current user.- Specified by:
hasSeen
in interfaceRemoteWfEngine
-
getFormVersion
Returns the version of the passed form in the context of the passed activity instance.- Specified by:
getFormVersion
in interfaceRemoteWfEngine
- Parameters:
form
- the form which version is wantedai
- the activity instance determining the context of the version- Returns:
- the requested version or null if there is no such version
-
listFormVersions
Returns a list of form versions (at most one for each process form) which were made in the context of the passed activity instance.- Specified by:
listFormVersions
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance determining the context of the versions- Returns:
- the requested versions or an empty list if there are no such versions
-
propagateChange
Inform the system that a change to an ActivityInstance has been made. Notifications will be sent to the clients.This is only needed in special cases, when there were changes in some data that would lead to a different presentation of the ActivityInstance in a client and which where out of the scope of the automatic worklist change detection (e.g. redisplay a worklist item after some form update).
- Specified by:
propagateChange
in interfaceRemoteWfEngine
- Parameters:
ai
- the activity instance which has changed
-
propagateProcessChange
Inform the system that a process instance has been changed. Notifications for all active tasks directly below this process instance will be sent to the clients.This is only needed in special cases, when there were changes in some data that would lead to different presentations in the worklists and which where out of the scope of the automatic worklist change detection (e.g. changes in displayed additional data).
- Specified by:
propagateProcessChange
in interfaceRemoteWfEngine
- Parameters:
pi
- the process instance which has changed
-
propagateProcessChangeRecursive
Inform the system that a process instance has been changed. Notifications for all active tasks below this process instance will be sent to the clients. Recurses into parfor substructures but not into subprocesses.This is only needed in special cases, when there were changes in some data that would lead to different presentations in the worklists and which where out of the scope of the automatic worklist change detection (e.g. changes in displayed additional data).
- Specified by:
propagateProcessChangeRecursive
in interfaceRemoteWfEngine
- Parameters:
pi
- the process instance which has changed
-
filterByFolder
Filter a list of ActivityInstances. Keep those that are in the specified UserFolder. If the UserFolder is null, then all those ActivityInstances are kept in the list, that are in no UserFolder at all.- Specified by:
filterByFolder
in interfaceRemoteWfEngine
- Parameters:
uf
- the UserFolder to filter upon.ais
- the list of ActivityInstances to be filtered
-
getUserFolders
List<UserFolder> getUserFolders()Get the list of UserFolders of the current user.- Specified by:
getUserFolders
in interfaceRemoteWfEngine
- Returns:
- the list of UserFolders of the current user.
-
mapToUserFolders
Map a list of ActivityInstances to their corresponding UserFolders. If an ActivityInstance is in no UserFolder at all, it is not contained in the map.- Specified by:
mapToUserFolders
in interfaceRemoteWfEngine
- Parameters:
ais
- the list of activityInstances to be filtered- Returns:
- the map of ActivityInstances to UserFolders
-
hasMark
Returns true if the ProcessInstance has been marked by the current user.- Specified by:
hasMark
in interfaceRemoteWfEngine
-
setMark
Set the given ProcessInstance to marked/unmarked for the current user.- Specified by:
setMark
in interfaceRemoteWfEngine
-