Class GraphNodeImpl
- java.lang.Object
-
- org.nuxeo.ecm.platform.routing.core.impl.DocumentRouteElementImpl
-
- org.nuxeo.ecm.platform.routing.core.impl.GraphNodeImpl
-
- All Implemented Interfaces:
Serializable
,DocumentRouteElement
,DocumentRouteStep
,GraphNode
public class GraphNodeImpl extends DocumentRouteElementImpl implements GraphNode
Graph Node implementation as an adapter over a DocumentModel.- Since:
- 5.6
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nuxeo.ecm.platform.routing.core.impl.DocumentRouteElementImpl
DocumentRouteElementImpl.GetIsParentRunningUnrestricted, DocumentRouteElementImpl.SetDocumentOnReadOnlyUnrestrictedSessionRunner
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.platform.routing.api.DocumentRouteElement
DocumentRouteElement.ElementLifeCycleState, DocumentRouteElement.ElementLifeCycleTransistion
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.platform.routing.core.impl.GraphNode
GraphNode.Button, GraphNode.EscalationRule, GraphNode.Point, GraphNode.State, GraphNode.TaskInfo, GraphNode.Transition
-
-
Field Summary
Fields Modifier and Type Field Description protected List<GraphNode.EscalationRule>
escalationRules
protected GraphRouteImpl
graph
protected List<GraphNode.Transition>
inputTransitions
To be used through getter.protected GraphNode.State
localState
protected List<GraphNode.Transition>
outputTransitions
To be used through getter.protected List<GraphNode.Button>
taskButtons
To be used through getter.protected List<GraphNode.TaskInfo>
tasksInfo
-
Fields inherited from class org.nuxeo.ecm.platform.routing.core.impl.DocumentRouteElementImpl
document, runner
-
Fields inherited from interface org.nuxeo.ecm.platform.routing.core.impl.GraphNode
MERGE_ALL, MERGE_ONE, NODE_VARIABLE_COMMENT, PROP_ALLOW_TASK_REASSIGNMENT, PROP_BTN_FILTER, PROP_BTN_LABEL, PROP_BTN_NAME, PROP_BTN_VALIDATE, PROP_CANCELED, PROP_COUNT, PROP_ESCALATION_RULE_CHAIN, PROP_ESCALATION_RULE_CONDITION, PROP_ESCALATION_RULE_EXECUTED, PROP_ESCALATION_RULE_ID, PROP_ESCALATION_RULE_LABEL, PROP_ESCALATION_RULE_MULTIPLE_EXECUTION, PROP_ESCALATION_RULES, PROP_EXECUTE_ONLY_FIRST_TRANSITION, PROP_FORK, PROP_HAS_MULTIPLE_TASKS, PROP_HAS_TASK, PROP_INPUT_CHAIN, PROP_KEYVALUE_KEY, PROP_KEYVALUE_VALUE, PROP_LAST_EXECUTION_TIME, PROP_MERGE, PROP_NODE_BUTTON, PROP_NODE_END_DATE, PROP_NODE_ID, PROP_NODE_LAST_ACTOR, PROP_NODE_START_DATE, PROP_NODE_X_COORDINATE, PROP_NODE_Y_COORDINATE, PROP_OUTPUT_CHAIN, PROP_START, PROP_STOP, PROP_SUB_ROUTE_INSTANCE_ID, PROP_SUB_ROUTE_MODEL_EXPR, PROP_SUB_ROUTE_VARS, PROP_TASK_ASSIGNEES, PROP_TASK_ASSIGNEES_PERMISSION, PROP_TASK_ASSIGNEES_VAR, PROP_TASK_BUTTONS, PROP_TASK_DIRECTIVE, PROP_TASK_DOC_TYPE, PROP_TASK_DUE_DATE, PROP_TASK_DUE_DATE_EXPR, PROP_TASK_INFO_ACTOR, PROP_TASK_INFO_COMMENT, PROP_TASK_INFO_ENDED, PROP_TASK_INFO_STATUS, PROP_TASK_INFO_TASK_DOC_ID, PROP_TASK_LAYOUT, PROP_TASK_NOTIFICATION_TEMPLATE, PROP_TASKS_INFO, PROP_TITLE, PROP_TRANS_CHAIN, PROP_TRANS_CONDITION, PROP_TRANS_LABEL, PROP_TRANS_NAME, PROP_TRANS_PATH, PROP_TRANS_RESULT, PROP_TRANS_TARGET, PROP_TRANSITIONS, PROP_VARIABLES_FACET
-
-
Constructor Summary
Constructors Constructor Description GraphNodeImpl(DocumentModel doc)
GraphNodeImpl(DocumentModel doc, GraphRouteImpl graph)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addTaskAssignees(List<String> taskAssignees)
void
addTaskInfo(String taskId)
Persist the info when a new task is created from this nodeboolean
allowTaskReassignment()
Returns true if tasks created from this node can be reassigned.void
cancelSubRoute()
Cancels the sub-route if there is one.protected void
cancelTask(CoreSession session, String taskId)
void
cancelTasks()
Cancels the tasks not ended on this node.boolean
canMerge()
Checks if the merge is ready to execute (enough input transitions are present).protected List<GraphNode.EscalationRule>
computeEscalationRules()
protected List<GraphNode.Transition>
computeOutputTransitions()
protected List<GraphNode.Button>
computeTaskButtons()
Date
computeTaskDueDate()
Evaluates the task due date from the taskDueDateExpr and sets it as the dueDateprotected List<GraphNode.TaskInfo>
computeTasksInfo()
void
ending()
Does bookkeeping at node end.static boolean
equality(Object o1, Object o2)
protected Date
evaluateDueDate()
List<GraphNode.EscalationRule>
evaluateEscalationRules()
Deprecated.List<String>
evaluateTaskAssignees()
Evaluates the task assignees from the taskAssigneesVarList<GraphNode.Transition>
evaluateTransitions()
Evaluates transition conditions and returns the transitions that were true.void
executeChain(String chainId)
Executes an Automation chain in the context of this node.void
executeChain(String chainId, String transitionId)
boolean
executeOnlyFirstTransition()
When workflow engine runs an exclusive node, it evaluates the transition one by one and stops a soon as one of the transition is evaluated to truevoid
executeTransitionChain(GraphNode.Transition transition)
Executes an Automation chain in the context of this node for a given transitionprotected boolean
getBoolean(String propertyName)
long
getCanceledCount()
Gets the canceled count for this node.List<GraphNode.TaskInfo>
getEndedTasksInfo()
Gets all the ended tasks originating from this node.List<GraphNode.EscalationRule>
getEscalationRules()
Gets the list of all escalation rules for the nodeprotected OperationContext
getExecutionContext(CoreSession session)
GraphRoute
getGraph()
String
getId()
Get the node id.String
getInputChain()
Get input chain.List<GraphNode.Transition>
getInputTransitions()
Gets the input transitions.Map<String,Serializable>
getJsonVariables()
Gets a map containing the Json formatted variables currently defined on this nodeprotected Calendar
getNodeEndTime()
protected String
getNodeLastActor()
protected Calendar
getNodeStartTime()
String
getOutputChain()
Get output chain.List<GraphNode.Transition>
getOutputTransitions()
Gets the output transitions.List<GraphNode.TaskInfo>
getProcessedTasksInfo()
Gets all the ended tasks originating from this node that were processed with a status.protected CoreSession
getSession()
GraphNode.State
getState()
Get the node state.protected Map<String,Serializable>
getSubRouteInitialVariables()
protected String
getSubRouteInstanceId()
String
getSubRouteModelId()
Gets the sub-route model id.List<String>
getTaskAssignees()
Gets the task assigneesString
getTaskAssigneesPermission()
Gets the permission to the granted to the actors on this task on the document following the workflowString
getTaskAssigneesVar()
List<GraphNode.Button>
getTaskButtons()
Gets the task buttonsString
getTaskDirective()
Gets the task directiveString
getTaskDocType()
Date
getTaskDueDate()
Gets the due dateString
getTaskDueDateExpr()
String
getTaskLayout()
Gets the task layoutString
getTaskNotificationTemplate()
List<GraphNode.TaskInfo>
getTasksInfo()
Gets all the tasks info for the tasks created from this nodeMap<String,Serializable>
getVariables()
Gets a map containing the variables currently defined on this nodeMap<String,Serializable>
getWorkflowContextualInfo(CoreSession session, boolean detached)
Gets a map containing the workflow and node variables and workflow documents.protected String
getWorkflowInitiator()
protected String
getWorkflowParentNodeId()
protected String
getWorkflowParentRouteId()
protected Calendar
getWorkflowStartTime()
boolean
hasMultipleTasks()
Checks if this node has created multiple tasks, one for each assignees.boolean
hasOpenTasks()
Returns false if all tasks created from this node were ended.boolean
hasSubRoute()
Checks if this node has a sub-route model defined.boolean
hasTask()
Checks it this node has an associated user task.boolean
hasTaskButton(String name)
Has the node the given action.protected void
incrementProp(String prop)
void
initAddInputTransition(GraphNode.Transition transition)
Internal during graph init.boolean
isFork()
Checks if this is a fork node.boolean
isMerge()
Checks if this is a merge node.boolean
isStart()
Checks if this is the start node.boolean
isStop()
Checks if this is a stop node.void
removeTaskInfo(String taskId)
protected void
saveDocument()
void
setAllVariables(Map<String,Object> map, boolean allowGlobalVariablesAssignment, boolean save)
Sets the graph and node variables.void
setButton(String status)
Sets the property button on the node, keeping the id of the last action executed by the user on the associated task if anyvoid
setCanceled()
Notes that this node was canceled (increments canceled counter).void
setJSONVariables(Map<String,String> map)
Sets the variables of the workflow based on their JSON representation (especially for scalar lists).void
setLastActor(String actor)
Sets the last actor on a node (user who completed the task).void
setState(GraphNode.State state)
Set the node state.void
setVariable(String name, String value)
Sets the variable on this node if it exists as a Node Variable.void
setVariables(Map<String,Serializable> map)
Sets the node variables.void
starting()
Does bookkeeping at node start.DocumentRoute
startSubRoute()
Starts the sub-route on this node.String
toString()
void
updateTaskInfo(String taskId, boolean ended, String status, String actor, String comment)
Persist these info from the task on the node.protected <T> T
valueOrExpression(Class<T> klass, String v, OperationContext context, String kind)
-
Methods inherited from class org.nuxeo.ecm.platform.routing.core.impl.DocumentRouteElementImpl
backToReady, cancel, canDeleteStep, canUndoStep, canUpdateStep, canValidateStep, checkLifeCycleState, followTransition, getAttachedDocuments, getDescription, getDocument, getDocumentRoute, getName, getProperty, getTitle, hasPermissionOnDocument, isCanceled, isDone, isDraft, isModifiable, isReady, isRunning, isValidated, resume, run, run, save, setCanceled, setCanDeleteStep, setCanReadStep, setCanUpdateStep, setCanValidateStep, setDone, setPermissionOnDocument, setReadOnly, setReady, setRunning, setValidated, undo, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.platform.routing.core.impl.GraphNode
getDocument, setAllVariables, setAllVariables
-
-
-
-
Field Detail
-
graph
protected final GraphRouteImpl graph
-
localState
protected GraphNode.State localState
-
inputTransitions
protected List<GraphNode.Transition> inputTransitions
To be used through getter.
-
outputTransitions
protected List<GraphNode.Transition> outputTransitions
To be used through getter.
-
taskButtons
protected List<GraphNode.Button> taskButtons
To be used through getter.
-
escalationRules
protected List<GraphNode.EscalationRule> escalationRules
-
tasksInfo
protected List<GraphNode.TaskInfo> tasksInfo
-
-
Constructor Detail
-
GraphNodeImpl
public GraphNodeImpl(DocumentModel doc, GraphRouteImpl graph)
-
GraphNodeImpl
public GraphNodeImpl(DocumentModel doc)
- Since:
- 5.7.2
-
-
Method Detail
-
getGraph
public GraphRoute getGraph()
-
getBoolean
protected boolean getBoolean(String propertyName)
-
incrementProp
protected void incrementProp(String prop)
-
getSession
protected CoreSession getSession()
-
saveDocument
protected void saveDocument()
-
getState
public GraphNode.State getState()
Description copied from interface:GraphNode
Get the node state.
-
setState
public void setState(GraphNode.State state)
Description copied from interface:GraphNode
Set the node state.
-
isFork
public boolean isFork()
Description copied from interface:GraphNode
Checks if this is a fork node.
-
isStart
public boolean isStart()
Description copied from interface:GraphNode
Checks if this is the start node.
-
isStop
public boolean isStop()
Description copied from interface:GraphNode
Checks if this is a stop node.
-
setCanceled
public void setCanceled()
Description copied from interface:GraphNode
Notes that this node was canceled (increments canceled counter).- Specified by:
setCanceled
in interfaceGraphNode
-
getCanceledCount
public long getCanceledCount()
Description copied from interface:GraphNode
Gets the canceled count for this node.- Specified by:
getCanceledCount
in interfaceGraphNode
-
isMerge
public boolean isMerge()
Description copied from interface:GraphNode
Checks if this is a merge node.
-
getInputChain
public String getInputChain()
Description copied from interface:GraphNode
Get input chain.- Specified by:
getInputChain
in interfaceGraphNode
- Returns:
- the input chain
-
getOutputChain
public String getOutputChain()
Description copied from interface:GraphNode
Get output chain.- Specified by:
getOutputChain
in interfaceGraphNode
- Returns:
- the output chain
-
hasTask
public boolean hasTask()
Description copied from interface:GraphNode
Checks it this node has an associated user task.
-
getTaskAssignees
public List<String> getTaskAssignees()
Description copied from interface:GraphNode
Gets the task assignees- Specified by:
getTaskAssignees
in interfaceGraphNode
- Returns:
- the task assignees
-
getTaskAssigneesVar
public String getTaskAssigneesVar()
-
getTaskDueDate
public Date getTaskDueDate()
Description copied from interface:GraphNode
Gets the due date- Specified by:
getTaskDueDate
in interfaceGraphNode
-
getTaskDirective
public String getTaskDirective()
Description copied from interface:GraphNode
Gets the task directive- Specified by:
getTaskDirective
in interfaceGraphNode
-
getTaskAssigneesPermission
public String getTaskAssigneesPermission()
Description copied from interface:GraphNode
Gets the permission to the granted to the actors on this task on the document following the workflow- Specified by:
getTaskAssigneesPermission
in interfaceGraphNode
-
getTaskLayout
public String getTaskLayout()
Description copied from interface:GraphNode
Gets the task layout- Specified by:
getTaskLayout
in interfaceGraphNode
-
getTaskNotificationTemplate
public String getTaskNotificationTemplate()
- Specified by:
getTaskNotificationTemplate
in interfaceGraphNode
-
getTaskDueDateExpr
public String getTaskDueDateExpr()
- Specified by:
getTaskDueDateExpr
in interfaceGraphNode
-
starting
public void starting()
Description copied from interface:GraphNode
Does bookkeeping at node start.
-
ending
public void ending()
Description copied from interface:GraphNode
Does bookkeeping at node end.
-
getVariables
public Map<String,Serializable> getVariables()
Description copied from interface:GraphNode
Gets a map containing the variables currently defined on this node- Specified by:
getVariables
in interfaceGraphNode
-
getJsonVariables
public Map<String,Serializable> getJsonVariables()
Description copied from interface:GraphNode
Gets a map containing the Json formatted variables currently defined on this node- Specified by:
getJsonVariables
in interfaceGraphNode
-
setVariables
public void setVariables(Map<String,Serializable> map)
Description copied from interface:GraphNode
Sets the node variables.- Specified by:
setVariables
in interfaceGraphNode
- Parameters:
map
- the map of variables
-
setJSONVariables
public void setJSONVariables(Map<String,String> map)
Description copied from interface:GraphNode
Sets the variables of the workflow based on their JSON representation (especially for scalar lists). For example:Map<String, String> map = new HashMap<>(); map.put("contributors", "[\"John Doe\", \"John Smith\"]"); map.put("title", "Test Title");
- Specified by:
setJSONVariables
in interfaceGraphNode
- Parameters:
map
- the map of variables
-
setAllVariables
public void setAllVariables(Map<String,Object> map, boolean allowGlobalVariablesAssignment, boolean save)
Description copied from interface:GraphNode
Sets the graph and node variables.- Specified by:
setAllVariables
in interfaceGraphNode
- Parameters:
map
- the map of variablesallowGlobalVariablesAssignment
- if set to false, throw a DocumentRouteException when trying to set global variables when not supposed tosave
- whether to save the document after setting the variables
-
getExecutionContext
protected OperationContext getExecutionContext(CoreSession session)
-
getWorkflowContextualInfo
public Map<String,Serializable> getWorkflowContextualInfo(CoreSession session, boolean detached)
Description copied from interface:GraphNode
Gets a map containing the workflow and node variables and workflow documents.- Specified by:
getWorkflowContextualInfo
in interfaceGraphNode
detached
- The documents added into this map can be detached or not
-
getWorkflowInitiator
protected String getWorkflowInitiator()
-
getWorkflowStartTime
protected Calendar getWorkflowStartTime()
-
getWorkflowParentRouteId
protected String getWorkflowParentRouteId()
-
getWorkflowParentNodeId
protected String getWorkflowParentNodeId()
-
getNodeStartTime
protected Calendar getNodeStartTime()
-
getNodeEndTime
protected Calendar getNodeEndTime()
-
getNodeLastActor
protected String getNodeLastActor()
-
executeChain
public void executeChain(String chainId) throws DocumentRouteException
Description copied from interface:GraphNode
Executes an Automation chain in the context of this node.- Specified by:
executeChain
in interfaceGraphNode
- Parameters:
chainId
- the chain- Throws:
DocumentRouteException
-
executeTransitionChain
public void executeTransitionChain(GraphNode.Transition transition) throws DocumentRouteException
Description copied from interface:GraphNode
Executes an Automation chain in the context of this node for a given transition- Specified by:
executeTransitionChain
in interfaceGraphNode
- Parameters:
transition
- the transition- Throws:
DocumentRouteException
-
executeChain
public void executeChain(String chainId, String transitionId) throws DocumentRouteException
- Throws:
DocumentRouteException
-
initAddInputTransition
public void initAddInputTransition(GraphNode.Transition transition)
Description copied from interface:GraphNode
Internal during graph init.- Specified by:
initAddInputTransition
in interfaceGraphNode
-
computeOutputTransitions
protected List<GraphNode.Transition> computeOutputTransitions()
-
getOutputTransitions
public List<GraphNode.Transition> getOutputTransitions()
Description copied from interface:GraphNode
Gets the output transitions.- Specified by:
getOutputTransitions
in interfaceGraphNode
-
evaluateTransitions
public List<GraphNode.Transition> evaluateTransitions() throws DocumentRouteException
Description copied from interface:GraphNode
Evaluates transition conditions and returns the transitions that were true.Transitions are evaluated in the order set on the node when the workflow was designed. Since @5.7.2 if the node has the property "executeOnlyFirstTransition" set to true, only the first transition evaluated to true is returned
- Specified by:
evaluateTransitions
in interfaceGraphNode
- Returns:
- the true transitions
- Throws:
DocumentRouteException
-
evaluateTaskAssignees
public List<String> evaluateTaskAssignees() throws DocumentRouteException
Description copied from interface:GraphNode
Evaluates the task assignees from the taskAssigneesVar- Specified by:
evaluateTaskAssignees
in interfaceGraphNode
- Throws:
DocumentRouteException
-
canMerge
public boolean canMerge()
Description copied from interface:GraphNode
Checks if the merge is ready to execute (enough input transitions are present).
-
getInputTransitions
public List<GraphNode.Transition> getInputTransitions()
Description copied from interface:GraphNode
Gets the input transitions.- Specified by:
getInputTransitions
in interfaceGraphNode
-
cancelTasks
public void cancelTasks()
Description copied from interface:GraphNode
Cancels the tasks not ended on this node.- Specified by:
cancelTasks
in interfaceGraphNode
-
getTaskButtons
public List<GraphNode.Button> getTaskButtons()
Description copied from interface:GraphNode
Gets the task buttons- Specified by:
getTaskButtons
in interfaceGraphNode
-
computeTaskButtons
protected List<GraphNode.Button> computeTaskButtons()
-
setButton
public void setButton(String status)
Description copied from interface:GraphNode
Sets the property button on the node, keeping the id of the last action executed by the user on the associated task if any
-
setLastActor
public void setLastActor(String actor)
Description copied from interface:GraphNode
Sets the last actor on a node (user who completed the task).- Specified by:
setLastActor
in interfaceGraphNode
- Parameters:
actor
- the user id
-
getTaskDocType
public String getTaskDocType()
- Specified by:
getTaskDocType
in interfaceGraphNode
- Returns:
- the taskDocType. If none is specified, the default task type is returned.
-
evaluateDueDate
protected Date evaluateDueDate() throws DocumentRouteException
- Throws:
DocumentRouteException
-
computeTaskDueDate
public Date computeTaskDueDate() throws DocumentRouteException
Description copied from interface:GraphNode
Evaluates the task due date from the taskDueDateExpr and sets it as the dueDate- Specified by:
computeTaskDueDate
in interfaceGraphNode
- Throws:
DocumentRouteException
-
executeOnlyFirstTransition
public boolean executeOnlyFirstTransition()
Description copied from interface:GraphNode
When workflow engine runs an exclusive node, it evaluates the transition one by one and stops a soon as one of the transition is evaluated to true- Specified by:
executeOnlyFirstTransition
in interfaceGraphNode
-
hasSubRoute
public boolean hasSubRoute() throws DocumentRouteException
Description copied from interface:GraphNode
Checks if this node has a sub-route model defined.- Specified by:
hasSubRoute
in interfaceGraphNode
- Returns:
true
if there is a sub-route- Throws:
DocumentRouteException
-
getSubRouteModelId
public String getSubRouteModelId() throws DocumentRouteException
Description copied from interface:GraphNode
Gets the sub-route model id.If this is present, then this node will be suspended while the sub-route is run. When the sub-route ends, this node will resume.
- Specified by:
getSubRouteModelId
in interfaceGraphNode
- Returns:
- the sub-route id, or
null
if none is defined - Throws:
DocumentRouteException
-
getSubRouteInstanceId
protected String getSubRouteInstanceId()
-
startSubRoute
public DocumentRoute startSubRoute() throws DocumentRouteException
Description copied from interface:GraphNode
Starts the sub-route on this node.- Specified by:
startSubRoute
in interfaceGraphNode
- Returns:
- the sub-route
- Throws:
DocumentRouteException
-
getSubRouteInitialVariables
protected Map<String,Serializable> getSubRouteInitialVariables()
-
valueOrExpression
protected <T> T valueOrExpression(Class<T> klass, String v, OperationContext context, String kind) throws DocumentRouteException
- Throws:
DocumentRouteException
-
cancelSubRoute
public void cancelSubRoute() throws DocumentRouteException
Description copied from interface:GraphNode
Cancels the sub-route if there is one.- Specified by:
cancelSubRoute
in interfaceGraphNode
- Throws:
DocumentRouteException
-
computeEscalationRules
protected List<GraphNode.EscalationRule> computeEscalationRules()
-
getEscalationRules
public List<GraphNode.EscalationRule> getEscalationRules()
Description copied from interface:GraphNode
Gets the list of all escalation rules for the node- Specified by:
getEscalationRules
in interfaceGraphNode
-
evaluateEscalationRules
@Deprecated public List<GraphNode.EscalationRule> evaluateEscalationRules()
Deprecated.Description copied from interface:GraphNode
Evaluates the rules for the escalation rules and returns the ones to be executed. The rules already executed and not having the property multipleExecution = true are also ignored- Specified by:
evaluateEscalationRules
in interfaceGraphNode
-
hasMultipleTasks
public boolean hasMultipleTasks()
Description copied from interface:GraphNode
Checks if this node has created multiple tasks, one for each assignees.- Specified by:
hasMultipleTasks
in interfaceGraphNode
-
computeTasksInfo
protected List<GraphNode.TaskInfo> computeTasksInfo()
-
getTasksInfo
public List<GraphNode.TaskInfo> getTasksInfo()
Description copied from interface:GraphNode
Gets all the tasks info for the tasks created from this node- Specified by:
getTasksInfo
in interfaceGraphNode
-
addTaskInfo
public void addTaskInfo(String taskId)
Description copied from interface:GraphNode
Persist the info when a new task is created from this node- Specified by:
addTaskInfo
in interfaceGraphNode
-
removeTaskInfo
public void removeTaskInfo(String taskId)
- Specified by:
removeTaskInfo
in interfaceGraphNode
-
updateTaskInfo
public void updateTaskInfo(String taskId, boolean ended, String status, String actor, String comment)
Description copied from interface:GraphNode
Persist these info from the task on the node. Status is the id of the button clicked to end the task by the actor.- Specified by:
updateTaskInfo
in interfaceGraphNode
-
getEndedTasksInfo
public List<GraphNode.TaskInfo> getEndedTasksInfo()
Description copied from interface:GraphNode
Gets all the ended tasks originating from this node. This also counts the canceled tasks.- Specified by:
getEndedTasksInfo
in interfaceGraphNode
-
hasOpenTasks
public boolean hasOpenTasks()
Description copied from interface:GraphNode
Returns false if all tasks created from this node were ended.- Specified by:
hasOpenTasks
in interfaceGraphNode
-
getProcessedTasksInfo
public List<GraphNode.TaskInfo> getProcessedTasksInfo()
Description copied from interface:GraphNode
Gets all the ended tasks originating from this node that were processed with a status. Doesn't count the canceled tasks.- Specified by:
getProcessedTasksInfo
in interfaceGraphNode
-
allowTaskReassignment
public boolean allowTaskReassignment()
Description copied from interface:GraphNode
Returns true if tasks created from this node can be reassigned.- Specified by:
allowTaskReassignment
in interfaceGraphNode
-
cancelTask
protected void cancelTask(CoreSession session, String taskId) throws DocumentRouteException
- Throws:
DocumentRouteException
-
setVariable
public void setVariable(String name, String value)
Description copied from interface:GraphNode
Sets the variable on this node if it exists as a Node Variable.- Specified by:
setVariable
in interfaceGraphNode
-
hasTaskButton
public boolean hasTaskButton(String name)
Description copied from interface:GraphNode
Has the node the given action.- Specified by:
hasTaskButton
in interfaceGraphNode
- Since:
- 7.2
-
-