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.core.process.instance.api.event.EventInstanceService eventInstanceService,
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,
org.bonitasoft.engine.sessionaccessor.ReadSessionAccessor sessionAccessor,
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 void |
createDocumentLists(SProcessDefinition sDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance processInstance,
long authorId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext,
Map<String,Object> context) |
protected void |
createDocuments(SProcessDefinition sDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance,
long authorId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext,
Map<String,Object> context) |
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,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext contextDependency,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
long processInstanceId,
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.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 expressionContext,
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(SProcessDefinition sDefinition,
org.bonitasoft.engine.core.process.instance.model.SProcessInstance sInstance) |
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 expressionContext,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectorsWithInput,
long callerId,
long subProcessDefinitionId,
Map<String,Serializable> processInputs) |
org.bonitasoft.engine.core.process.instance.model.SProcessInstance |
start(long starterId,
long starterSubstituteId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext,
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.core.process.instance.api.event.EventInstanceService eventInstanceService,
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,
org.bonitasoft.engine.sessionaccessor.ReadSessionAccessor sessionAccessor,
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,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext contextDependency,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
long processInstanceId,
Long executerId,
Long executerSubstituteId)
throws org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeExecutionException
ContainerExecutorexecuteFlowNode in interface ContainerExecutorflowNodeInstanceId - The identifier of the flow node instanceprocessInstanceId - The identifier of the process 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.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 expressionContext,
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(SProcessDefinition sDefinition, 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 void createDocuments(SProcessDefinition sDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance sProcessInstance, long authorId, org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext, Map<String,Object> context) throws org.bonitasoft.engine.commons.exceptions.SObjectCreationException, BonitaHomeNotSetException, org.bonitasoft.engine.sessionaccessor.STenantIdNotSetException, IOException, org.bonitasoft.engine.commons.exceptions.SObjectAlreadyExistsException, org.bonitasoft.engine.persistence.SBonitaReadException, org.bonitasoft.engine.commons.exceptions.SObjectModificationException, 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.core.operation.exception.SOperationExecutionException
org.bonitasoft.engine.commons.exceptions.SObjectCreationExceptionBonitaHomeNotSetExceptionorg.bonitasoft.engine.sessionaccessor.STenantIdNotSetExceptionIOExceptionorg.bonitasoft.engine.commons.exceptions.SObjectAlreadyExistsExceptionorg.bonitasoft.engine.persistence.SBonitaReadExceptionorg.bonitasoft.engine.commons.exceptions.SObjectModificationExceptionorg.bonitasoft.engine.expression.exception.SExpressionTypeUnknownExceptionorg.bonitasoft.engine.expression.exception.SExpressionDependencyMissingExceptionorg.bonitasoft.engine.expression.exception.SExpressionEvaluationExceptionorg.bonitasoft.engine.expression.exception.SInvalidExpressionExceptionorg.bonitasoft.engine.core.operation.exception.SOperationExecutionExceptionprotected DocumentValue getInitialDocumentValue(SProcessDefinition sDefinition, Map<org.bonitasoft.engine.expression.model.SExpression,DocumentValue> evaluatedDocumentValues, SDocumentDefinition document) throws BonitaHomeNotSetException, IOException, org.bonitasoft.engine.sessionaccessor.STenantIdNotSetException
BonitaHomeNotSetExceptionIOExceptionorg.bonitasoft.engine.sessionaccessor.STenantIdNotSetExceptionprotected void createDocumentLists(SProcessDefinition sDefinition, org.bonitasoft.engine.core.process.instance.model.SProcessInstance processInstance, long authorId, org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext, Map<String,Object> context) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
org.bonitasoft.engine.commons.exceptions.SBonitaExceptionpublic 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.SBonitaExceptionpublic 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 expressionContext,
List<org.bonitasoft.engine.core.operation.model.SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectorsWithInput,
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.SContractViolationExceptionpublic org.bonitasoft.engine.core.process.instance.model.SProcessInstance start(long starterId,
long starterSubstituteId,
org.bonitasoft.engine.core.expression.control.model.SExpressionContext expressionContext,
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
start in interface ProcessExecutororg.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 © 2015 Bonitasoft S.A.. All rights reserved.