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