public class StateBehaviors extends Object
| Modifier and Type | Field and Description |
|---|---|
static int |
AFTER_ON_FINISH |
static int |
BEFORE_ON_ENTER |
static int |
BEFORE_ON_FINISH |
static int |
DURING_ON_ENTER |
static int |
DURING_ON_FINISH |
protected org.bonitasoft.engine.data.instance.api.ParentContainerResolver |
parentContainerResolver |
| Constructor and Description |
|---|
StateBehaviors(BPMInstancesCreator bpmInstancesCreator,
EventsHandler eventsHandler,
org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService activityInstanceService,
org.bonitasoft.engine.core.filter.UserFilterService userFilterService,
org.bonitasoft.engine.classloader.ClassLoaderService classLoaderService,
org.bonitasoft.engine.actor.mapping.ActorMappingService actorMappingService,
org.bonitasoft.engine.core.connector.ConnectorInstanceService connectorInstanceService,
org.bonitasoft.engine.core.expression.control.api.ExpressionResolverService expressionResolverService,
ProcessDefinitionService processDefinitionService,
org.bonitasoft.engine.data.instance.api.DataInstanceService dataInstanceService,
org.bonitasoft.engine.core.operation.OperationService operationService,
org.bonitasoft.engine.work.WorkService workService,
ContainerRegistry containerRegistry,
org.bonitasoft.engine.core.process.instance.api.event.EventInstanceService eventInstanceService,
org.bonitasoft.engine.core.process.comment.api.SCommentService commentService,
IdentityService identityService,
org.bonitasoft.engine.core.process.instance.api.ProcessInstanceService processInstanceService,
org.bonitasoft.engine.data.instance.api.ParentContainerResolver parentContainerResolver,
WaitingEventsInterrupter waitingEventsInterrupter,
org.bonitasoft.engine.log.technical.TechnicalLoggerService logger,
org.bonitasoft.engine.core.process.instance.api.RefBusinessDataService refBusinessDataService) |
| 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 |
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) |
XMLProcessDefinition.BEntry<Integer,XMLProcessDefinition.BEntry<org.bonitasoft.engine.core.process.instance.model.SConnectorInstance,SConnectorDefinition>> |
getConnectorToExecuteAndFlag(SProcessDefinition processDefinition,
org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance,
boolean executeConnectorsOnEnter,
boolean executeConnectorsOnFinish)
Return the phases and connectors to execute, as a couple of (phase, couple of (connector instance, connector definition))
|
org.bonitasoft.engine.data.instance.api.DataInstanceService |
getDataInstanceService() |
protected Map<String,Serializable> |
getEvaluatedInputExpressions(Map<String,org.bonitasoft.engine.expression.model.SExpression> contractInputs,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext context) |
protected Serializable |
getExpressionResultWithDiscriminant(int discriminant,
List<org.bonitasoft.engine.expression.model.SExpression> expressions,
List<Object> exprResults)
Both lists have the same order.
|
int |
getNumberOfInstancesToCreateFromInputRef(SProcessDefinition processDefinition,
org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance,
SMultiInstanceLoopCharacteristics miLoop,
int numberOfInstanceMax) |
org.bonitasoft.engine.data.instance.api.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 void |
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) |
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) |
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 |
updateOutputData(SProcessDefinition processDefinition,
org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance,
SMultiInstanceLoopCharacteristics miLoop,
int numberOfInstanceMax) |
public static final int BEFORE_ON_ENTER
public static final int DURING_ON_ENTER
public static final int BEFORE_ON_FINISH
public static final int DURING_ON_FINISH
public static final int AFTER_ON_FINISH
protected final org.bonitasoft.engine.data.instance.api.ParentContainerResolver parentContainerResolver
public StateBehaviors(BPMInstancesCreator bpmInstancesCreator, EventsHandler eventsHandler, org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService activityInstanceService, org.bonitasoft.engine.core.filter.UserFilterService userFilterService, org.bonitasoft.engine.classloader.ClassLoaderService classLoaderService, org.bonitasoft.engine.actor.mapping.ActorMappingService actorMappingService, org.bonitasoft.engine.core.connector.ConnectorInstanceService connectorInstanceService, org.bonitasoft.engine.core.expression.control.api.ExpressionResolverService expressionResolverService, ProcessDefinitionService processDefinitionService, org.bonitasoft.engine.data.instance.api.DataInstanceService dataInstanceService, org.bonitasoft.engine.core.operation.OperationService operationService, org.bonitasoft.engine.work.WorkService workService, ContainerRegistry containerRegistry, org.bonitasoft.engine.core.process.instance.api.event.EventInstanceService eventInstanceService, org.bonitasoft.engine.core.process.comment.api.SCommentService commentService, IdentityService identityService, org.bonitasoft.engine.core.process.instance.api.ProcessInstanceService processInstanceService, org.bonitasoft.engine.data.instance.api.ParentContainerResolver parentContainerResolver, WaitingEventsInterrupter waitingEventsInterrupter, org.bonitasoft.engine.log.technical.TechnicalLoggerService logger, org.bonitasoft.engine.core.process.instance.api.RefBusinessDataService refBusinessDataService)
public void setProcessExecutor(ProcessExecutor processExecutor)
public org.bonitasoft.engine.data.instance.api.DataInstanceContainer getParentContainerType(org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance)
public org.bonitasoft.engine.data.instance.api.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.SActivityStateExecutionExceptionpublic void mapDataOutputOfMultiInstance(org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance,
SMultiInstanceLoopCharacteristics miLoop)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityExecutionException,
org.bonitasoft.engine.commons.exceptions.SBonitaException
org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityExecutionExceptionorg.bonitasoft.engine.commons.exceptions.SBonitaExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic XMLProcessDefinition.BEntry<Integer,XMLProcessDefinition.BEntry<org.bonitasoft.engine.core.process.instance.model.SConnectorInstance,SConnectorDefinition>> getConnectorToExecuteAndFlag(SProcessDefinition processDefinition, org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance, boolean executeConnectorsOnEnter, boolean executeConnectorsOnFinish) throws org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException
processDefinition - the process where the connectors are defined.flowNodeInstance - the instance of the flow node to execute possible connectors on.executeConnectorsOnEnter - do we want to consider the connectors ON_ENTER or ignore them?executeConnectorsOnFinish - do we want to consider the connectors ON_FINISH or ignore them?org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionprotected void 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, org.bonitasoft.engine.expression.exception.SExpressionException
org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationExceptionorg.bonitasoft.engine.expression.exception.SExpressionExceptionprotected Map<String,Serializable> getEvaluatedInputExpressions(Map<String,org.bonitasoft.engine.expression.model.SExpression> contractInputs, org.bonitasoft.engine.core.expression.control.model.SExpressionContext context) throws org.bonitasoft.engine.expression.exception.SExpressionTypeUnknownException, org.bonitasoft.engine.expression.exception.SExpressionDependencyMissingException, org.bonitasoft.engine.expression.exception.SExpressionEvaluationException, org.bonitasoft.engine.expression.exception.SInvalidExpressionException
org.bonitasoft.engine.expression.exception.SExpressionTypeUnknownExceptionorg.bonitasoft.engine.expression.exception.SExpressionDependencyMissingExceptionorg.bonitasoft.engine.expression.exception.SExpressionEvaluationExceptionorg.bonitasoft.engine.expression.exception.SInvalidExpressionExceptionprotected Serializable getExpressionResultWithDiscriminant(int discriminant, List<org.bonitasoft.engine.expression.model.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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityExecutionExceptionpublic 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.SBonitaExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic 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.SActivityStateExecutionExceptionpublic void addAssignmentSystemComment(org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance,
long userId)
throws SUserNotFoundException,
org.bonitasoft.engine.core.process.comment.api.SCommentAddException
SUserNotFoundExceptionorg.bonitasoft.engine.core.process.comment.api.SCommentAddExceptionpublic 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.SBonitaExceptionpublic int getNumberOfInstancesToCreateFromInputRef(SProcessDefinition processDefinition, org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop, int numberOfInstanceMax) throws org.bonitasoft.engine.data.instance.exception.SDataInstanceException, org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException
org.bonitasoft.engine.data.instance.exception.SDataInstanceExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionExceptionpublic boolean shouldCreateANewInstance(SMultiInstanceLoopCharacteristics loopCharacteristics, int numberOfInstances, org.bonitasoft.engine.core.process.instance.model.SMultiInstanceActivityInstance miActivityInstance) throws org.bonitasoft.engine.data.instance.exception.SDataInstanceException
org.bonitasoft.engine.data.instance.exception.SDataInstanceExceptionpublic void updateOutputData(SProcessDefinition processDefinition, org.bonitasoft.engine.core.process.instance.model.SFlowNodeInstance flowNodeInstance, SMultiInstanceLoopCharacteristics miLoop, int numberOfInstanceMax) throws org.bonitasoft.engine.data.instance.exception.SDataInstanceException, org.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionException
org.bonitasoft.engine.data.instance.exception.SDataInstanceExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SActivityStateExecutionExceptionCopyright © 2015 Bonitasoft S.A.. All rights reserved.