public class StateBehaviors
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected ParentContainerResolver |
parentContainerResolver |
| Constructor and Description |
|---|
StateBehaviors(BPMInstancesCreator bpmInstancesCreator,
EventsHandler eventsHandler,
ActivityInstanceService activityInstanceService,
UserFilterService userFilterService,
ClassLoaderService classLoaderService,
ActorMappingService actorMappingService,
ConnectorInstanceService connectorInstanceService,
ExpressionResolverService expressionResolverService,
ProcessDefinitionService processDefinitionService,
DataInstanceService dataInstanceService,
OperationService operationService,
WorkService workService,
ContainerRegistry containerRegistry,
EventInstanceService eventInstanceService,
SCommentService commentService,
IdentityService identityService,
ParentContainerResolver parentContainerResolver,
WaitingEventsInterrupter waitingEventsInterrupter,
RefBusinessDataService refBusinessDataService,
BPMWorkFactory workFactory,
UserTransactionService userTransactionService,
ProcessInstanceInterruptor processInstanceInterruptor) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAssignmentSystemComment(SFlowNodeInstance flowNodeInstance,
long userId) |
void |
addAssignmentSystemCommentIfTaskWasAutoAssign(SFlowNodeInstance flowNodeInstance) |
void |
createAttachedBoundaryEvents(SProcessDefinition processDefinition,
SActivityInstance activityInstance) |
void |
createData(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
java.util.List<SFlowNodeInstance> |
createInnerInstances(long processDefinitionId,
SActivityDefinition activity,
SMultiInstanceActivityInstance flowNodeInstance,
int numberOfInstanceToCreate) |
void |
executeChildrenActivities(SFlowNodeInstance flowNodeInstance) |
void |
executeConnector(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance,
java.util.List<SConnectorDefinition> connectorsOnEnter,
SConnectorInstance connectorInstance) |
void |
executeConnectorInWork(java.lang.Long processDefinitionId,
long processInstanceId,
long flowNodeDefinitionId,
long flowNodeInstanceId,
SConnectorInstance connector,
SConnectorDefinition sConnectorDefinition) |
void |
executeOperations(SProcessDefinition processDefinition,
SActivityInstance activityInstance) |
SConnectorDefinition |
getConnectorDefinition(SConnectorInstance connectorInstance,
java.util.List<SConnectorDefinition> connectorDefinitions) |
java.util.List<SConnectorDefinition> |
getConnectorDefinitions(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance,
org.bonitasoft.engine.bpm.connector.ConnectorEvent connectorEvent) |
DataInstanceService |
getDataInstanceService() |
protected java.util.Map<java.lang.String,java.io.Serializable> |
getEvaluatedInputExpressions(java.util.Map<java.lang.String,SExpression> contractInputs,
SExpressionContext context) |
protected java.io.Serializable |
getExpressionResultWithDiscriminant(int discriminant,
java.util.List<SExpression> expressions,
java.util.List<java.lang.Object> exprResults)
Both lists have the same order.
|
SConnectorInstance |
getNextConnectorInstance(java.util.List<SConnectorDefinition> connectorDefinitions,
SFlowNodeInstance flowNodeInstance,
org.bonitasoft.engine.bpm.connector.ConnectorEvent connectorEvent) |
int |
getNumberOfInstancesToCreateFromInputRef(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance,
SMultiInstanceLoopCharacteristics miLoop,
int numberOfInstanceMax) |
DataInstanceContainer |
getParentContainerType(SFlowNodeInstance flowNodeInstance) |
void |
handleBoundaryEvent(SProcessDefinition processDefinition,
SBoundaryEventInstance boundaryInstance) |
void |
handleCallActivity(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
void |
handleThrowEvent(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
protected SProcessInstance |
instantiateProcess(SProcessDefinition callerProcessDefinition,
SCallActivityDefinition callActivityDefinition,
SFlowNodeInstance callActivityInstance,
long targetProcessDefinitionId) |
void |
interruptAttachedBoundaryEvent(SProcessDefinition processDefinition,
SActivityInstance activityInstance,
SStateCategory categoryState) |
void |
interruptSubActivities(SFlowNodeInstance flowNodeInstance,
SStateCategory stateCategory) |
boolean |
isFirst(java.util.List<SConnectorDefinition> connectorsOnEnter,
SConnectorInstance nextConnectorInstanceToExecute) |
boolean |
isNotExecutedYet(SConnectorInstance nextConnectorInstanceToExecute) |
void |
mapActors(SFlowNodeInstance flowNodeInstance,
SFlowElementContainerDefinition processContainer) |
void |
mapDataOutputOfMultiInstance(SFlowNodeInstance flowNodeInstance,
SMultiInstanceLoopCharacteristics miLoop) |
void |
mapDataOutputOfMultiInstance(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
boolean |
noConnectorHasStartedInCurrentList(java.util.List<SConnectorDefinition> connectorDefinitions,
SConnectorInstance connectorInstance) |
void |
registerWaitingEvent(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
void |
setProcessExecutor(ProcessExecutor processExecutor) |
boolean |
shouldCreateANewInstance(SMultiInstanceLoopCharacteristics loopCharacteristics,
int numberOfInstances,
SMultiInstanceActivityInstance miActivityInstance) |
void |
updateDisplayDescriptionAfterCompletion(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
void |
updateDisplayNameAndDescription(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
void |
updateExpectedDuration(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance) |
void |
updateOutputData(SProcessDefinition processDefinition,
SFlowNodeInstance flowNodeInstance,
SMultiInstanceLoopCharacteristics miLoop,
int numberOfInstanceMax) |
protected final ParentContainerResolver parentContainerResolver
public StateBehaviors(BPMInstancesCreator bpmInstancesCreator, EventsHandler eventsHandler, ActivityInstanceService activityInstanceService, UserFilterService userFilterService, ClassLoaderService classLoaderService, ActorMappingService actorMappingService, ConnectorInstanceService connectorInstanceService, ExpressionResolverService expressionResolverService, ProcessDefinitionService processDefinitionService, DataInstanceService dataInstanceService, OperationService operationService, WorkService workService, ContainerRegistry containerRegistry, EventInstanceService eventInstanceService, SCommentService commentService, IdentityService identityService, ParentContainerResolver parentContainerResolver, WaitingEventsInterrupter waitingEventsInterrupter, RefBusinessDataService refBusinessDataService, BPMWorkFactory workFactory, UserTransactionService userTransactionService, ProcessInstanceInterruptor processInstanceInterruptor)
public void setProcessExecutor(ProcessExecutor processExecutor)
public DataInstanceContainer getParentContainerType(SFlowNodeInstance flowNodeInstance)
public DataInstanceService getDataInstanceService()
public void mapDataOutputOfMultiInstance(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void mapDataOutputOfMultiInstance(SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop) throws SBonitaException
SBonitaExceptionpublic void mapActors(SFlowNodeInstance flowNodeInstance, SFlowElementContainerDefinition processContainer) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void registerWaitingEvent(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void handleBoundaryEvent(SProcessDefinition processDefinition, SBoundaryEventInstance boundaryInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void createData(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void handleCallActivity(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionprotected SProcessInstance instantiateProcess(SProcessDefinition callerProcessDefinition, SCallActivityDefinition callActivityDefinition, SFlowNodeInstance callActivityInstance, long targetProcessDefinitionId) throws SProcessInstanceCreationException, SContractViolationException, SExpressionException
protected java.util.Map<java.lang.String,java.io.Serializable> getEvaluatedInputExpressions(java.util.Map<java.lang.String,SExpression> contractInputs, SExpressionContext context) throws SExpressionTypeUnknownException, SExpressionDependencyMissingException, SExpressionEvaluationException, SInvalidExpressionException
protected java.io.Serializable getExpressionResultWithDiscriminant(int discriminant,
java.util.List<SExpression> expressions,
java.util.List<java.lang.Object> exprResults)
public void updateDisplayNameAndDescription(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void updateExpectedDuration(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void updateDisplayDescriptionAfterCompletion(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void executeOperations(SProcessDefinition processDefinition, SActivityInstance activityInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void handleThrowEvent(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void executeChildrenActivities(SFlowNodeInstance flowNodeInstance) throws SActivityExecutionException
SActivityExecutionExceptionpublic void interruptSubActivities(SFlowNodeInstance flowNodeInstance, SStateCategory stateCategory) throws SBonitaException
SBonitaExceptionpublic void executeConnectorInWork(java.lang.Long processDefinitionId,
long processInstanceId,
long flowNodeDefinitionId,
long flowNodeInstanceId,
SConnectorInstance connector,
SConnectorDefinition sConnectorDefinition)
throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void createAttachedBoundaryEvents(SProcessDefinition processDefinition, SActivityInstance activityInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void interruptAttachedBoundaryEvent(SProcessDefinition processDefinition, SActivityInstance activityInstance, SStateCategory categoryState) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void addAssignmentSystemCommentIfTaskWasAutoAssign(SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic void addAssignmentSystemComment(SFlowNodeInstance flowNodeInstance, long userId) throws SUserNotFoundException, SCommentAddException
public java.util.List<SFlowNodeInstance> createInnerInstances(long processDefinitionId, SActivityDefinition activity, SMultiInstanceActivityInstance flowNodeInstance, int numberOfInstanceToCreate) throws SBonitaException
SBonitaExceptionpublic int getNumberOfInstancesToCreateFromInputRef(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop, int numberOfInstanceMax) throws SDataInstanceException, SActivityStateExecutionException
public boolean shouldCreateANewInstance(SMultiInstanceLoopCharacteristics loopCharacteristics, int numberOfInstances, SMultiInstanceActivityInstance miActivityInstance) throws SDataInstanceException
SDataInstanceExceptionpublic void updateOutputData(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop, int numberOfInstanceMax) throws SDataInstanceException, SActivityStateExecutionException
public java.util.List<SConnectorDefinition> getConnectorDefinitions(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, org.bonitasoft.engine.bpm.connector.ConnectorEvent connectorEvent)
public SConnectorInstance getNextConnectorInstance(java.util.List<SConnectorDefinition> connectorDefinitions, SFlowNodeInstance flowNodeInstance, org.bonitasoft.engine.bpm.connector.ConnectorEvent connectorEvent) throws SConnectorInstanceReadException
SConnectorInstanceReadExceptionpublic boolean isFirst(java.util.List<SConnectorDefinition> connectorsOnEnter, SConnectorInstance nextConnectorInstanceToExecute)
public boolean isNotExecutedYet(SConnectorInstance nextConnectorInstanceToExecute)
public SConnectorDefinition getConnectorDefinition(SConnectorInstance connectorInstance, java.util.List<SConnectorDefinition> connectorDefinitions)
public void executeConnector(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, java.util.List<SConnectorDefinition> connectorsOnEnter, SConnectorInstance connectorInstance) throws SActivityStateExecutionException
SActivityStateExecutionExceptionpublic boolean noConnectorHasStartedInCurrentList(java.util.List<SConnectorDefinition> connectorDefinitions, SConnectorInstance connectorInstance) throws SBonitaReadException
SBonitaReadException