@Override public boolean hasConnectors() { return getProcessContainer().getConnectors().size() > 0; }
@Override public boolean hasConnectors() { return getProcessContainer().getConnectors().size() > 0; }
protected void archiveConnectorInstancesIfAny(SProcessInstance processInstance, ConnectorInstanceService connectorInstanceService, SProcessDefinition processDefinition, long archiveDate) throws SArchivingException { if (!processDefinition.getProcessContainer().getConnectors().isEmpty()) { archiveConnectors(connectorInstanceService, archiveDate, processInstance.getId(), SConnectorInstance.PROCESS_TYPE); } }
protected void archiveConnectorInstancesIfAny(SProcessInstance processInstance, ConnectorInstanceService connectorInstanceService, SProcessDefinition processDefinition, long archiveDate) throws SArchivingException { if (!processDefinition.getProcessContainer().getConnectors().isEmpty()) { archiveConnectors(connectorInstanceService, archiveDate, processInstance.getId(), SConnectorInstance.PROCESS_TYPE); } }
@Override public boolean executeConnectors(final SProcessDefinition processDefinition, final SProcessInstance sProcessInstance, final ConnectorEvent activationEvent, final FlowNodeSelector selectorForConnectorOnEnter) throws SBonitaException { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final long processDefinitionId = processDefinition.getId(); final List<SConnectorDefinition> connectors = processContainer.getConnectors(activationEvent); if (connectors.size() > 0) { SConnectorInstance nextConnectorInstance; nextConnectorInstance = getNextConnectorInstance(sProcessInstance, activationEvent); if (nextConnectorInstance != null) { for (final SConnectorDefinition sConnectorDefinition : connectors) { if (sConnectorDefinition.getName().equals(nextConnectorInstance.getName())) { workService.registerWork(workFactory.createExecuteConnectorOfProcessDescriptor(processDefinitionId, sProcessInstance.getId(), sProcessInstance.getRootProcessInstanceId(), nextConnectorInstance.getId(), sConnectorDefinition.getName(), activationEvent, selectorForConnectorOnEnter)); return true; } } } } return false; }
@Override public boolean executeConnectors(final SProcessDefinition processDefinition, final SProcessInstance sProcessInstance, final ConnectorEvent activationEvent, final FlowNodeSelector selectorForConnectorOnEnter) throws SBonitaException { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final long processDefinitionId = processDefinition.getId(); final List<SConnectorDefinition> connectors = processContainer.getConnectors(activationEvent); if (connectors.size() > 0) { SConnectorInstance nextConnectorInstance; nextConnectorInstance = getNextConnectorInstance(sProcessInstance, activationEvent); if (nextConnectorInstance != null) { for (final SConnectorDefinition sConnectorDefinition : connectors) { if (sConnectorDefinition.getName().equals(nextConnectorInstance.getName())) { workService.registerWork(workFactory.createExecuteConnectorOfProcessDescriptor(processDefinitionId, sProcessInstance.getId(), sProcessInstance.getRootProcessInstanceId(), nextConnectorInstance.getId(), sConnectorDefinition.getName(), activationEvent, selectorForConnectorOnEnter)); return true; } } } } return false; }
protected boolean initialize(final long userId, final SProcessDefinition sProcessDefinition, final SProcessInstance sProcessInstance, SExpressionContext expressionContextToEvaluateOperations, List<SOperation> operations, final Map<String, Object> context, final SFlowElementContainerDefinition processContainer, final List<ConnectorDefinitionWithInputValues> connectors, final FlowNodeSelector selectorForConnectorOnEnter, final Map<String, Serializable> processInputs) throws BonitaHomeNotSetException, IOException, InvalidEvaluationConnectorConditionException, SBonitaException { SExpressionContext expressionContext = createExpressionsContextForProcessInstance(sProcessDefinition, sProcessInstance); operations = operations != null ? new ArrayList<>(operations) : Collections.<SOperation> emptyList(); storeProcessInstantiationInputs(sProcessInstance.getId(), processInputs); // Create SDataInstances bpmInstancesCreator.createDataInstances(sProcessInstance, processContainer, sProcessDefinition, expressionContext, operations, context, expressionContextToEvaluateOperations); initializeBusinessData(processContainer, sProcessInstance, expressionContext); initializeData(processContainer, sProcessDefinition, sProcessInstance); createDocuments(sProcessDefinition, processContainer, sProcessInstance, userId, expressionContext, context); createDocumentLists(processContainer, sProcessInstance, userId, expressionContext, context); if (connectors != null) { //these are set only when start process through the command ExecuteActionsAndStartInstanceExt executeConnectors(sProcessDefinition, sProcessInstance, connectors); } // oepration given to the startProcess method of the API or by command, not operations of the process definition executeOperations(operations, context, expressionContext, expressionContextToEvaluateOperations, sProcessInstance); // Create connectors bpmInstancesCreator.createConnectorInstances(sProcessInstance, processContainer.getConnectors(), SConnectorInstance.PROCESS_TYPE); return executeConnectors(sProcessDefinition, sProcessInstance, ConnectorEvent.ON_ENTER, selectorForConnectorOnEnter); }
protected boolean initialize(final long userId, final SProcessDefinition sProcessDefinition, final SProcessInstance sProcessInstance, SExpressionContext expressionContextToEvaluateOperations, List<SOperation> operations, final Map<String, Object> context, final SFlowElementContainerDefinition processContainer, final List<ConnectorDefinitionWithInputValues> connectors, final FlowNodeSelector selectorForConnectorOnEnter, final Map<String, Serializable> processInputs) throws BonitaHomeNotSetException, IOException, InvalidEvaluationConnectorConditionException, SBonitaException { SExpressionContext expressionContext = createExpressionsContextForProcessInstance(sProcessDefinition, sProcessInstance); operations = operations != null ? new ArrayList<>(operations) : Collections.<SOperation> emptyList(); storeProcessInstantiationInputs(sProcessInstance.getId(), processInputs); // Create SDataInstances bpmInstancesCreator.createDataInstances(sProcessInstance, processContainer, sProcessDefinition, expressionContext, operations, context, expressionContextToEvaluateOperations); initializeBusinessData(processContainer, sProcessInstance, expressionContext); initializeData(processContainer, sProcessDefinition, sProcessInstance); createDocuments(sProcessDefinition, processContainer, sProcessInstance, userId, expressionContext, context); createDocumentLists(processContainer, sProcessInstance, userId, expressionContext, context); if (connectors != null) { //these are set only when start process through the command ExecuteActionsAndStartInstanceExt executeConnectors(sProcessDefinition, sProcessInstance, connectors); } // oepration given to the startProcess method of the API or by command, not operations of the process definition executeOperations(operations, context, expressionContext, expressionContextToEvaluateOperations, sProcessInstance); // Create connectors bpmInstancesCreator.createConnectorInstances(sProcessInstance, processContainer.getConnectors(), SConnectorInstance.PROCESS_TYPE); return executeConnectors(sProcessDefinition, sProcessInstance, ConnectorEvent.ON_ENTER, selectorForConnectorOnEnter); }
private List<Problem> checkAllConnectorsHaveImplementation(final ConnectorService connectorService, final SProcessDefinition processDefinition) { final List<SConnectorDefinition> processConnectors = processDefinition.getProcessContainer().getConnectors(); final List<Problem> problems = new ArrayList<Problem>(); if (processConnectors != null) {
private List<Problem> checkAllConnectorsHaveImplementation(final ConnectorService connectorService, final SProcessDefinition processDefinition) { final List<SConnectorDefinition> processConnectors = processDefinition.getProcessContainer().getConnectors(); final List<Problem> problems = new ArrayList<Problem>(); if (processConnectors != null) {