This is an automated email from the ASF dual-hosted git repository.
zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 527dab68d9 feat(plc4x-s7): support inline // comments in PLC4X S7
advanced configuration (#4142)
527dab68d9 is described below
commit 527dab68d936dff5c3c255bc7523bcc42981b5e5
Author: alisha-1000 <[email protected]>
AuthorDate: Wed Feb 4 12:47:23 2026 +0530
feat(plc4x-s7): support inline // comments in PLC4X S7 advanced
configuration (#4142)
Co-authored-by: Alisha Gupta <[email protected]>
---
.../plc/adapter/s7/config/ConfigurationParser.java | 15 +++++++++++----
.../plc/adapter/s7/config/ConfigurationParserTest.java | 15 ++++++++++++++-
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git
a/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
index 2325714936..7b56d5cba5 100644
---
a/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/main/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParser.java
@@ -49,21 +49,28 @@ public class ConfigurationParser {
// Remove leading and trailing whitespace
line = line.trim();
- // Skip comments
- if (line.startsWith("//")) {
+ // Skip empty lines and full-line comments
+ if (line.isEmpty() || line.startsWith("//")) {
continue;
}
- // Check if macher matches and add to results list
+ // Strip inline comments
+ int commentIndex = line.indexOf("//");
+ if (commentIndex >= 0) {
+ line = line.substring(0, commentIndex).trim();
+ }
+
+ // Check if matcher matches and add to results list
var matcher = pattern.matcher(line);
if (matcher.find()) {
result.put(matcher.group(1), matcher.group(2));
}
}
-
return result;
}
+
+
/**
* Transforms PLC4X data types to datatypes supported in StreamPipes
diff --git
a/streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
b/streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
index 0fe0cc4f12..a7b8a2e6cf 100644
---
a/streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
+++
b/streampipes-extensions/streampipes-connectors-plc/src/test/java/org/apache/streampipes/extensions/connectors/plc/adapter/s7/config/ConfigurationParserTest.java
@@ -68,7 +68,7 @@ public class ConfigurationParserTest {
assertEquals("%I0.2:STRING(10)", result.get("v3"));
assertEquals("%I0.3:STRING(10)[100]", result.get("v4"));
}
-
+
@Test
public void getNodeInformationFromCodeProperty_NoEntries() {
var configBlock = "";
@@ -76,6 +76,19 @@ public class ConfigurationParserTest {
assertEquals(0, result.size());
}
+
+ @Test
+ public void getNodeInformationFromCodeProperty_InlineComment() {
+ var configBlock = """
+ temperature=%DB1281:0:REAL // inline comment
+ """;
+
+ var result = new
ConfigurationParser().getNodeInformationFromCodeProperty(configBlock);
+
+ assertEquals(1, result.size());
+ assertEquals(Set.of("temperature"), result.keySet());
+ assertEquals("%DB1281:0:REAL", result.get("temperature"));
+ }
@Test
public void getStreamPipesDataType_Array() throws AdapterException {