public class ProcessExecutorImpl extends Object implements ProcessExecutor
| Modifier and Type | Field and Description |
|---|---|
protected ActivityInstanceService |
activityInstanceService |
protected BPMInstancesCreator |
bpmInstancesCreator |
protected ClassLoaderService |
classLoaderService |
protected ConnectorService |
connectorService |
protected EventsHandler |
eventsHandler |
protected ExpressionResolverService |
expressionResolverService |
protected ExpressionService |
expressionService |
protected ProcessInstanceService |
processInstanceService |
| Constructor and Description |
|---|
ProcessExecutorImpl(ActivityInstanceService activityInstanceService,
ProcessInstanceService processInstanceService,
TechnicalLoggerService logger,
FlowNodeExecutor flowNodeExecutor,
WorkService workService,
ProcessDefinitionService processDefinitionService,
GatewayInstanceService gatewayInstanceService,
org.bonitasoft.engine.resources.ProcessResourcesService processResourcesService,
ConnectorService connectorService,
ConnectorInstanceService connectorInstanceService,
ClassLoaderService classLoaderService,
OperationService operationService,
ExpressionResolverService expressionResolverService,
ExpressionService expressionService,
EventService eventService,
Map<String,SProcessInstanceHandler<SEvent>> handlers,
DocumentService documentService,
ContainerRegistry containerRegistry,
BPMInstancesCreator bpmInstancesCreator,
EventsHandler eventsHandler,
FlowNodeStateManager flowNodeStateManager,
BusinessDataRepository businessDataRepository,
RefBusinessDataService refBusinessDataService,
TransitionEvaluator transitionEvaluator,
ContractDataService contractDataService,
BPMWorkFactory workFactory) |
| Modifier and Type | Method and Description |
|---|---|
void |
childFinished(long processDefinitionId,
long parentId,
SFlowNodeInstance sFlowNodeInstanceChild)
Method called to notify this container executor that a child reached the given state
|
protected SProcessInstance |
createProcessInstance(SProcessDefinition processDefinition,
long starterId,
long starterSubstituteId,
long callerId) |
boolean |
executeConnectors(SProcessDefinition processDefinition,
SProcessInstance sProcessInstance,
ConnectorEvent activationEvent,
FlowNodeSelector selectorForConnectorOnEnter) |
protected void |
executeConnectors(SProcessDefinition processDefinition,
SProcessInstance sProcessInstance,
List<ConnectorDefinitionWithInputValues> connectorsList) |
FlowNodeState |
executeFlowNode(long flowNodeInstanceId,
Long executerId,
Long executerSubstituteId)
Execute a flow node in the context of this container executor
|
protected void |
executeOperations(List<SOperation> operations,
Map<String,Object> context,
SExpressionContext expressionContext,
SExpressionContext expressionContextToEvaluateOperations,
SProcessInstance sProcessInstance) |
String |
getHandledType() |
protected DocumentValue |
getInitialDocumentValue(SProcessDefinition sDefinition,
Map<SExpression,DocumentValue> evaluatedDocumentValues,
SDocumentDefinition document) |
protected void |
handleEventSubProcess(SProcessDefinition sProcessDefinition,
SProcessInstance sProcessInstance,
long subProcessDefinitionId) |
void |
handleProcessCompletion(SProcessDefinition sProcessDefinition,
SProcessInstance sProcessInstance,
boolean hasActionsToExecute) |
protected boolean |
initialize(long userId,
SProcessDefinition sProcessDefinition,
SProcessInstance sProcessInstance,
SExpressionContext expressionContextToEvaluateOperations,
List<SOperation> operations,
Map<String,Object> context,
SFlowElementContainerDefinition processContainer,
List<ConnectorDefinitionWithInputValues> connectors,
FlowNodeSelector selectorForConnectorOnEnter,
Map<String,Serializable> processInputs) |
protected void |
initializeData(SFlowElementContainerDefinition processContainer,
SProcessDefinition sProcessDefinition,
SProcessInstance sInstance) |
protected void |
removeDuplicatedInclusiveGatewayTransitions(SProcessDefinition processDefinition,
List<STransitionDefinition> chosenGatewaysTransitions) |
SProcessInstance |
start(long starterId,
long starterSubstituteId,
List<SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectorsWithInput,
FlowNodeSelector selector,
Map<String,Serializable> processInputs) |
SProcessInstance |
start(long processDefinitionId,
long targetSFlowNodeDefinitionId,
long starterId,
long starterSubstituteId,
SExpressionContext expressionContextToEvaluateOperations,
List<SOperation> operations,
long callerId,
long subProcessDefinitionId,
Map<String,Serializable> processInputs) |
protected SProcessInstance |
start(long starterId,
long starterSubstituteId,
SExpressionContext expressionContextToEvaluateOperations,
List<SOperation> operations,
Map<String,Object> context,
List<ConnectorDefinitionWithInputValues> connectors,
long callerId,
FlowNodeSelector selector,
Map<String,Serializable> processInputs) |
SProcessInstance |
startElements(SProcessInstance sProcessInstance,
FlowNodeSelector selector) |
protected void |
validateContractInputs(Map<String,Serializable> processInputs,
SProcessDefinition sProcessDefinition) |
protected final ActivityInstanceService activityInstanceService
protected final ProcessInstanceService processInstanceService
protected final ClassLoaderService classLoaderService
protected final ExpressionResolverService expressionResolverService
protected final ExpressionService expressionService
protected final ConnectorService connectorService
protected final BPMInstancesCreator bpmInstancesCreator
protected final EventsHandler eventsHandler
public ProcessExecutorImpl(ActivityInstanceService activityInstanceService, ProcessInstanceService processInstanceService, TechnicalLoggerService logger, FlowNodeExecutor flowNodeExecutor, WorkService workService, ProcessDefinitionService processDefinitionService, GatewayInstanceService gatewayInstanceService, org.bonitasoft.engine.resources.ProcessResourcesService processResourcesService, ConnectorService connectorService, ConnectorInstanceService connectorInstanceService, ClassLoaderService classLoaderService, OperationService operationService, ExpressionResolverService expressionResolverService, ExpressionService expressionService, EventService eventService, Map<String,SProcessInstanceHandler<SEvent>> handlers, DocumentService documentService, ContainerRegistry containerRegistry, BPMInstancesCreator bpmInstancesCreator, EventsHandler eventsHandler, FlowNodeStateManager flowNodeStateManager, BusinessDataRepository businessDataRepository, RefBusinessDataService refBusinessDataService, TransitionEvaluator transitionEvaluator, ContractDataService contractDataService, BPMWorkFactory workFactory)
public FlowNodeState executeFlowNode(long flowNodeInstanceId, Long executerId, Long executerSubstituteId) throws 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 nodeSFlowNodeExecutionException - Throw if there is an error when execute the flow nodepublic boolean executeConnectors(SProcessDefinition processDefinition, SProcessInstance sProcessInstance, ConnectorEvent activationEvent, FlowNodeSelector selectorForConnectorOnEnter) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
executeConnectors in interface ProcessExecutororg.bonitasoft.engine.commons.exceptions.SBonitaExceptionprotected SProcessInstance createProcessInstance(SProcessDefinition processDefinition, long starterId, long starterSubstituteId, long callerId) throws SProcessInstanceCreationException
protected void executeOperations(List<SOperation> operations, Map<String,Object> context, SExpressionContext expressionContext, SExpressionContext expressionContextToEvaluateOperations, SProcessInstance sProcessInstance) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
org.bonitasoft.engine.commons.exceptions.SBonitaExceptionprotected boolean initialize(long userId,
SProcessDefinition sProcessDefinition,
SProcessInstance sProcessInstance,
SExpressionContext expressionContextToEvaluateOperations,
List<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, SProcessInstance sInstance) throws SProcessInstanceCreationException
protected DocumentValue getInitialDocumentValue(SProcessDefinition sDefinition, Map<SExpression,DocumentValue> evaluatedDocumentValues, SDocumentDefinition document) throws BonitaHomeNotSetException, IOException, STenantIdNotSetException, SBonitaReadException
public void childFinished(long processDefinitionId,
long parentId,
SFlowNodeInstance sFlowNodeInstanceChild)
throws org.bonitasoft.engine.commons.exceptions.SBonitaException
ContainerExecutorchildFinished in interface ContainerExecutorprocessDefinitionId - The identifier of the process definitionparentId - The identifier of the parent of the flow nodeorg.bonitasoft.engine.commons.exceptions.SBonitaExceptionpublic void handleProcessCompletion(SProcessDefinition sProcessDefinition, 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 SProcessInstance start(long starterId, long starterSubstituteId, List<SOperation> operations, Map<String,Object> context, List<ConnectorDefinitionWithInputValues> connectorsWithInput, FlowNodeSelector selector, Map<String,Serializable> processInputs) throws SProcessInstanceCreationException, SContractViolationException
start in interface ProcessExecutorSProcessInstanceCreationExceptionSContractViolationExceptionpublic SProcessInstance start(long processDefinitionId, long targetSFlowNodeDefinitionId, long starterId, long starterSubstituteId, SExpressionContext expressionContextToEvaluateOperations, List<SOperation> operations, long callerId, long subProcessDefinitionId, Map<String,Serializable> processInputs) throws SProcessInstanceCreationException, SContractViolationException
start in interface ProcessExecutorSProcessInstanceCreationExceptionSContractViolationExceptionprotected SProcessInstance start(long starterId, long starterSubstituteId, SExpressionContext expressionContextToEvaluateOperations, List<SOperation> operations, Map<String,Object> context, List<ConnectorDefinitionWithInputValues> connectors, long callerId, FlowNodeSelector selector, Map<String,Serializable> processInputs) throws SProcessInstanceCreationException, SContractViolationException
protected void validateContractInputs(Map<String,Serializable> processInputs, SProcessDefinition sProcessDefinition) throws SContractViolationException
SContractViolationExceptionprotected void executeConnectors(SProcessDefinition processDefinition, SProcessInstance sProcessInstance, List<ConnectorDefinitionWithInputValues> connectorsList) throws InvalidEvaluationConnectorConditionException, SConnectorException
protected void handleEventSubProcess(SProcessDefinition sProcessDefinition, SProcessInstance sProcessInstance, long subProcessDefinitionId) throws org.bonitasoft.engine.commons.exceptions.SBonitaException
org.bonitasoft.engine.commons.exceptions.SBonitaExceptionpublic SProcessInstance startElements(SProcessInstance sProcessInstance, FlowNodeSelector selector) throws SProcessInstanceCreationException, SFlowNodeExecutionException
startElements in interface ProcessExecutorSProcessInstanceCreationExceptionSFlowNodeExecutionExceptionpublic String getHandledType()
getHandledType in interface ContainerExecutorCopyright © 2018 Bonitasoft S.A.. All rights reserved.