You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2018/01/11 11:16:34 UTC

[incubator-plc4x] branch refactoring/java_generify updated: deprecated BulkPlc*

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

sruehl pushed a commit to branch refactoring/java_generify
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/refactoring/java_generify by this push:
     new a643675  deprecated BulkPlc*
a643675 is described below

commit a643675efefb8c0c29195a7c419e7b6ae601902e
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jan 11 12:16:29 2018 +0100

    deprecated BulkPlc*
---
 .../plc4x/java/api/messages/PlcReadRequest.java    | 39 ++++++++++++++++++----
 .../plc4x/java/api/messages/PlcReadResponse.java   | 29 +++++++++++-----
 .../plc4x/java/api/messages/PlcWriteRequest.java   | 34 +++++++++++++++----
 .../plc4x/java/api/messages/PlcWriteResponse.java  | 31 ++++++++++++-----
 .../api/messages/specific/BulkPlcReadRequest.java  | 28 +++++-----------
 .../api/messages/specific/BulkPlcReadResponse.java | 25 +++++---------
 .../api/messages/specific/BulkPlcWriteRequest.java | 24 ++++---------
 .../messages/specific/BulkPlcWriteResponse.java    | 24 +++++--------
 .../specific/CheckedBulkPlcReadRequest.java        |  9 +++--
 .../specific/CheckedBulkPlcWriteRequest.java       | 13 ++++++--
 .../messages/specific/SinglePlcReadRequest.java    |  7 +++-
 .../messages/specific/SinglePlcWriteRequest.java   |  8 +++--
 12 files changed, 163 insertions(+), 108 deletions(-)

diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java
index 8b06790..2dae36a 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java
@@ -28,12 +28,37 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Optional;
 
-public interface PlcReadRequest extends PlcRequest {
-    void addItem(ReadRequestItem<?> readRequestItem);
+public class PlcReadRequest implements PlcRequest {
 
-    List<? extends ReadRequestItem<?>> getReadRequestItems();
+    private final List<ReadRequestItem<?>> readRequestItems;
 
-    default Optional<? extends ReadRequestItem<?>> getRequestItem() {
+    public PlcReadRequest() {
+        this.readRequestItems = new LinkedList<>();
+    }
+
+    public PlcReadRequest(Class<?> dataType, Address address) {
+        this();
+        addItem(new ReadRequestItem<>(dataType, address));
+    }
+
+    public PlcReadRequest(Class<?> dataType, Address address, int size) {
+        this();
+        addItem(new ReadRequestItem<>(dataType, address, size));
+    }
+
+    public PlcReadRequest(List<ReadRequestItem<?>> readRequestItems) {
+        this.readRequestItems = readRequestItems;
+    }
+
+    public void addItem(ReadRequestItem<?> readRequestItem) {
+        getReadRequestItems().add(readRequestItem);
+    }
+
+    public List<ReadRequestItem<?>> getReadRequestItems() {
+        return readRequestItems;
+    }
+
+    public Optional<? extends ReadRequestItem<?>> getRequestItem() {
         if (getNumberOfItems() > 1) {
             throw new IllegalStateException("too many items " + getNumberOfItems());
         }
@@ -43,15 +68,15 @@ public interface PlcReadRequest extends PlcRequest {
         return Optional.<ReadRequestItem<?>>of(getReadRequestItems().get(0));
     }
 
-    default int getNumberOfItems() {
+    public int getNumberOfItems() {
         return getReadRequestItems().size();
     }
 
-    static Builder builder() {
+    public static Builder builder() {
         return new Builder();
     }
 
-    class Builder {
+    public static class Builder {
 
         private Class firstType;
 
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java
index 6dc3738..7224365 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java
@@ -24,12 +24,25 @@ import org.apache.plc4x.java.api.messages.items.ReadResponseItem;
 import java.util.List;
 import java.util.Optional;
 
-public interface PlcReadResponse extends PlcResponse {
-    PlcReadRequest getRequest();
+public class PlcReadResponse implements PlcResponse {
 
-    List<? extends ReadResponseItem<?>> getResponseItems();
+    private final PlcReadRequest request;
+    private final List<ReadResponseItem<?>> responseItems;
 
-    default Optional<? extends ReadResponseItem<?>> getResponseItem() {
+    public PlcReadResponse(PlcReadRequest request, List<ReadResponseItem<?>> responseItems) {
+        this.request = request;
+        this.responseItems = responseItems;
+    }
+
+    public PlcReadRequest getRequest() {
+        return request;
+    }
+
+    public List<? extends ReadResponseItem<?>> getResponseItems() {
+        return responseItems;
+    }
+
+    public Optional<? extends ReadResponseItem<?>> getResponseItem() {
         if (isMultiValue()) {
             throw new IllegalStateException("too many items " + getNumberOfItems());
         }
@@ -39,20 +52,20 @@ public interface PlcReadResponse extends PlcResponse {
         return Optional.<ReadResponseItem<?>>of(getResponseItems().get(0));
     }
 
-    default int getNumberOfItems() {
+    public int getNumberOfItems() {
         return getResponseItems().size();
     }
 
-    default boolean isMultiValue() {
+    public boolean isMultiValue() {
         return getNumberOfItems() > 1;
     }
 
-    default boolean isEmpty() {
+    public boolean isEmpty() {
         return getNumberOfItems() < 1;
     }
 
     @SuppressWarnings("unchecked")
-    default <T> Optional<ReadResponseItem<T>> getValue(ReadRequestItem<T> item) {
+    public <T> Optional<ReadResponseItem<T>> getValue(ReadRequestItem<T> item) {
         return getResponseItems().stream()
             .filter(x -> x.getRequestItem().equals(item))
             .map(e -> (ReadResponseItem<T>) e)
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java
index 1a6c082..4b8198d 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java
@@ -28,12 +28,32 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Optional;
 
-public interface PlcWriteRequest extends PlcRequest {
-    void addItem(WriteRequestItem<?> writeRequestItem);
+public class PlcWriteRequest implements PlcRequest {
 
-    List<? extends WriteRequestItem<?>> getRequestItems();
+    private final List<WriteRequestItem<?>> requestItems;
 
-    default Optional<? extends WriteRequestItem<?>> getRequestItem() {
+    public PlcWriteRequest() {
+        this.requestItems = new LinkedList<>();
+    }
+
+    public <T> PlcWriteRequest(Class<T> dataType, Address address, T... values) {
+        this();
+        addItem(new WriteRequestItem<>(dataType, address, values));
+    }
+
+    public PlcWriteRequest(List<WriteRequestItem<?>> requestItems) {
+        this.requestItems = requestItems;
+    }
+
+    public void addItem(WriteRequestItem<?> requestItem) {
+        getRequestItems().add(requestItem);
+    }
+
+    public List<WriteRequestItem<?>> getRequestItems() {
+        return requestItems;
+    }
+
+    public Optional<? extends WriteRequestItem<?>> getRequestItem() {
         if (getNumberOfItems() > 1) {
             throw new IllegalStateException("too many items " + getNumberOfItems());
         }
@@ -43,15 +63,15 @@ public interface PlcWriteRequest extends PlcRequest {
         return Optional.<WriteRequestItem<?>>of(getRequestItems().get(0));
     }
 
-    default int getNumberOfItems() {
+    public int getNumberOfItems() {
         return getRequestItems().size();
     }
 
-    static PlcWriteRequest.Builder builder() {
+    public static PlcWriteRequest.Builder builder() {
         return new Builder();
     }
 
-    class Builder {
+    public static class Builder {
 
         private Class firstType;
 
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java
index 9d69150..a73e9a2 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java
@@ -20,16 +20,31 @@ package org.apache.plc4x.java.api.messages;
 
 import org.apache.plc4x.java.api.messages.items.WriteRequestItem;
 import org.apache.plc4x.java.api.messages.items.WriteResponseItem;
+import org.apache.plc4x.java.api.messages.specific.BulkPlcWriteRequest;
 
 import java.util.List;
 import java.util.Optional;
 
-public interface PlcWriteResponse extends PlcResponse {
-    PlcWriteRequest getRequest();
+public class PlcWriteResponse implements PlcResponse {
 
-    List<? extends WriteResponseItem<?>> getResponseItems();
+    private final PlcWriteRequest request;
 
-    default Optional<? extends WriteResponseItem<?>> getResponseItem() {
+    private final List<WriteResponseItem<?>> responseItems;
+
+    public PlcWriteResponse(PlcWriteRequest request, List<WriteResponseItem<?>> responseItems) {
+        this.request = request;
+        this.responseItems = responseItems;
+    }
+
+    public PlcWriteRequest getRequest() {
+        return request;
+    }
+
+    public List<? extends WriteResponseItem<?>> getResponseItems() {
+        return responseItems;
+    }
+
+    public Optional<? extends WriteResponseItem<?>> getResponseItem() {
         if (isMultiValue()) {
             throw new IllegalStateException("too many items " + getNumberOfItems());
         }
@@ -39,20 +54,20 @@ public interface PlcWriteResponse extends PlcResponse {
         return Optional.<WriteResponseItem<?>>of(getResponseItems().get(0));
     }
 
-    default int getNumberOfItems() {
+    public int getNumberOfItems() {
         return getResponseItems().size();
     }
 
-    default boolean isMultiValue() {
+    public boolean isMultiValue() {
         return getNumberOfItems() > 1;
     }
 
-    default boolean isEmpty() {
+    public boolean isEmpty() {
         return getNumberOfItems() < 1;
     }
 
     @SuppressWarnings("unchecked")
-    default <T> Optional<WriteResponseItem<T>> getValue(WriteRequestItem<T> item) {
+    public <T> Optional<WriteResponseItem<T>> getValue(WriteRequestItem<T> item) {
         return getResponseItems().stream()
             .filter(x -> x.getRequestItem().equals(item))
             .map(e -> (WriteResponseItem<T>) e)
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadRequest.java
index 47c7f39..6efbad1 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadRequest.java
@@ -22,37 +22,25 @@ import org.apache.plc4x.java.api.messages.PlcReadRequest;
 import org.apache.plc4x.java.api.messages.items.ReadRequestItem;
 import org.apache.plc4x.java.api.model.Address;
 
-import java.util.LinkedList;
 import java.util.List;
 
-public class BulkPlcReadRequest implements PlcReadRequest {
-
-    private final List<ReadRequestItem<?>> readRequestItems;
-
+/**
+ * @deprecated just use {@link PlcReadRequest}
+ */
+@Deprecated
+public class BulkPlcReadRequest extends PlcReadRequest {
     public BulkPlcReadRequest() {
-        this.readRequestItems = new LinkedList<>();
     }
 
     public BulkPlcReadRequest(Class<?> dataType, Address address) {
-        this();
-        addItem(new ReadRequestItem<>(dataType, address));
+        super(dataType, address);
     }
 
     public BulkPlcReadRequest(Class<?> dataType, Address address, int size) {
-        this();
-        addItem(new ReadRequestItem<>(dataType, address, size));
+        super(dataType, address, size);
     }
 
     public BulkPlcReadRequest(List<ReadRequestItem<?>> readRequestItems) {
-        this.readRequestItems = readRequestItems;
-    }
-
-    public void addItem(ReadRequestItem<?> readRequestItem) {
-        readRequestItems.add(readRequestItem);
+        super(readRequestItems);
     }
-
-    public List<? extends ReadRequestItem<?>> getReadRequestItems() {
-        return readRequestItems;
-    }
-
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadResponse.java
index 00458a7..777b618 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadResponse.java
@@ -26,22 +26,13 @@ import org.apache.plc4x.java.api.messages.items.ReadResponseItem;
 import java.util.List;
 import java.util.Optional;
 
-public class BulkPlcReadResponse implements PlcReadResponse {
-
-    private final BulkPlcReadRequest request;
-    private final List<ReadResponseItem<?>> responseItems;
-
-    public BulkPlcReadResponse(BulkPlcReadRequest request, List<ReadResponseItem<?>> responseItems) {
-        this.request = request;
-        this.responseItems = responseItems;
-    }
-
-    public PlcReadRequest getRequest() {
-        return request;
+/**
+ * @deprecated just use {@link PlcReadResponse}
+ */
+@Deprecated
+public class BulkPlcReadResponse extends PlcReadResponse {
+
+    public BulkPlcReadResponse(PlcReadRequest request, List<ReadResponseItem<?>> responseItems) {
+        super(request, responseItems);
     }
-
-    public List<? extends ReadResponseItem<?>> getResponseItems() {
-        return responseItems;
-    }
-
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteRequest.java
index 9ffe97c..eef9c52 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteRequest.java
@@ -22,32 +22,22 @@ import org.apache.plc4x.java.api.messages.PlcWriteRequest;
 import org.apache.plc4x.java.api.messages.items.WriteRequestItem;
 import org.apache.plc4x.java.api.model.Address;
 
-import java.util.LinkedList;
 import java.util.List;
 
-public class BulkPlcWriteRequest implements PlcWriteRequest {
-
-    private final List<WriteRequestItem<?>> requestItems;
+/**
+ * @deprecated just use {@link PlcWriteRequest}
+ */
+@Deprecated
+public class BulkPlcWriteRequest extends PlcWriteRequest {
 
     public BulkPlcWriteRequest() {
-        this.requestItems = new LinkedList<>();
     }
 
     public <T> BulkPlcWriteRequest(Class<T> dataType, Address address, T... values) {
-        this();
-        addItem(new WriteRequestItem<>(dataType, address, values));
+        super(dataType, address, values);
     }
 
     public BulkPlcWriteRequest(List<WriteRequestItem<?>> requestItems) {
-        this.requestItems = requestItems;
-    }
-
-    public void addItem(WriteRequestItem<?> requestItem) {
-        requestItems.add(requestItem);
+        super(requestItems);
     }
-
-    public List<? extends WriteRequestItem<?>> getRequestItems() {
-        return requestItems;
-    }
-
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteResponse.java
index 3af5c33..f603de5 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteResponse.java
@@ -18,27 +18,19 @@ under the License.
 */
 package org.apache.plc4x.java.api.messages.specific;
 
+import org.apache.plc4x.java.api.messages.PlcWriteRequest;
 import org.apache.plc4x.java.api.messages.PlcWriteResponse;
 import org.apache.plc4x.java.api.messages.items.WriteResponseItem;
 
 import java.util.List;
 
-public class BulkPlcWriteResponse implements PlcWriteResponse {
+/**
+ * @deprecated just use {@link PlcWriteResponse}
+ */
+@Deprecated
+public class BulkPlcWriteResponse extends PlcWriteResponse {
 
-    private final BulkPlcWriteRequest request;
-    private final List<WriteResponseItem<?>> responseItems;
-
-    public BulkPlcWriteResponse(BulkPlcWriteRequest request, List<WriteResponseItem<?>> responseItems) {
-        this.request = request;
-        this.responseItems = responseItems;
-    }
-
-    public BulkPlcWriteRequest getRequest() {
-        return request;
+    public BulkPlcWriteResponse(PlcWriteRequest request, List<WriteResponseItem<?>> responseItems) {
+        super(request, responseItems);
     }
-
-    public List<? extends WriteResponseItem<?>> getResponseItems() {
-        return responseItems;
-    }
-
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadRequest.java
index 9fd1d90..a4ff019 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadRequest.java
@@ -46,7 +46,7 @@ public class CheckedBulkPlcReadRequest<T> extends BulkPlcReadRequest {
     }
 
     public void addCheckedItem(ReadRequestItem<T> readRequestItem) {
-        readRequestItems.add(readRequestItem);
+        addItem(readRequestItem);
     }
 
     @SuppressWarnings("unchecked")
@@ -60,8 +60,13 @@ public class CheckedBulkPlcReadRequest<T> extends BulkPlcReadRequest {
         readRequestItems.add((ReadRequestItem<T>) readRequestItem);
     }
 
-    public List<? extends ReadRequestItem<T>> getReadRequestItems() {
+    public List<ReadRequestItem<T>> getCheckedReadRequestItems() {
         return readRequestItems;
     }
 
+    @SuppressWarnings("unchecked")
+    public List<ReadRequestItem<?>> getReadRequestItems() {
+        return (List) getCheckedReadRequestItems();
+    }
+
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteRequest.java
index 32009de..0643832 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteRequest.java
@@ -45,6 +45,10 @@ public class CheckedBulkPlcWriteRequest<T> extends BulkPlcWriteRequest {
         this.requestItems.addAll(requestItems);
     }
 
+    public void addCheckedItem(WriteRequestItem<T> writeRequestItem) {
+        addItem(writeRequestItem);
+    }
+
     @SuppressWarnings("unchecked")
     public void addItem(WriteRequestItem<?> writeRequestItem) {
         if (writeRequestItem == null) {
@@ -56,11 +60,14 @@ public class CheckedBulkPlcWriteRequest<T> extends BulkPlcWriteRequest {
         requestItems.add((WriteRequestItem<T>) writeRequestItem);
     }
 
-    public List<? extends WriteRequestItem<?>> getRequestItems() {
+    public List<WriteRequestItem<T>> getCheckedRequestItems() {
         return requestItems;
     }
 
-    public int getNumberOfItems() {
-        return requestItems.size();
+    @SuppressWarnings("unchecked")
+    @Override
+    public List<WriteRequestItem<?>> getRequestItems() {
+        return (List) getCheckedRequestItems();
     }
+
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadRequest.java
index 8c03128..d490bd7 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadRequest.java
@@ -58,10 +58,15 @@ public class SinglePlcReadRequest<T> extends CheckedBulkPlcReadRequest<T> {
     }
 
     @Override
-    public List<ReadRequestItem<T>> getReadRequestItems() {
+    public List<ReadRequestItem<T>> getCheckedReadRequestItems() {
         return requestItem != null ? Collections.singletonList(requestItem) : Collections.emptyList();
     }
 
+    @Override
+    public List<ReadRequestItem<?>> getReadRequestItems() {
+        return (List) getCheckedReadRequestItems();
+    }
+
     public Optional<ReadRequestItem<T>> getRequestItem() {
         return Optional.of(requestItem);
     }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteRequest.java
index 4da59b7..4ffafcc 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteRequest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteRequest.java
@@ -52,11 +52,15 @@ public class SinglePlcWriteRequest<T> extends CheckedBulkPlcWriteRequest<T> {
         this.requestItem = (WriteRequestItem<T>) requestItem;
     }
 
-    @Override
-    public List<WriteRequestItem<T>> getRequestItems() {
+    public List<WriteRequestItem<T>> getCheckedRequestItems() {
         return (requestItem != null) ? Collections.singletonList(requestItem) : Collections.emptyList();
     }
 
+    @Override
+    public List<WriteRequestItem<?>> getRequestItems() {
+        return (List) getCheckedRequestItems();
+    }
+
     public Optional<WriteRequestItem<T>> getRequestItem() {
         return Optional.ofNullable(requestItem);
     }

-- 
To stop receiving notification emails like this one, please contact
['"commits@plc4x.apache.org" <co...@plc4x.apache.org>'].