public class ProcessExecutorImpl extends Object implements ProcessExecutor
| Modifier and Type | Field and Description |
|---|---|
protected org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService |
activityInstanceService |
protected BPMInstancesCreator |
bpmInstancesCreator |
protected org.bonitasoft.engine.classloader.ClassLoaderService |
classLoaderService |
protected org.bonitasoft.engine.core.connector.ConnectorService |
connectorService |
protected EventsHandler |
eventsHandler |
protected org.bonitasoft.engine.core.expression.control.api.ExpressionResolverService |
expressionResolverService |
protected ExpressionService |
expressionService |
protected org.bonitasoft.engine.core.process.instance.api.ProcessInstanceService |
processInstanceService |
| Constructor and Description |
|---|
ProcessExecutorImpl(org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService activityInstanceService,
org.bonitasoft.engine.core.process.instance.api.ProcessInstanceService processInstanceService,
org.bonitasoft.engine.log.technical.TechnicalLoggerService logger,
FlowNodeExecutor flowNodeExecutor,
org.bonitasoft.engine.work.WorkService workService,
ProcessDefinitionService processDefinitionService,
org.bonitasoft.engine.core.process.instance.api.GatewayInstanceService gatewayInstanceService,
org.bonitasoft.engine.resources.ProcessResourcesService processResourcesService,
org.bonitasoft.engine.core.connector.ConnectorService connectorService,
org.bonitasoft.engine.core.connector.ConnectorInstanceService connectorInstanceService,
org.bonitasoft.engine.classloader.ClassLoaderService classLoaderService,
org.bonitasoft.engine.core.operation.OperationService operationService,
org.bonitasoft.engine.core.expression.control.api.ExpressionResolverService expressionResolverService,
ExpressionService expressionService,
org.bonitasoft.engine.events.EventService eventService,
Map<String,SProcessInstanceHandler<org.bonitasoft.engine.events.model.SEvent>> handlers,
org.bonitasoft.engine.core.document.api.DocumentService documentService,
ContainerRegistry containerRegistry,
BPMInstancesCreator bpmInstancesCreator,
EventsHandler eventsHandler,
FlowNodeStateManager flowNodeStateManager,
BusinessDataRepository businessDataRepository,
org.bonitasoft.engine.core.process.instance.api.RefBusinessDataService refBusinessDataService,
TransitionEvaluator transitionEvaluator,
org.bonitasoft.engine.core.contract.data.ContractDataService contractDataService) |
| Modifier and Type | Method and Description |
|---|---|
void |
childFinished(long processDefinitionId,
long flowNodeInstanceId,
long parentId)
Method called to notify this container executor that a child reached the given state
|
protected org.bonitasoft.engine.core.process.instance.model.SProcessInstance |
createProcessInstance(SProcessDefinition processDefinition,
long starterId,
long starterSubstituteId,
long callerId) |
boolean |
executeConnectors(SProcessDefinition processDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
ConnectorEvent activationEvent,
FlowNodeSelector selectorForConnectorOnEnter) |
protected void |
executeConnectors(SProcessDefinition processDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
List<ConnectorDefinitionWithInputValues> connectorsList) |
org.bonitasoft.engine.core.process.instance.api.states.FlowNodeState |
executeFlowNode(long flowNodeInstanceId,
Long executerId,
Long executerSubstituteId)
Execute a flow node in the context of this container executor
|
protected void |
executeOperations(List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance) |
String |
getHandledType() |
protected DocumentValue |
getInitialDocumentValue(SProcessDefinition sDefinition,
Map<org.bonitasoft.engine.expression.model.SExpression,DocumentValue> evaluatedDocumentValues,
SDocumentDefinition document) |
protected void |
handleEventSubProcess(SProcessDefinition sProcessDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
long subProcessDefinitionId) |
void |
handleProcessCompletion(SProcessDefinition sProcessDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
boolean hasActionsToExecute) |
protected boolean |
initialize(long userId,
SProcessDefinition sProcessDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
SFlowElementContainerDefinition processContainer,
List<ConnectorDefinitionWithInputValues> connectors,
FlowNodeSelector selectorForConnectorOnEnter,
Map<String,Serializable> processInputs) |
protected void |
initializeData(SFlowElementContainerDefinition processContainer,
SProcessDefinition sProcessDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sInstance) |
protected void |
removeDuplicatedInclusiveGatewayTransitions(SProcessDefinition processDefinition,
List<STransitionDefinition> chosenGatewaysTransitions) |
org.bonitasoft.engine.core.process.instance.model.SProcessInstance |
start(long starterId,
long starterSubstituteId,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectorsWithInput,
FlowNodeSelector selector,
Map<String,Serializable> processInputs) |
org.bonitasoft.engine.core.process.instance.model.SProcessInstance |
start(long processDefinitionId,
long targetSFlowNodeDefinitionId,
long starterId,
long starterSubstituteId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
long callerId,
long subProcessDefinitionId,
Map<String,Serializable> processInputs) |
protected org.bonitasoft.engine.core.process.instance.model.SProcessInstance |
start(long starterId,
long starterSubstituteId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectors,
long callerId,
FlowNodeSelector selector,
Map<String,Serializable> processInputs) |
org.bonitasoft.engine.core.process.instance.model.SProcessInstance |
startElements(org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
FlowNodeSelector selector) |
protected void |
validateContractInputs(Map<String,Serializable> processInputs,
SProcessDefinition sProcessDefinition) |
protected final org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService activityInstanceService
protected final org.bonitasoft.engine.core.process.instance.api.ProcessInstanceService processInstanceService
protected final org.bonitasoft.engine.classloader.ClassLoaderService classLoaderService
protected final org.bonitasoft.engine.core.expression.control.api.ExpressionResolverService expressionResolverService
protected final ExpressionService expressionService
protected final org.bonitasoft.engine.core.connector.ConnectorService connectorService
protected final BPMInstancesCreator bpmInstancesCreator
protected final EventsHandler eventsHandler
public ProcessExecutorImpl(org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService activityInstanceService,
org.bonitasoft.engine.core.process.instance.api.ProcessInstanceService processInstanceService,
org.bonitasoft.engine.log.technical.TechnicalLoggerService logger,
FlowNodeExecutor flowNodeExecutor,
org.bonitasoft.engine.work.WorkService workService,
ProcessDefinitionService processDefinitionService,
org.bonitasoft.engine.core.process.instance.api.GatewayInstanceService gatewayInstanceService,
org.bonitasoft.engine.resources.ProcessResourcesService processResourcesService,
org.bonitasoft.engine.core.connector.ConnectorService connectorService,
org.bonitasoft.engine.core.connector.ConnectorInstanceService connectorInstanceService,
org.bonitasoft.engine.classloader.ClassLoaderService classLoaderService,
org.bonitasoft.engine.core.operation.OperationService operationService,
org.bonitasoft.engine.core.expression.control.api.ExpressionResolverService expressionResolverService,
ExpressionService expressionService,
org.bonitasoft.engine.events.EventService eventService,
Map<String,SProcessInstanceHandler<org.bonitasoft.engine.events.model.SEvent>> handlers,
org.bonitasoft.engine.core.document.api.DocumentService documentService,
ContainerRegistry containerRegistry,
BPMInstancesCreator bpmInstancesCreator,
EventsHandler eventsHandler,
FlowNodeStateManager flowNodeStateManager,
BusinessDataRepository businessDataRepository,
org.bonitasoft.engine.core.process.instance.api.RefBusinessDataService refBusinessDataService,
TransitionEvaluator transitionEvaluator,
org.bonitasoft.engine.core.contract.data.ContractDataService contractDataService)
public org.bonitasoft.engine.core.process.instance.api.states.FlowNodeState executeFlowNode(long flowNodeInstanceId,
Long executerId,
Long executerSubstituteId)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionException
ContainerExecutorexecuteFlowNode in interface ContainerExecutorflowNodeInstanceId - The identifier of the flow node instanceexecuterId - The identifier of the user which execute the flow nodeexecuterSubstituteId - The identifier of the delegated user which execute the flow nodeorg.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionException - Throw if there is an error when execute the flow nodepublic boolean executeConnectors(SProcessDefinition processDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance, ConnectorEvent activationEvent, FlowNodeSelector selectorForConnectorOnEnter) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
executeConnectors in interface ProcessExecutororg.bonitasoft.engine.commons.exceptions.SBonitaExceptionprotected org.bonitasoft.engine.core.process.instance.model.SProcessInstance createProcessInstance(SProcessDefinition processDefinition, long starterId, long starterSubstituteId, long callerId) throws org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException
org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionprotected void executeOperations(List<org.bonitasoft.engine.core.operation.model.SOperation> operations, Map<String,Object> context, org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext, org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
org.bonitasoft.engine.commons.exceptions.SBonitaExceptionprotected boolean initialize(long userId,
SProcessDefinition sProcessDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
SFlowElementContainerDefinition processContainer,
List<ConnectorDefinitionWithInputValues> connectors,
FlowNodeSelector selectorForConnectorOnEnter,
Map<String,Serializable> processInputs)
throws BonitaHomeNotSetException,
IOException,
InvalidEvaluationConnectorConditionException,
org.bonitasoft.engine.commons.exceptions.SBonitaException
BonitaHomeNotSetExceptionIOExceptionInvalidEvaluationConnectorConditionExceptionorg.bonitasoft.engine.commons.exceptions.SBonitaExceptionprotected void initializeData(SFlowElementContainerDefinition processContainer, SProcessDefinition sProcessDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sInstance) throws org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException
org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionprotected DocumentValue getInitialDocumentValue(SProcessDefinition sDefinition, Map<org.bonitasoft.engine.expression.model.SExpression,DocumentValue> evaluatedDocumentValues, SDocumentDefinition document) throws BonitaHomeNotSetException, IOException, org.bonitasoft.engine.sessionaccessor.STenantIdNotSetException, org.bonitasoft.engine.persistence.SBonitaReadException
BonitaHomeNotSetExceptionIOExceptionorg.bonitasoft.engine.sessionaccessor.STenantIdNotSetExceptionorg.bonitasoft.engine.persistence.SBonitaReadExceptionpublic void childFinished(long processDefinitionId,
long flowNodeInstanceId,
long parentId)
throws org.bonitasoft.engine.commons.exceptions.SBonitaException
ContainerExecutorchildFinished in interface ContainerExecutorprocessDefinitionId - The identifier of the process definitionflowNodeInstanceId - The identifier of the flow node instanceparentId - The identifier of the parent of the flow nodeorg.bonitasoft.engine.commons.exceptions.SBonitaExceptionpublic void handleProcessCompletion(SProcessDefinition sProcessDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance, boolean hasActionsToExecute) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
handleProcessCompletion in interface ProcessExecutororg.bonitasoft.engine.commons.exceptions.SBonitaExceptionprotected void removeDuplicatedInclusiveGatewayTransitions(SProcessDefinition processDefinition, List<STransitionDefinition> chosenGatewaysTransitions)
public org.bonitasoft.engine.core.process.instance.model.SProcessInstance start(long starterId,
long starterSubstituteId,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectorsWithInput,
FlowNodeSelector selector,
Map<String,Serializable> processInputs)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException,
org.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationException
start in interface ProcessExecutororg.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationExceptionpublic org.bonitasoft.engine.core.process.instance.model.SProcessInstance start(long processDefinitionId,
long targetSFlowNodeDefinitionId,
long starterId,
long starterSubstituteId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
long callerId,
long subProcessDefinitionId,
Map<String,Serializable> processInputs)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException,
org.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationException
start in interface ProcessExecutororg.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationExceptionprotected org.bonitasoft.engine.core.process.instance.model.SProcessInstance start(long starterId,
long starterSubstituteId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContextToEvaluateOperations,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectors,
long callerId,
FlowNodeSelector selector,
Map<String,Serializable> processInputs)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException,
org.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationException
org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationExceptionprotected void validateContractInputs(Map<String,Serializable> processInputs, SProcessDefinition sProcessDefinition) throws org.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationException
org.bonitasoft.engine.core.process.instance.api.exceptions.SContractViolationExceptionprotected void executeConnectors(SProcessDefinition processDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance, List<ConnectorDefinitionWithInputValues> connectorsList) throws InvalidEvaluationConnectorConditionException, org.bonitasoft.engine.core.connector.exception.SConnectorException
InvalidEvaluationConnectorConditionExceptionorg.bonitasoft.engine.core.connector.exception.SConnectorExceptionprotected void handleEventSubProcess(SProcessDefinition sProcessDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance, long subProcessDefinitionId) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
org.bonitasoft.engine.commons.exceptions.SBonitaExceptionpublic org.bonitasoft.engine.core.process.instance.model.SProcessInstance startElements(org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
FlowNodeSelector selector)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationException,
org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionException
startElements in interface ProcessExecutororg.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceCreationExceptionorg.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionExceptionpublic String getHandledType()
getHandledType in interface ContainerExecutorCopyright © 2017 Bonitasoft S.A.. All rights reserved.