Package org.bonitasoft.engine.execution
Class StateBehaviors
- java.lang.Object
-
- org.bonitasoft.engine.execution.StateBehaviors
-
@Component public class StateBehaviors extends java.lang.Object- Author:
- Baptiste Mesta, Matthieu Chaffotte, Celine Souchet
-
-
Field Summary
Fields Modifier and Type Field Description protected ParentContainerResolverparentContainerResolver
-
Constructor Summary
Constructors Constructor Description StateBehaviors(BPMInstancesCreator bpmInstancesCreator, EventsHandler eventsHandler, ActivityInstanceService activityInstanceService, UserFilterService userFilterService, ClassLoaderService classLoaderService, ActorMappingService actorMappingService, ConnectorInstanceService connectorInstanceService, ExpressionResolverService expressionResolverService, DataInstanceService dataInstanceService, OperationService operationService, WorkService workService, ContainerRegistry containerRegistry, EventInstanceService eventInstanceService, SCommentService commentService, IdentityService identityService, ParentContainerResolver parentContainerResolver, WaitingEventsInterrupter waitingEventsInterrupter, RefBusinessDataService refBusinessDataService, BPMWorkFactory workFactory, ProcessInstanceInterruptor processInstanceInterruptor)
-
Method Summary
-
-
-
Field Detail
-
parentContainerResolver
protected final ParentContainerResolver parentContainerResolver
-
-
Constructor Detail
-
StateBehaviors
public StateBehaviors(BPMInstancesCreator bpmInstancesCreator, EventsHandler eventsHandler, ActivityInstanceService activityInstanceService, UserFilterService userFilterService, ClassLoaderService classLoaderService, ActorMappingService actorMappingService, ConnectorInstanceService connectorInstanceService, ExpressionResolverService expressionResolverService, DataInstanceService dataInstanceService, OperationService operationService, WorkService workService, ContainerRegistry containerRegistry, EventInstanceService eventInstanceService, SCommentService commentService, IdentityService identityService, ParentContainerResolver parentContainerResolver, WaitingEventsInterrupter waitingEventsInterrupter, RefBusinessDataService refBusinessDataService, BPMWorkFactory workFactory, ProcessInstanceInterruptor processInstanceInterruptor)
-
-
Method Detail
-
getParentContainerType
public DataInstanceContainer getParentContainerType(SFlowNodeInstance flowNodeInstance)
-
getDataInstanceService
public DataInstanceService getDataInstanceService()
-
mapDataOutputOfMultiInstance
public void mapDataOutputOfMultiInstance(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
mapDataOutputOfMultiInstance
public void mapDataOutputOfMultiInstance(SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop) throws SBonitaException
- Throws:
SBonitaException
-
mapActors
public void mapActors(SFlowNodeInstance flowNodeInstance, SFlowElementContainerDefinition processContainer) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
registerWaitingEvent
public void registerWaitingEvent(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
handleBoundaryEvent
public void handleBoundaryEvent(SProcessDefinition processDefinition, SBoundaryEventInstance boundaryInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
createData
public void createData(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
updateDisplayNameAndDescription
public void updateDisplayNameAndDescription(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
updateExpectedDuration
public void updateExpectedDuration(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
updateDisplayDescriptionAfterCompletion
public void updateDisplayDescriptionAfterCompletion(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
executeOperations
public void executeOperations(SProcessDefinition processDefinition, SActivityInstance activityInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
handleThrowEvent
public void handleThrowEvent(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
executeChildrenActivities
public void executeChildrenActivities(SFlowNodeInstance flowNodeInstance) throws SActivityExecutionException
- Throws:
SActivityExecutionException
-
interruptSubActivities
public void interruptSubActivities(SFlowNodeInstance flowNodeInstance, SStateCategory stateCategory) throws SBonitaException
- Throws:
SBonitaException
-
executeConnectorInWork
public void executeConnectorInWork(java.lang.Long processDefinitionId, long processInstanceId, long flowNodeDefinitionId, long flowNodeInstanceId, SConnectorInstance connector, SConnectorDefinition sConnectorDefinition) throws SActivityStateExecutionException- Throws:
SActivityStateExecutionException
-
createAttachedBoundaryEvents
public void createAttachedBoundaryEvents(SProcessDefinition processDefinition, SActivityInstance activityInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
interruptAttachedBoundaryEvent
public void interruptAttachedBoundaryEvent(SProcessDefinition processDefinition, SActivityInstance activityInstance, SStateCategory categoryState) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
addAssignmentSystemCommentIfTaskWasAutoAssign
public void addAssignmentSystemCommentIfTaskWasAutoAssign(SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
addAssignmentSystemComment
public void addAssignmentSystemComment(SFlowNodeInstance flowNodeInstance, long userId) throws SUserNotFoundException, SCommentAddException
-
createInnerInstances
public java.util.List<SFlowNodeInstance> createInnerInstances(long processDefinitionId, SActivityDefinition activity, SMultiInstanceActivityInstance flowNodeInstance, int numberOfInstanceToCreate) throws SBonitaException
- Throws:
SBonitaException
-
getNumberOfInstancesToCreateFromInputRef
public int getNumberOfInstancesToCreateFromInputRef(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop, int numberOfInstanceMax) throws SDataInstanceException, SActivityStateExecutionException
-
shouldCreateANewInstance
public boolean shouldCreateANewInstance(SMultiInstanceLoopCharacteristics loopCharacteristics, int numberOfInstances, SMultiInstanceActivityInstance miActivityInstance) throws SDataInstanceException
- Throws:
SDataInstanceException
-
updateOutputData
public void updateOutputData(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop, int numberOfInstanceMax) throws SDataInstanceException, SActivityStateExecutionException
-
getConnectorDefinitions
public java.util.List<SConnectorDefinition> getConnectorDefinitions(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, org.bonitasoft.engine.bpm.connector.ConnectorEvent connectorEvent)
-
getNextConnectorInstance
public SConnectorInstance getNextConnectorInstance(java.util.List<SConnectorDefinition> connectorDefinitions, SFlowNodeInstance flowNodeInstance, org.bonitasoft.engine.bpm.connector.ConnectorEvent connectorEvent) throws SConnectorInstanceReadException
- Throws:
SConnectorInstanceReadException
-
isFirst
public boolean isFirst(java.util.List<SConnectorDefinition> connectorsOnEnter, SConnectorInstance nextConnectorInstanceToExecute)
-
isNotExecutedYet
public boolean isNotExecutedYet(SConnectorInstance nextConnectorInstanceToExecute)
-
getConnectorDefinition
public SConnectorDefinition getConnectorDefinition(SConnectorInstance connectorInstance, java.util.List<SConnectorDefinition> connectorDefinitions)
-
executeConnector
public void executeConnector(SProcessDefinition processDefinition, SFlowNodeInstance flowNodeInstance, java.util.List<SConnectorDefinition> connectorsOnEnter, SConnectorInstance connectorInstance) throws SActivityStateExecutionException
- Throws:
SActivityStateExecutionException
-
noConnectorHasStartedInCurrentList
public boolean noConnectorHasStartedInCurrentList(java.util.List<SConnectorDefinition> connectorDefinitions, SConnectorInstance connectorInstance) throws SBonitaReadException
- Throws:
SBonitaReadException
-
-