提交 9c65aef9 编写于 作者: S salaboy

updating connectors integration to be optional in DefaultServiceTaskBehavior

上级 0d049439
......@@ -33,9 +33,14 @@ public class DefaultServiceTaskBehavior extends AbstractBpmnActivityBehavior {
private final ApplicationContext applicationContext;
private final IntegrationContextBuilder integrationContextBuilder;
private final List<ConnectorDefinition> connectorDefinitions;
private final ConnectorActionDefinitionFinder connectorActionDefinitionFinder;
private final VariablesMatchHelper variablesMatchHelper;
private List<ConnectorDefinition> connectorDefinitions;
private ConnectorActionDefinitionFinder connectorActionDefinitionFinder;
private VariablesMatchHelper variablesMatchHelper;
public DefaultServiceTaskBehavior(ApplicationContext applicationContext, IntegrationContextBuilder integrationContextBuilder) {
this.applicationContext = applicationContext;
this.integrationContextBuilder = integrationContextBuilder;
}
public DefaultServiceTaskBehavior(ApplicationContext applicationContext,
IntegrationContextBuilder integrationContextBuilder,
......@@ -59,29 +64,40 @@ public class DefaultServiceTaskBehavior extends AbstractBpmnActivityBehavior {
IntegrationContext context;
String implementation = ((ServiceTask) execution.getCurrentFlowElement()).getImplementation();
List<VariableDefinition> outBoundVariableDefinitions = null;
if(connectorActionDefinitionFinder != null && connectorDefinitions != null) {
Optional<ActionDefinition> actionDefinitionOptional = connectorActionDefinitionFinder.find(implementation,
connectorDefinitions);
ActionDefinition actionDefinition = null;
if (actionDefinitionOptional.isPresent()) {
actionDefinition = actionDefinitionOptional.get();
Optional<ActionDefinition> actionDefinitionOptional = connectorActionDefinitionFinder.find(implementation,
connectorDefinitions);
ActionDefinition actionDefinition = null;
if (actionDefinitionOptional.isPresent()) {
actionDefinition = actionDefinitionOptional.get();
context = integrationContextBuilder.from(execution,
actionDefinition);
connector = applicationContext.getBean(actionDefinition.getName(),
Connector.class);
} else {
context = integrationContextBuilder.from(execution,
null);
connector = applicationContext.getBean(implementation,
Connector.class);
}
outBoundVariableDefinitions = actionDefinition == null ? null : actionDefinition.getOutput();
}else{
context = integrationContextBuilder.from(execution,
actionDefinition);
connector = applicationContext.getBean(actionDefinition.getName(),
Connector.class);
} else {
context = integrationContextBuilder.from(execution,
null);
null);
connector = applicationContext.getBean(implementation,
Connector.class);
Connector.class);
}
IntegrationContext results = connector.execute(context);
List<VariableDefinition> outBoundVariableDefinitions = actionDefinition == null ? null : actionDefinition.getOutput();
execution.setVariables(variablesMatchHelper.match(results.getOutBoundVariables(),
outBoundVariableDefinitions));
if(variablesMatchHelper != null) {
execution.setVariables(variablesMatchHelper.match(results.getOutBoundVariables(),
outBoundVariableDefinitions));
}else{
execution.setVariables(results.getOutBoundVariables());
}
leave(execution);
}
......
......@@ -70,7 +70,10 @@ public class IntegrationContextBuilder {
DelegateExecution execution) {
List<VariableDefinition> inBoundVariableDefinitions = actionDefinition == null ? null : actionDefinition.getInput();
return variablesMatchHelper.match(execution.getVariables(), inBoundVariableDefinitions);
if(variablesMatchHelper != null) {
return variablesMatchHelper.match(execution.getVariables(), inBoundVariableDefinitions);
}else{
return execution.getVariables();
}
}
}
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.conf.activiti.runtime.api.ConnectorsAutoConfiguration,\
org.conf.activiti.runtime.api.ProcessRuntimeAutoConfiguration,\
org.activiti.spring.connector.autoconfigure.ConnectorAutoConfiguration
\ No newline at end of file
org.activiti.core.common.spring.connector.autoconfigure.ConnectorAutoConfiguration
\ No newline at end of file
......@@ -18,7 +18,7 @@
<properties>
<activiti-build.version>7.0.39</activiti-build.version>
<activiti-api.version>7.0.33</activiti-api.version>
<activiti-core-common.version>7.0.0</activiti-core-common.version>
<activiti-core-common.version>7.0.1</activiti-core-common.version>
<activiti.version>${project.version}</activiti.version>
<batik.version>1.10</batik.version>
<commons-email.version>1.5</commons-email.version>
......@@ -50,13 +50,6 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.activiti.core.common</groupId>
<artifactId>activiti-core-common-dependencies</artifactId>
<version>${activiti-core-common.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Activiti Modules for managed dependencies -->
<!-- This duplicates activiti-dependencies module but we can't import that module here as this is its parent-->
<dependency>
......@@ -66,6 +59,13 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.activiti.core.common</groupId>
<artifactId>activiti-core-common-dependencies</artifactId>
<version>${activiti-core-common.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-api-impl</artifactId>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册