This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch 1980-arrays-are-not-supported-for-s7-plcs
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to
refs/heads/1980-arrays-are-not-supported-for-s7-plcs by this push:
new 0dabf034e Add migration, move S7 and modbus adapter to connectors-plc
module
0dabf034e is described below
commit 0dabf034edfad789d9a361db23eeffe14324839f
Author: Dominik Riemer <[email protected]>
AuthorDate: Thu Nov 2 10:56:29 2023 +0100
Add migration, move S7 and modbus adapter to connectors-plc module
---
streampipes-extensions/pom.xml | 1 +
.../streampipes-connect-adapters-iiot/pom.xml | 29 ++-----
.../connect/iiot/ConnectAdapterIiotInit.java | 10 ++-
.../streampipes-connectors-plc/pom.xml | 81 +++++++++++++++++++
.../migration/Plc4xS7AdapterMigrationV1.java | 87 +++++++++++++++++++++
.../plc/adapter}/modbus/ModbusConfigFile.java | 4 +-
.../plc/adapter}/modbus/Plc4xModbusAdapter.java | 2 +-
.../connectors/plc/adapter}/s7/Plc4xS7Adapter.java | 18 ++---
.../plc/adapter}/s7/PlcReadResponseHandler.java | 2 +-
.../adapter}/s7/config/ConfigurationParser.java | 2 +-
.../documentation.md | 0
.../icon.png | Bin
.../strings.en | 0
.../documentation.md | 0
.../icon.png | Bin
.../strings.en | 0
.../s7/config/ConfigurationParserTest.java | 8 +-
.../apache/streampipes/sdk/StaticProperties.java | 18 +++++
...AbstractConfigurablePipelineElementBuilder.java | 8 +-
19 files changed, 218 insertions(+), 52 deletions(-)
diff --git a/streampipes-extensions/pom.xml b/streampipes-extensions/pom.xml
index b14c2471b..0e89e64f6 100644
--- a/streampipes-extensions/pom.xml
+++ b/streampipes-extensions/pom.xml
@@ -63,6 +63,7 @@
<module>streampipes-sinks-databases-jvm</module>
<module>streampipes-sinks-internal-jvm</module>
<module>streampipes-sinks-notifications-jvm</module>
+ <module>streampipes-connectors-plc</module>
</modules>
<properties>
diff --git a/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
b/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
index 39d51cf86..8d5bff637 100644
--- a/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
+++ b/streampipes-extensions/streampipes-connect-adapters-iiot/pom.xml
@@ -59,6 +59,11 @@
<artifactId>streampipes-connectors-opcua</artifactId>
<version>0.93.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-connectors-plc</artifactId>
+ <version>0.93.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.streampipes</groupId>
<artifactId>streampipes-connectors-rocketmq</artifactId>
@@ -138,30 +143,6 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-connection-pool</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-s7</artifactId>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.woodstox</groupId>
- <artifactId>woodstox-core</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-modbus</artifactId>
- <scope>runtime</scope>
- </dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/ConnectAdapterIiotInit.java
b/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/ConnectAdapterIiotInit.java
index fa651ea92..1bd0f382a 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/ConnectAdapterIiotInit.java
+++
b/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/ConnectAdapterIiotInit.java
@@ -19,8 +19,9 @@
package org.apache.streampipes.connect.iiot;
import org.apache.streampipes.connect.iiot.adapters.iolink.IfmAlMqttAdapter;
-import
org.apache.streampipes.connect.iiot.adapters.plc4x.modbus.Plc4xModbusAdapter;
-import org.apache.streampipes.connect.iiot.adapters.plc4x.s7.Plc4xS7Adapter;
+import
org.apache.streampipes.extensions.connectors.plc.adapter.migration.Plc4xS7AdapterMigrationV1;
+import
org.apache.streampipes.extensions.connectors.plc.adapter.modbus.Plc4xModbusAdapter;
+import
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter;
import org.apache.streampipes.connect.iiot.adapters.ros.RosBridgeAdapter;
import
org.apache.streampipes.connect.iiot.adapters.simulator.machine.MachineDataSimulatorAdapter;
import org.apache.streampipes.connect.iiot.protocol.stream.FileReplayAdapter;
@@ -65,7 +66,10 @@ public class ConnectAdapterIiotInit extends
ExtensionsModelSubmitter {
.registerAdapter(new HttpServerProtocol())
.registerAdapter(new TubeMQProtocol())
- .registerMigrators(new OpcUaAdapterMigrationV1())
+ .registerMigrators(
+ new OpcUaAdapterMigrationV1(),
+ new Plc4xS7AdapterMigrationV1()
+ )
.build();
}
}
diff --git a/streampipes-extensions/streampipes-connectors-plc/pom.xml
b/streampipes-extensions/streampipes-connectors-plc/pom.xml
new file mode 100644
index 000000000..e41573b06
--- /dev/null
+++ b/streampipes-extensions/streampipes-connectors-plc/pom.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You 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.
+ ~
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-extensions</artifactId>
+ <version>0.93.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>streampipes-connectors-plc</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-extensions-api</artifactId>
+ <version>0.93.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-extensions-management</artifactId>
+ <version>0.93.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-sdk</artifactId>
+ <version>0.93.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-connection-pool</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-driver-s7</artifactId>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>com.fasterxml.woodstox</groupId>
+ <artifactId>woodstox-core</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-driver-modbus</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git
a/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/migration/Plc4xS7AdapterMigrationV1.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/migration/Plc4xS7AdapterMigrationV1.java
new file mode 100644
index 000000000..c88d3f9a5
--- /dev/null
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/migration/Plc4xS7AdapterMigrationV1.java
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.streampipes.extensions.connectors.plc.adapter.migration;
+
+import
org.apache.streampipes.extensions.api.extractor.IStaticPropertyExtractor;
+import org.apache.streampipes.extensions.api.migration.IAdapterMigrator;
+import org.apache.streampipes.model.connect.adapter.AdapterDescription;
+import org.apache.streampipes.model.extensions.svcdiscovery.SpServiceTagPrefix;
+import org.apache.streampipes.model.migration.MigrationResult;
+import org.apache.streampipes.model.migration.ModelMigratorConfig;
+import org.apache.streampipes.model.staticproperty.CollectionStaticProperty;
+import org.apache.streampipes.model.staticproperty.StaticProperty;
+import org.apache.streampipes.sdk.StaticProperties;
+import org.apache.streampipes.sdk.helpers.Alternatives;
+import org.apache.streampipes.sdk.helpers.CodeLanguage;
+import org.apache.streampipes.sdk.helpers.Labels;
+
+import java.util.List;
+
+import static
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter.CODE_TEMPLATE;
+import static
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter.PLC_CODE_BLOCK;
+import static
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter.PLC_NODES;
+import static
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter.PLC_NODE_INPUT_ALTERNATIVES;
+import static
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter.PLC_NODE_INPUT_CODE_BLOCK_ALTIVE;
+import static
org.apache.streampipes.extensions.connectors.plc.adapter.s7.Plc4xS7Adapter.PLC_NODE_INPUT_COLLECTION_ALTERNATIVE;
+
+public class Plc4xS7AdapterMigrationV1 implements IAdapterMigrator {
+ @Override
+ public ModelMigratorConfig config() {
+ return new ModelMigratorConfig(
+ "org.apache.streampipes.connect.iiot.adapters.plc4x.s7",
+ SpServiceTagPrefix.ADAPTER,
+ 0,
+ 1
+ );
+ }
+
+ @Override
+ public MigrationResult<AdapterDescription> migrate(AdapterDescription
element,
+ IStaticPropertyExtractor
extractor) throws RuntimeException {
+ var newConfigs = new
java.util.ArrayList<>(element.getConfig().stream().map(config -> {
+ if (isCollectionConfig(config)) {
+ return modifyCollection((CollectionStaticProperty) config);
+ } else {
+ return config;
+ }
+ }).toList());
+
+ newConfigs.removeIf(c -> c.getInternalName().equals(PLC_NODES));
+ element.setConfig(newConfigs);
+
+ return MigrationResult.success(element);
+ }
+
+ private StaticProperty modifyCollection(CollectionStaticProperty
collectionConfig) {
+
+ var alternatives = List.of(
+ Alternatives.from(Labels.withId(PLC_NODE_INPUT_COLLECTION_ALTERNATIVE),
+ collectionConfig,
+ true),
+ Alternatives.from(Labels.withId(PLC_NODE_INPUT_CODE_BLOCK_ALTIVE),
+ StaticProperties.codeStaticProperty(Labels.withId(PLC_CODE_BLOCK),
CodeLanguage.None, CODE_TEMPLATE))
+ );
+
+ return
StaticProperties.alternatives(Labels.withId(PLC_NODE_INPUT_ALTERNATIVES),
alternatives);
+ }
+
+ private boolean isCollectionConfig(StaticProperty config) {
+ return config.getInternalName().equals(PLC_NODES);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/modbus/ModbusConfigFile.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/modbus/ModbusConfigFile.java
similarity index 95%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/modbus/ModbusConfigFile.java
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/modbus/ModbusConfigFile.java
index fbda391ec..f6e396112 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/modbus/ModbusConfigFile.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/modbus/ModbusConfigFile.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.connect.iiot.adapters.plc4x.modbus;
+package org.apache.streampipes.extensions.connectors.plc.adapter.modbus;
public class ModbusConfigFile {
@@ -58,4 +58,4 @@ public class ModbusConfigFile {
public void setLogicalAddress(String logicalAddress) {
this.logicalAddress = logicalAddress;
}
-}
\ No newline at end of file
+}
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/modbus/Plc4xModbusAdapter.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/modbus/Plc4xModbusAdapter.java
similarity index 99%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/modbus/Plc4xModbusAdapter.java
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/modbus/Plc4xModbusAdapter.java
index c755901d5..6938ead54 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/modbus/Plc4xModbusAdapter.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/modbus/Plc4xModbusAdapter.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.connect.iiot.adapters.plc4x.modbus;
+package org.apache.streampipes.extensions.connectors.plc.adapter.modbus;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/Plc4xS7Adapter.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/Plc4xS7Adapter.java
similarity index 95%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/Plc4xS7Adapter.java
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/Plc4xS7Adapter.java
index 4122f2ccd..103e428cb 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/Plc4xS7Adapter.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/Plc4xS7Adapter.java
@@ -16,11 +16,11 @@
*
*/
-package org.apache.streampipes.connect.iiot.adapters.plc4x.s7;
+package org.apache.streampipes.extensions.connectors.plc.adapter.s7;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
-import
org.apache.streampipes.connect.iiot.adapters.plc4x.s7.config.ConfigurationParser;
+import
org.apache.streampipes.extensions.connectors.plc.adapter.s7.config.ConfigurationParser;
import org.apache.streampipes.extensions.api.connect.IAdapterConfiguration;
import org.apache.streampipes.extensions.api.connect.IEventCollector;
import org.apache.streampipes.extensions.api.connect.IPullAdapter;
@@ -82,17 +82,17 @@ public class Plc4xS7Adapter implements StreamPipesAdapter,
IPullAdapter, PlcRead
*/
private static final String PLC_IP = "plc_ip";
private static final String PLC_POLLING_INTERVAL = "plc_polling_interval";
- private static final String PLC_NODES = "plc_nodes";
+ public static final String PLC_NODES = "plc_nodes";
private static final String PLC_NODE_NAME = "plc_node_name";
private static final String PLC_NODE_RUNTIME_NAME = "plc_node_runtime_name";
private static final String PLC_NODE_TYPE = "plc_node_type";
- private static final String PLC_NODE_INPUT_CODE_BLOCK_ALTIVE =
"plc_node_input_code_block_altive";
- private static final String PLC_CODE_BLOCK = "plc_code_block";
- private static final String PLC_NODE_INPUT_ALTERNATIVES =
"plc_node_input_alternatives";
- private static final String PLC_NODE_INPUT_COLLECTION_ALTERNATIVE =
"plc_node_input_collection_alternative";
+ public static final String PLC_NODE_INPUT_CODE_BLOCK_ALTIVE =
"plc_node_input_code_block_altive";
+ public static final String PLC_CODE_BLOCK = "plc_code_block";
+ public static final String PLC_NODE_INPUT_ALTERNATIVES =
"plc_node_input_alternatives";
+ public static final String PLC_NODE_INPUT_COLLECTION_ALTERNATIVE =
"plc_node_input_collection_alternative";
- private static final String CODE_TEMPLATE = """
+ public static final String CODE_TEMPLATE = """
// This code block can be used to manually specify the addresses of the
PLC registers.
// The syntax is based on the PLC4X syntax, see [1].
// Address Pattern:
@@ -262,7 +262,7 @@ public class Plc4xS7Adapter implements StreamPipesAdapter,
IPullAdapter, PlcRead
*/
@Override
public IAdapterConfiguration declareConfig() {
- return AdapterConfigurationBuilder.create(ID, Plc4xS7Adapter::new)
+ return AdapterConfigurationBuilder.create(ID, 1, Plc4xS7Adapter::new)
.withLocales(Locales.EN)
.withAssets(Assets.DOCUMENTATION, Assets.ICON)
.withCategory(AdapterType.Manufacturing)
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/PlcReadResponseHandler.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/PlcReadResponseHandler.java
similarity index 93%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/PlcReadResponseHandler.java
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/PlcReadResponseHandler.java
index b9b8f1bfc..2a4a44c76 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/PlcReadResponseHandler.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/PlcReadResponseHandler.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.connect.iiot.adapters.plc4x.s7;
+package org.apache.streampipes.extensions.connectors.plc.adapter.s7;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/config/ConfigurationParser.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
similarity index 97%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/config/ConfigurationParser.java
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
index 7b73a372b..f45b4dbc4 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/config/ConfigurationParser.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.connect.iiot.adapters.plc4x.s7.config;
+package org.apache.streampipes.extensions.connectors.plc.adapter.s7.config;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
import org.apache.streampipes.sdk.utils.Datatypes;
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/documentation.md
b/streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/documentation.md
similarity index 100%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/documentation.md
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/documentation.md
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/icon.png
b/streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/icon.png
similarity index 100%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/icon.png
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/icon.png
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/strings.en
b/streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/strings.en
similarity index 100%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/strings.en
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus/strings.en
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/documentation.md
b/streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/documentation.md
similarity index 100%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/documentation.md
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/documentation.md
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/icon.png
b/streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/icon.png
similarity index 100%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/icon.png
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/icon.png
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/strings.en
b/streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/strings.en
similarity index 100%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/strings.en
rename to
streampipes-extensions/streampipes-connectors-plc/src/main/resources/org.apache.streampipes.connect.iiot.adapters.plc4x.s7/strings.en
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/test/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/config/ConfigurationParserTest.java
b/streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
similarity index 94%
rename from
streampipes-extensions/streampipes-connect-adapters-iiot/src/test/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/config/ConfigurationParserTest.java
rename to
streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
index e780f7bcb..20a31073e 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/test/java/org/apache/streampipes/connect/iiot/adapters/plc4x/s7/config/ConfigurationParserTest.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.connect.iiot.adapters.plc4x.s7.config;
+package org.apache.streampipes.extensions.connectors.plc.adapter.s7.config;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
import org.apache.streampipes.sdk.utils.Datatypes;
@@ -26,8 +26,8 @@ import org.junit.Test;
import java.util.Set;
import static org.junit.Assert.assertEquals;
-import static org.wildfly.common.Assert.assertFalse;
-import static org.wildfly.common.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
public class ConfigurationParserTest {
@@ -103,4 +103,4 @@ public class ConfigurationParserTest {
var result = new ConfigurationParser().isPLCArray("%DB3.DB0:BOOL");
assertFalse(result);
}
-}
\ No newline at end of file
+}
diff --git
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
index d8feddafa..bd9c595cf 100644
---
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
+++
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/StaticProperties.java
@@ -33,6 +33,7 @@ import
org.apache.streampipes.model.staticproperty.RuntimeResolvableTreeInputSta
import org.apache.streampipes.model.staticproperty.SecretStaticProperty;
import org.apache.streampipes.model.staticproperty.SelectionStaticProperty;
import org.apache.streampipes.model.staticproperty.StaticProperty;
+import org.apache.streampipes.model.staticproperty.StaticPropertyAlternative;
import org.apache.streampipes.model.staticproperty.StaticPropertyAlternatives;
import org.apache.streampipes.model.staticproperty.StaticPropertyGroup;
import org.apache.streampipes.model.staticproperty.SupportedProperty;
@@ -49,6 +50,23 @@ import java.util.List;
public class StaticProperties {
+ public static StaticPropertyAlternatives alternatives(Label label,
StaticPropertyAlternative... alternatives) {
+ return alternatives(label, Arrays.asList(alternatives));
+ }
+
+ public static StaticPropertyAlternatives alternatives(Label label,
List<StaticPropertyAlternative> alternatives) {
+ StaticPropertyAlternatives alternativesContainer =
+ new StaticPropertyAlternatives(label.getInternalId(),
label.getLabel(), label.getDescription());
+
+ for (int i = 0; i < alternatives.size(); i++) {
+ alternatives.get(i).setIndex(i);
+ }
+
+ alternativesContainer.setAlternatives(alternatives);
+
+ return alternativesContainer;
+ }
+
public static MappingPropertyUnary mappingPropertyUnary(Label label,
RequirementsSelector requirementsSelector,
PropertyScope
propertyScope) {
MappingPropertyUnary mp = new MappingPropertyUnary(label.getInternalId(),
label
diff --git
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/AbstractConfigurablePipelineElementBuilder.java
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/AbstractConfigurablePipelineElementBuilder.java
index 64d7a05ae..f0979282f 100644
---
a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/AbstractConfigurablePipelineElementBuilder.java
+++
b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/AbstractConfigurablePipelineElementBuilder.java
@@ -977,13 +977,7 @@ public abstract class
AbstractConfigurablePipelineElementBuilder<K extends
public K requiredAlternatives(Label label, StaticPropertyAlternative...
alternatives) {
StaticPropertyAlternatives alternativesContainer =
- new StaticPropertyAlternatives(label.getInternalId(),
label.getLabel(), label.getDescription());
-
- for (int i = 0; i < alternatives.length; i++) {
- alternatives[i].setIndex(i);
- }
-
- alternativesContainer.setAlternatives(Arrays.asList(alternatives));
+ StaticProperties.alternatives(label, alternatives);
this.staticProperties.add(alternativesContainer);
return me();