diff --git a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/ConnectorActionDefinitionFinder.java b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/ConnectorActionDefinitionFinder.java index 0e55c31491b0a432e218d5fd8890066948ffe89e..a7cdf15587b2b0978bdce2100b99615e72a8ceb1 100644 --- a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/ConnectorActionDefinitionFinder.java +++ b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/ConnectorActionDefinitionFinder.java @@ -10,8 +10,13 @@ import org.apache.commons.lang3.StringUtils; public class ConnectorActionDefinitionFinder { - public Optional find(String implementation, - List connectorDefinitions) { + private final List connectorDefinitions; + + public ConnectorActionDefinitionFinder(List connectorDefinitions) { + this.connectorDefinitions = connectorDefinitions; + } + + public Optional find(String implementation){ Optional actionDefinitionOptional = Optional.empty(); diff --git a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/DefaultServiceTaskBehavior.java b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/DefaultServiceTaskBehavior.java index 851507c5a465cc6e795aca6ba451abb97c845fd5..2942365cf0869a240b9ee77f5fe3660315f0427d 100644 --- a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/DefaultServiceTaskBehavior.java +++ b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/DefaultServiceTaskBehavior.java @@ -44,12 +44,10 @@ public class DefaultServiceTaskBehavior extends AbstractBpmnActivityBehavior { public DefaultServiceTaskBehavior(ApplicationContext applicationContext, IntegrationContextBuilder integrationContextBuilder, - List connectorDefinitions, ConnectorActionDefinitionFinder connectorActionDefinitionFinder, VariablesMatchHelper variablesMatchHelper) { this.applicationContext = applicationContext; this.integrationContextBuilder = integrationContextBuilder; - this.connectorDefinitions = connectorDefinitions; this.connectorActionDefinitionFinder = connectorActionDefinitionFinder; this.variablesMatchHelper = variablesMatchHelper; } @@ -67,8 +65,7 @@ public class DefaultServiceTaskBehavior extends AbstractBpmnActivityBehavior { List outBoundVariableDefinitions = null; if(connectorActionDefinitionFinder != null && connectorDefinitions != null) { - Optional actionDefinitionOptional = connectorActionDefinitionFinder.find(implementation, - connectorDefinitions); + Optional actionDefinitionOptional = connectorActionDefinitionFinder.find(implementation); ActionDefinition actionDefinition = null; if (actionDefinitionOptional.isPresent()) { actionDefinition = actionDefinitionOptional.get(); @@ -83,11 +80,11 @@ public class DefaultServiceTaskBehavior extends AbstractBpmnActivityBehavior { Connector.class); } outBoundVariableDefinitions = actionDefinition == null ? null : actionDefinition.getOutput(); - }else{ + }else { context = integrationContextBuilder.from(execution, - null); + null); connector = applicationContext.getBean(implementation, - Connector.class); + Connector.class); } IntegrationContext results = connector.execute(context); diff --git a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/IntegrationContextBuilder.java b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/IntegrationContextBuilder.java index 7387ffdef483b02338d7365b10456546e7398097..a22d682515e414d8fe53ad3c3e99e4fb022aa27c 100644 --- a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/IntegrationContextBuilder.java +++ b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/connector/IntegrationContextBuilder.java @@ -68,7 +68,7 @@ public class IntegrationContextBuilder { integrationContext.setParentProcessInstanceId(processInstance.getParentProcessInstanceId()); } } - + String implementation = ((ServiceTask) execution.getCurrentFlowElement()).getImplementation(); integrationContext.setConnectorType(implementation); @@ -79,7 +79,7 @@ public class IntegrationContextBuilder { return integrationContext; } - + private Map buildInBoundVariables(ActionDefinition actionDefinition, DelegateExecution execution) { diff --git a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/conf/activiti/runtime/api/ConnectorsAutoConfiguration.java b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/conf/activiti/runtime/api/ConnectorsAutoConfiguration.java index 6a50957872c1f4902ea5608066239a309dc2cbd2..cd735a1c9fcaf7080e2a4a8c92497298b4deeeea 100644 --- a/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/conf/activiti/runtime/api/ConnectorsAutoConfiguration.java +++ b/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/conf/activiti/runtime/api/ConnectorsAutoConfiguration.java @@ -36,11 +36,11 @@ import java.util.List; public class ConnectorsAutoConfiguration { @Autowired - private ConnectorService connectorService; + private ConnectorDefinitionService connectorDefinitionService; @Bean public List connectorDefinitions() throws IOException { - return connectorService.get(); + return connectorDefinitionService.get(); } @Bean @@ -53,12 +53,12 @@ public class ConnectorsAutoConfiguration { public DefaultServiceTaskBehavior defaultServiceTaskBehavior(ApplicationContext applicationContext, IntegrationContextBuilder integrationContextBuilder, ConnectorActionDefinitionFinder connectorActionDefinitionFinder, VariablesMatchHelper variablesMatchHelper) throws IOException { return new DefaultServiceTaskBehavior(applicationContext, - integrationContextBuilder, connectorDefinitions(), connectorActionDefinitionFinder, variablesMatchHelper); + integrationContextBuilder, connectorActionDefinitionFinder, variablesMatchHelper); } @Bean public ConnectorActionDefinitionFinder connectorActionDefinitionFinder() { - return new ConnectorActionDefinitionFinder(); + return new ConnectorActionDefinitionFinder(connectorDefinitions()); } @Bean diff --git a/activiti-spring-boot-starter/src/test/resources/connectors/process-image.json b/activiti-spring-boot-starter/src/test/resources/connectors/process-image.json index e54d677288e34e158493d006f10c810b5ba23184..6bdc581c3c54005994d75f336f8437bf0af39313 100644 --- a/activiti-spring-boot-starter/src/test/resources/connectors/process-image.json +++ b/activiti-spring-boot-starter/src/test/resources/connectors/process-image.json @@ -8,7 +8,7 @@ "id": "processImageActionId", "name": "processImageActionName", "description": "...", - "input": [ + "inputs": [ { "id": "input-variable-1", "name": "input-variable-name-1", @@ -24,7 +24,7 @@ "description": "" } ], - "output": [ + "outputs": [ { "id": "approved", "name": "approved", diff --git a/activiti-spring-boot-starter/src/test/resources/connectors/tag-image.json b/activiti-spring-boot-starter/src/test/resources/connectors/tag-image.json index cbe67ce1ffeb18359ab7ae84763eba530201cb79..c69e052296d8ac76b78702ebd0d7dbdaf1ca38fa 100644 --- a/activiti-spring-boot-starter/src/test/resources/connectors/tag-image.json +++ b/activiti-spring-boot-starter/src/test/resources/connectors/tag-image.json @@ -8,7 +8,7 @@ "id": "tagImageActionId", "name": "tagImageActionName", "description": "...", - "input": [ + "inputs": [ { "id": "input-variable-2", "name": "input-variable-name-2", @@ -24,7 +24,7 @@ "description": "" } ], - "output": [ + "outputs": [ { "id": "approved", "name": "approved",