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();

Reply via email to