From 56ce9b3d88de790a38776af8ff60538fc22f1eff Mon Sep 17 00:00:00 2001 From: Francesco Fazzini Date: Wed, 10 Oct 2018 15:55:50 +0100 Subject: [PATCH] 1972 add connector model (#1973) * 1972 add connector model * 1972 gitignore file not necessary as there is one at parent level * Added spring module that reads connectors * fixed a test and the pom version not to be hardcoded * Autoconfiguration over componentscans * Changes based on the PR comments and connector schema changes * refactored pom to look similar to other projects * Adding setters to model * Rename from connector to connector definition * Improved code readability --- activiti-connector-model/pom.xml | 13 ++++ .../model/connector/ActionDefinition.java | 56 ++++++++++++++ .../model/connector/ConnectorDefinition.java | 56 ++++++++++++++ .../model/connector/VariableDefinition.java | 54 +++++++++++++ activiti-spring-connector/pom.xml | 45 +++++++++++ .../spring/connector/ConnectorService.java | 77 +++++++++++++++++++ .../ConnectorAutoConfiguration.java | 26 +++++++ .../main/resources/META-INF/spring.factories | 2 + .../ConnectorDefinitionServiceIT.java | 53 +++++++++++++ .../EmptyConnectorDefinitionServiceIT.java | 48 ++++++++++++ .../MultipleConnectorDefinitionServiceIT.java | 50 ++++++++++++ .../application-empty-test.properties | 1 + .../application-multiple-test.properties | 1 + .../application-single-test.properties | 1 + .../test/resources/connectors/connector.json | 44 +++++++++++ .../multiple_connectors/connector.json | 44 +++++++++++ .../multiple_connectors/connector2.json | 44 +++++++++++ .../multiple_connectors/connector3.json | 44 +++++++++++ .../multiple_connectors/connector_wrong.txt | 1 + pom.xml | 2 + 20 files changed, 662 insertions(+) create mode 100644 activiti-connector-model/pom.xml create mode 100644 activiti-connector-model/src/main/java/org/activiti/model/connector/ActionDefinition.java create mode 100644 activiti-connector-model/src/main/java/org/activiti/model/connector/ConnectorDefinition.java create mode 100644 activiti-connector-model/src/main/java/org/activiti/model/connector/VariableDefinition.java create mode 100644 activiti-spring-connector/pom.xml create mode 100644 activiti-spring-connector/src/main/java/org/activiti/spring/connector/ConnectorService.java create mode 100644 activiti-spring-connector/src/main/java/org/activiti/spring/connector/autoconfigure/ConnectorAutoConfiguration.java create mode 100644 activiti-spring-connector/src/main/resources/META-INF/spring.factories create mode 100644 activiti-spring-connector/src/test/java/org/activiti/spring/connector/ConnectorDefinitionServiceIT.java create mode 100644 activiti-spring-connector/src/test/java/org/activiti/spring/connector/EmptyConnectorDefinitionServiceIT.java create mode 100644 activiti-spring-connector/src/test/java/org/activiti/spring/connector/MultipleConnectorDefinitionServiceIT.java create mode 100644 activiti-spring-connector/src/test/resources/application-empty-test.properties create mode 100644 activiti-spring-connector/src/test/resources/application-multiple-test.properties create mode 100644 activiti-spring-connector/src/test/resources/application-single-test.properties create mode 100644 activiti-spring-connector/src/test/resources/connectors/connector.json create mode 100644 activiti-spring-connector/src/test/resources/multiple_connectors/connector.json create mode 100644 activiti-spring-connector/src/test/resources/multiple_connectors/connector2.json create mode 100644 activiti-spring-connector/src/test/resources/multiple_connectors/connector3.json create mode 100644 activiti-spring-connector/src/test/resources/multiple_connectors/connector_wrong.txt diff --git a/activiti-connector-model/pom.xml b/activiti-connector-model/pom.xml new file mode 100644 index 0000000000..ded4253661 --- /dev/null +++ b/activiti-connector-model/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + activiti-root + org.activiti + 7.0.0-SNAPSHOT + + activiti-connector-model + Activiti :: Connector model + \ No newline at end of file diff --git a/activiti-connector-model/src/main/java/org/activiti/model/connector/ActionDefinition.java b/activiti-connector-model/src/main/java/org/activiti/model/connector/ActionDefinition.java new file mode 100644 index 0000000000..d2cdb1b799 --- /dev/null +++ b/activiti-connector-model/src/main/java/org/activiti/model/connector/ActionDefinition.java @@ -0,0 +1,56 @@ +package org.activiti.model.connector; + +import java.util.List; + +public class ActionDefinition { + + private String id; + + private String name; + + private String description; + + private List input; + + private List output; + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public List getInput() { + return input; + } + + public List getOutput() { + return output; + } + + public void setId(String id) { + this.id = id; + } + + public void setName(String name) { + this.name = name; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setInput(List input) { + this.input = input; + } + + public void setOutput(List output) { + this.output = output; + } +} diff --git a/activiti-connector-model/src/main/java/org/activiti/model/connector/ConnectorDefinition.java b/activiti-connector-model/src/main/java/org/activiti/model/connector/ConnectorDefinition.java new file mode 100644 index 0000000000..b6cb7c8f8a --- /dev/null +++ b/activiti-connector-model/src/main/java/org/activiti/model/connector/ConnectorDefinition.java @@ -0,0 +1,56 @@ +package org.activiti.model.connector; + +import java.util.Map; + +public class ConnectorDefinition { + + private String id; + + private String name; + + private String description; + + private String icon; + + private Map actions; + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public String getIcon() { + return icon; + } + + public Map getActions() { + return actions; + } + + public void setId(String id) { + this.id = id; + } + + public void setName(String name) { + this.name = name; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public void setActions(Map actions) { + this.actions = actions; + } +} diff --git a/activiti-connector-model/src/main/java/org/activiti/model/connector/VariableDefinition.java b/activiti-connector-model/src/main/java/org/activiti/model/connector/VariableDefinition.java new file mode 100644 index 0000000000..336885c44a --- /dev/null +++ b/activiti-connector-model/src/main/java/org/activiti/model/connector/VariableDefinition.java @@ -0,0 +1,54 @@ +package org.activiti.model.connector; + +public class VariableDefinition { + + private String id; + + private String name; + + private String description; + + private String type; + + private boolean required; + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public String getType() { + return type; + } + + public boolean isRequired() { + return required; + } + + public void setId(String id) { + this.id = id; + } + + public void setName(String name) { + this.name = name; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setType(String type) { + this.type = type; + } + + public void setRequired(boolean required) { + this.required = required; + } +} diff --git a/activiti-spring-connector/pom.xml b/activiti-spring-connector/pom.xml new file mode 100644 index 0000000000..28b4faebea --- /dev/null +++ b/activiti-spring-connector/pom.xml @@ -0,0 +1,45 @@ + + + + activiti-root + org.activiti + 7.0.0-SNAPSHOT + + 4.0.0 + + activiti-spring-connector + + + + org.activiti + activiti-connector-model + ${version} + + + org.springframework + spring-beans + + + org.springframework + spring-context + + + com.fasterxml.jackson.core + jackson-databind + + + + + junit + junit + test + + + org.springframework.boot + spring-boot-starter-test + test + + + \ No newline at end of file diff --git a/activiti-spring-connector/src/main/java/org/activiti/spring/connector/ConnectorService.java b/activiti-spring-connector/src/main/java/org/activiti/spring/connector/ConnectorService.java new file mode 100644 index 0000000000..1ec4e98241 --- /dev/null +++ b/activiti-spring-connector/src/main/java/org/activiti/spring/connector/ConnectorService.java @@ -0,0 +1,77 @@ +/* + * Copyright 2018 Alfresco, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.activiti.spring.connector; + +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.activiti.model.connector.ConnectorDefinition; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.stereotype.Service; + +@Service +public class ConnectorService { + + @Value("${activiti.connectors.dir:connectors}") + private String connectorRoot; + + private final ObjectMapper objectMapper = new ObjectMapper(); + + private Optional retrieveFiles() throws IOException { + + Optional connectorFiles = Optional.empty(); + + Resource connectorRootPath = new ClassPathResource(connectorRoot); + if (connectorRootPath.exists()) { + connectorFiles = Optional.ofNullable(connectorRootPath.getFile().listFiles(new FilenameFilter() { + + @Override + public boolean accept(File dir, + String name) { + return (name.toLowerCase().endsWith(".json")); + } + }) + ); + } + return connectorFiles; + } + + private ConnectorDefinition read(File file) throws IOException { + return objectMapper.readValue(file, + ConnectorDefinition.class); + } + + public List get() throws IOException { + + List connectorDefinitions = new ArrayList<>(); + Optional files = retrieveFiles(); + if (files.isPresent()) { + for (File file : files.get()) { + connectorDefinitions.add(read(file)); + } + } + return connectorDefinitions; + } +} + diff --git a/activiti-spring-connector/src/main/java/org/activiti/spring/connector/autoconfigure/ConnectorAutoConfiguration.java b/activiti-spring-connector/src/main/java/org/activiti/spring/connector/autoconfigure/ConnectorAutoConfiguration.java new file mode 100644 index 0000000000..0277b33b18 --- /dev/null +++ b/activiti-spring-connector/src/main/java/org/activiti/spring/connector/autoconfigure/ConnectorAutoConfiguration.java @@ -0,0 +1,26 @@ +/* + * Copyright 2018 Alfresco, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.activiti.spring.connector.autoconfigure; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan(basePackages = "org.activiti.spring.connector") +public class ConnectorAutoConfiguration { + +} diff --git a/activiti-spring-connector/src/main/resources/META-INF/spring.factories b/activiti-spring-connector/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..db0ce04b0c --- /dev/null +++ b/activiti-spring-connector/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.activiti.spring.connector.autoconfigure.ConnectorAutoConfiguration \ No newline at end of file diff --git a/activiti-spring-connector/src/test/java/org/activiti/spring/connector/ConnectorDefinitionServiceIT.java b/activiti-spring-connector/src/test/java/org/activiti/spring/connector/ConnectorDefinitionServiceIT.java new file mode 100644 index 0000000000..a4c65ba8ef --- /dev/null +++ b/activiti-spring-connector/src/test/java/org/activiti/spring/connector/ConnectorDefinitionServiceIT.java @@ -0,0 +1,53 @@ +/* + * Copyright 2018 Alfresco, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.activiti.spring.connector; + +import java.io.IOException; +import java.util.List; + +import org.activiti.model.connector.ConnectorDefinition; +import org.activiti.spring.connector.autoconfigure.ConnectorAutoConfiguration; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.assertj.core.api.Assertions.*; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = ConnectorAutoConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) +@TestPropertySource(locations = "classpath:application-single-test.properties") +public class ConnectorDefinitionServiceIT { + + @Autowired + private ConnectorService connectorService; + + @Test + public void connector() throws IOException { + + List connectorDefinitions = connectorService.get(); + assertThat(connectorDefinitions).hasSize(1); + assertThat(connectorDefinitions.get(0).getId()).isEqualTo("connector-uuid"); + assertThat(connectorDefinitions.get(0).getName()).isEqualTo("Name-of-the-connector"); + assertThat(connectorDefinitions.get(0).getActions().size()).isEqualTo(2); + assertThat(connectorDefinitions.get(0).getActions().get("actionId1").getName()).isEqualTo("actionName1"); + assertThat(connectorDefinitions.get(0).getActions().get("actionId1").getInput().get(0).getName()).isEqualTo("input-variable-name-1"); + assertThat(connectorDefinitions.get(0).getActions().get("actionId1").getOutput().get(0).getName()).isEqualTo("output-variable-name-1"); + } +} diff --git a/activiti-spring-connector/src/test/java/org/activiti/spring/connector/EmptyConnectorDefinitionServiceIT.java b/activiti-spring-connector/src/test/java/org/activiti/spring/connector/EmptyConnectorDefinitionServiceIT.java new file mode 100644 index 0000000000..76c0b1b240 --- /dev/null +++ b/activiti-spring-connector/src/test/java/org/activiti/spring/connector/EmptyConnectorDefinitionServiceIT.java @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Alfresco, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.activiti.spring.connector; + +import java.io.IOException; +import java.util.List; + +import org.activiti.model.connector.ConnectorDefinition; +import org.activiti.spring.connector.autoconfigure.ConnectorAutoConfiguration; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.assertj.core.api.Assertions.*; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = ConnectorAutoConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) +@TestPropertySource(locations = "classpath:application-empty-test.properties") +public class EmptyConnectorDefinitionServiceIT { + + @Autowired + private ConnectorService connectorService; + + @Test + public void emptyConnectors() throws IOException { + + List connectorDefinitions = connectorService.get(); + + assertThat(connectorDefinitions).isEmpty(); + } +} diff --git a/activiti-spring-connector/src/test/java/org/activiti/spring/connector/MultipleConnectorDefinitionServiceIT.java b/activiti-spring-connector/src/test/java/org/activiti/spring/connector/MultipleConnectorDefinitionServiceIT.java new file mode 100644 index 0000000000..5d77fcdfa7 --- /dev/null +++ b/activiti-spring-connector/src/test/java/org/activiti/spring/connector/MultipleConnectorDefinitionServiceIT.java @@ -0,0 +1,50 @@ +/* + * Copyright 2018 Alfresco, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.activiti.spring.connector; + +import java.io.IOException; +import java.util.List; + +import org.activiti.model.connector.ConnectorDefinition; +import org.activiti.spring.connector.autoconfigure.ConnectorAutoConfiguration; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.assertj.core.api.Assertions.*; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = ConnectorAutoConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) +@TestPropertySource(locations = "classpath:application-multiple-test.properties") +public class MultipleConnectorDefinitionServiceIT { + + @Autowired + private ConnectorService connectorService; + + /** + * Three files have json extensions, one does not. + **/ + @Test + public void connectors() throws IOException { + + List connectorDefinitions = connectorService.get(); + assertThat(connectorDefinitions).hasSize(3); + } +} diff --git a/activiti-spring-connector/src/test/resources/application-empty-test.properties b/activiti-spring-connector/src/test/resources/application-empty-test.properties new file mode 100644 index 0000000000..8a34302d0c --- /dev/null +++ b/activiti-spring-connector/src/test/resources/application-empty-test.properties @@ -0,0 +1 @@ +activiti.connectors.dir=empty_connector \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/application-multiple-test.properties b/activiti-spring-connector/src/test/resources/application-multiple-test.properties new file mode 100644 index 0000000000..ee2e19d193 --- /dev/null +++ b/activiti-spring-connector/src/test/resources/application-multiple-test.properties @@ -0,0 +1 @@ +activiti.connectors.dir=multiple_connectors \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/application-single-test.properties b/activiti-spring-connector/src/test/resources/application-single-test.properties new file mode 100644 index 0000000000..6b40556bc4 --- /dev/null +++ b/activiti-spring-connector/src/test/resources/application-single-test.properties @@ -0,0 +1 @@ +activiti.connectors.dir=connectors \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/connectors/connector.json b/activiti-spring-connector/src/test/resources/connectors/connector.json new file mode 100644 index 0000000000..4b94308ca2 --- /dev/null +++ b/activiti-spring-connector/src/test/resources/connectors/connector.json @@ -0,0 +1,44 @@ +{ + "id": "connector-uuid", + "name": "Name-of-the-connector", + "description": "Description of the connector", + "icon": "path to icon", + "actions": { + "actionId1": { + "id": "actionId1", + "name": "actionName1", + "description": "description", + "input": [ + { + "id": "input-variable-1", + "name": "input-variable-name-1", + "type": "string", + "required": false, + "description": "description" + }, + { + "id": "input-variable-2", + "name": "input-variable-name-2", + "type": "boolean", + "required": false, + "description": "" + } + ], + "output": [ + { + "id": "output-variable-1", + "name": "output-variable-name-1", + "type": "string", + "description": "" + }, + { + "id": "output-variable-2", + "name": "output-variable-name-2", + "type": "string", + "description": "" + } + ] + }, + "actionName2": {} + } +} \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/multiple_connectors/connector.json b/activiti-spring-connector/src/test/resources/multiple_connectors/connector.json new file mode 100644 index 0000000000..83afc50858 --- /dev/null +++ b/activiti-spring-connector/src/test/resources/multiple_connectors/connector.json @@ -0,0 +1,44 @@ +{ + "id": "connector-uuid", + "name": "Name-of-the-connector", + "description": "Description of the connector", + "icon": "path to icon", + "actions": { + "actionId1": { + "id": "actionId1", + "name": "actionName1", + "description": "description", + "input": [ + { + "id": "input-variable-1", + "name": "input-variable-name-1", + "type": "string", + "required": false, + "description": "description" + }, + { + "id": "input-variable-2", + "name": "input-variable-name-2", + "type": "boolean", + "required": false, + "description": "" + } + ], + "output": [ + { + "id": "output-variable-1", + "name": "output-variable-name-1", + "type": "string", + "description": "" + }, + { + "id": "output-variable-2", + "name": "output-variable-name-2", + "type": "string", + "description": "" + } + ] + }, + "actionName2": {} + } +} \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/multiple_connectors/connector2.json b/activiti-spring-connector/src/test/resources/multiple_connectors/connector2.json new file mode 100644 index 0000000000..e6e107f24f --- /dev/null +++ b/activiti-spring-connector/src/test/resources/multiple_connectors/connector2.json @@ -0,0 +1,44 @@ +{ + "id": "connector-uuid-2", + "name": "Name-of-the-connector-2", + "description": "Description of the connector", + "icon": "path to icon", + "actions": { + "actionId1": { + "id": "actionId1", + "name": "actionName1", + "description": "description", + "input": [ + { + "id": "input-variable-1", + "name": "input-variable-name-1", + "type": "string", + "required": false, + "description": "description" + }, + { + "id": "input-variable-2", + "name": "input-variable-name-2", + "type": "boolean", + "required": false, + "description": "" + } + ], + "output": [ + { + "id": "output-variable-1", + "name": "output-variable-name-1", + "type": "string", + "description": "" + }, + { + "id": "output-variable-2", + "name": "output-variable-name-2", + "type": "string", + "description": "" + } + ] + }, + "actionName2": {} + } +} \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/multiple_connectors/connector3.json b/activiti-spring-connector/src/test/resources/multiple_connectors/connector3.json new file mode 100644 index 0000000000..f0a90e4545 --- /dev/null +++ b/activiti-spring-connector/src/test/resources/multiple_connectors/connector3.json @@ -0,0 +1,44 @@ +{ + "id": "connector-uuid-3", + "name": "Name-of-the-connector-3", + "description": "Description of the connector", + "icon": "path to icon", + "actions": { + "actionId1": { + "id": "actionId1", + "name": "actionName1", + "description": "description", + "input": [ + { + "id": "input-variable-1", + "name": "input-variable-name-1", + "type": "string", + "required": false, + "description": "description" + }, + { + "id": "input-variable-2", + "name": "input-variable-name-2", + "type": "boolean", + "required": false, + "description": "" + } + ], + "output": [ + { + "id": "output-variable-1", + "name": "output-variable-name-1", + "type": "string", + "description": "" + }, + { + "id": "output-variable-2", + "name": "output-variable-name-2", + "type": "string", + "description": "" + } + ] + }, + "actionName2": {} + } +} \ No newline at end of file diff --git a/activiti-spring-connector/src/test/resources/multiple_connectors/connector_wrong.txt b/activiti-spring-connector/src/test/resources/multiple_connectors/connector_wrong.txt new file mode 100644 index 0000000000..1696b6bf2f --- /dev/null +++ b/activiti-spring-connector/src/test/resources/multiple_connectors/connector_wrong.txt @@ -0,0 +1 @@ +connector wrong file extension \ No newline at end of file diff --git a/pom.xml b/pom.xml index 545f0cbf0c..0b66170597 100644 --- a/pom.xml +++ b/pom.xml @@ -328,6 +328,8 @@ activiti-spring-security activiti-spring-security-policies activiti-spring-boot-starter + activiti-spring-connector + activiti-connector-model -- GitLab