You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/02/25 22:37:27 UTC

[plc4x] 02/04: - Made it possible to override the await-setup-complete setting by System proptery

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/driver-testsuite
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit db05160c5c41a8c32dcb3740973c6bdb523fe79d
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Tue Feb 25 23:33:26 2020 +0100

    - Made it possible to override the await-setup-complete setting by System proptery
---
 .../apache/plc4x/java/spi/connection/GeneratedDriverBase.java  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
index 5ecae14..81f950c 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
@@ -37,6 +37,8 @@ import java.util.regex.Pattern;
 
 public abstract class GeneratedDriverBase<BASE_PACKET extends Message> implements PlcDriver {
 
+    public static final String PROPERTY_PLC4X_FORCE_AWAIT_SETUP_COMPLETE = "PLC4X_FORCE_AWAIT_SETUP_COMPLETE";
+
     private static final Pattern URI_PATTERN = Pattern.compile(
         "^(?<protocolCode>[a-z0-9\\-]*)(:(?<transportCode>[a-z0-9]*))?://(?<transportConfig>[^?]*)(\\?(?<paramString>.*))?");
 
@@ -126,12 +128,18 @@ public abstract class GeneratedDriverBase<BASE_PACKET extends Message> implement
         // Give drivers the option to customize the channel.
         initializePipeline(channelFactory);
 
+        // Make the "await setup complete" overridable via system property.
+        boolean awaitSetupComplete = awaitSetupComplete();
+        if(System.getProperty(PROPERTY_PLC4X_FORCE_AWAIT_SETUP_COMPLETE) != null) {
+            awaitSetupComplete = Boolean.parseBoolean(System.getProperty(PROPERTY_PLC4X_FORCE_AWAIT_SETUP_COMPLETE));
+        }
+
         return new DefaultNettyPlcConnection(
             canRead(), canWrite(), canSubscribe(),
             getFieldHandler(),
             configuration,
             channelFactory,
-            awaitSetupComplete(),
+            awaitSetupComplete,
             getStackConfigurer(),
             getOptimizer());
     }