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:27:09 UTC

[incubator-plc4x] branch refactoring/java_generify updated: get rid of 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 4078c58  get rid of BulkPlc*
4078c58 is described below

commit 4078c582f93ac1aa5ac88b7fde82117aee959ac3
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jan 11 12:27:04 2018 +0100

    get rid of BulkPlc*
---
 .../java/org/apache/plc4x/camel/PLC4XProducer.java |  4 +-
 .../apache/plc4x/edgent/mock/MockConnection.java   | 13 +++---
 .../plc4x/java/api/connection/PlcReader.java       | 23 ++++-------
 .../plc4x/java/api/connection/PlcWriter.java       | 23 ++++-------
 .../plc4x/java/api/messages/PlcReadRequest.java    | 15 ++++---
 .../plc4x/java/api/messages/PlcWriteRequest.java   | 15 ++++---
 .../plc4x/java/api/messages/PlcWriteResponse.java  |  1 -
 .../api/messages/specific/BulkPlcReadRequest.java  | 46 ----------------------
 .../api/messages/specific/BulkPlcReadResponse.java | 38 ------------------
 .../api/messages/specific/BulkPlcWriteRequest.java | 43 --------------------
 .../messages/specific/BulkPlcWriteResponse.java    | 36 -----------------
 ...ReadRequest.java => CheckedPlcReadRequest.java} | 11 +++---
 ...adResponse.java => CheckedPlcReadResponse.java} |  7 ++--
 ...iteRequest.java => CheckedPlcWriteRequest.java} | 11 +++---
 ...eResponse.java => CheckedPlcWriteResponse.java} | 10 +++--
 .../messages/specific/SinglePlcReadRequest.java    |  2 +-
 .../messages/specific/SinglePlcReadResponse.java   |  2 +-
 .../messages/specific/SinglePlcWriteRequest.java   |  2 +-
 .../messages/specific/SinglePlcWriteResponse.java  |  2 +-
 .../plc4x/java/api/messages/APIMessageTests.java   | 28 ++++++-------
 .../plc4x/java/s7/netty/Plc4XS7Protocol.java       | 13 +++---
 21 files changed, 83 insertions(+), 262 deletions(-)

diff --git a/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/PLC4XProducer.java b/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/PLC4XProducer.java
index fcd037c..02bdfe2 100644
--- a/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/PLC4XProducer.java
+++ b/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/PLC4XProducer.java
@@ -25,8 +25,8 @@ import org.apache.camel.impl.DefaultAsyncProducer;
 import org.apache.plc4x.java.api.connection.PlcConnection;
 import org.apache.plc4x.java.api.connection.PlcWriter;
 import org.apache.plc4x.java.api.exceptions.PlcException;
+import org.apache.plc4x.java.api.messages.PlcWriteRequest;
 import org.apache.plc4x.java.api.messages.items.WriteRequestItem;
-import org.apache.plc4x.java.api.messages.specific.BulkPlcWriteRequest;
 import org.apache.plc4x.java.api.messages.specific.SinglePlcWriteRequest;
 import org.apache.plc4x.java.api.model.Address;
 
@@ -66,7 +66,7 @@ public class PLC4XProducer extends DefaultAsyncProducer {
                 .stream()
                 .map(o -> (WriteRequestItem<?>) new WriteRequestItem(o.getClass(), address, o))
                 .collect(Collectors.toList());
-            BulkPlcWriteRequest bulkPlcWriteRequest = new BulkPlcWriteRequest(collect);
+            PlcWriteRequest bulkPlcWriteRequest = new PlcWriteRequest(collect);
             PlcWriter plcWriter = plcConnection.getWriter().orElseThrow(() -> new IllegalArgumentException("Writer for driver not found"));
             completableFuture = plcWriter.write(bulkPlcWriteRequest);
         } else {
diff --git a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java
index c17e7de..29faf15 100644
--- a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java
+++ b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java
@@ -33,7 +33,10 @@ import org.apache.plc4x.java.api.messages.items.ReadRequestItem;
 import org.apache.plc4x.java.api.messages.items.ReadResponseItem;
 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.*;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcReadRequest;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcReadResponse;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcWriteRequest;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcWriteResponse;
 import org.apache.plc4x.java.api.model.Address;
 import org.apache.plc4x.java.api.types.ResponseCode;
 
@@ -103,10 +106,8 @@ public class MockConnection extends AbstractPlcConnection implements PlcReader,
         PlcReadResponse response;
         if (readRequest instanceof SinglePlcReadRequest) {
             response = new SinglePlcReadResponse((SinglePlcReadRequest) readRequest, responseItems.isEmpty() ? null : responseItems.get(0));
-        } else if (readRequest instanceof BulkPlcReadRequest) {
-            response = new BulkPlcReadResponse(readRequest, responseItems);
         } else {
-            response = null;
+            response = new PlcReadResponse(readRequest, responseItems);
         }
         return CompletableFuture.completedFuture(response);
     }
@@ -130,10 +131,8 @@ public class MockConnection extends AbstractPlcConnection implements PlcReader,
         PlcWriteResponse response;
         if (writeRequest instanceof SinglePlcWriteRequest) {
             response = new SinglePlcWriteResponse((SinglePlcWriteRequest) writeRequest, responseItems.isEmpty() ? null : responseItems.get(0));
-        } else if (writeRequest instanceof BulkPlcWriteRequest) {
-            response = new BulkPlcWriteResponse(writeRequest, responseItems);
         } else {
-            response = null;
+            response = new PlcWriteResponse(writeRequest, responseItems);
         }
 
         return CompletableFuture.completedFuture(response);
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java
index dc28e25..91c3c7d 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java
@@ -18,8 +18,12 @@ under the License.
 */
 package org.apache.plc4x.java.api.connection;
 
-import org.apache.plc4x.java.api.messages.*;
-import org.apache.plc4x.java.api.messages.specific.*;
+import org.apache.plc4x.java.api.messages.PlcReadRequest;
+import org.apache.plc4x.java.api.messages.PlcReadResponse;
+import org.apache.plc4x.java.api.messages.specific.CheckedPlcReadRequest;
+import org.apache.plc4x.java.api.messages.specific.CheckedPlcReadResponse;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcReadRequest;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcReadResponse;
 
 import java.util.concurrent.CompletableFuture;
 
@@ -52,23 +56,12 @@ public interface PlcReader {
      * Reads a requested value from a PLC.
      *
      * @param readRequest object describing the type and location of the value.
-     * @return a {@link CompletableFuture} giving async access to the returned value.
-     */
-    @SuppressWarnings("unchecked")
-    default CompletableFuture<BulkPlcReadResponse> read(BulkPlcReadRequest readRequest) {
-        return (CompletableFuture<BulkPlcReadResponse>) read((PlcReadRequest) readRequest);
-    }
-
-    /**
-     * Reads a requested value from a PLC.
-     *
-     * @param readRequest object describing the type and location of the value.
      * @param <T>         type that is being requested.
      * @return a {@link CompletableFuture} giving async access to the returned value.
      */
     @SuppressWarnings("unchecked")
-    default <T> CompletableFuture<CheckedBulkPlcReadResponse<T>> read(CheckedBulkPlcReadRequest<T> readRequest) {
-        return (CompletableFuture<CheckedBulkPlcReadResponse<T>>) read((PlcReadRequest) readRequest);
+    default <T> CompletableFuture<CheckedPlcReadResponse<T>> read(CheckedPlcReadRequest<T> readRequest) {
+        return (CompletableFuture<CheckedPlcReadResponse<T>>) read((PlcReadRequest) readRequest);
     }
 
 }
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcWriter.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcWriter.java
index a530885..5ae800c 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcWriter.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcWriter.java
@@ -19,8 +19,12 @@ under the License.
 package org.apache.plc4x.java.api.connection;
 
 
-import org.apache.plc4x.java.api.messages.*;
-import 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.specific.CheckedPlcWriteRequest;
+import org.apache.plc4x.java.api.messages.specific.CheckedPlcWriteResponse;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcWriteRequest;
+import org.apache.plc4x.java.api.messages.specific.SinglePlcWriteResponse;
 
 import java.util.concurrent.CompletableFuture;
 
@@ -53,23 +57,12 @@ public interface PlcWriter {
      * Writes a given value to a PLC.
      *
      * @param writeRequest object describing the type, location and value that whould be written.
-     * @return a {@link CompletableFuture} giving async access to the response of the write operation.
-     */
-    @SuppressWarnings("unchecked")
-    default CompletableFuture<BulkPlcWriteResponse> write(BulkPlcWriteRequest writeRequest) {
-        return (CompletableFuture<BulkPlcWriteResponse>) write((PlcWriteRequest) writeRequest);
-    }
-
-    /**
-     * Writes a given value to a PLC.
-     *
-     * @param writeRequest object describing the type, location and value that whould be written.
      * @param <T>          type that is being requested.
      * @return a {@link CompletableFuture} giving async access to the response of the write operation.
      */
     @SuppressWarnings("unchecked")
-    default <T> CompletableFuture<CheckedBulkPlcWriteResponse<T>> write(CheckedBulkPlcWriteRequest<T> writeRequest) {
-        return (CompletableFuture<CheckedBulkPlcWriteResponse<T>>) write((PlcWriteRequest) writeRequest);
+    default <T> CompletableFuture<CheckedPlcWriteResponse<T>> write(CheckedPlcWriteRequest<T> writeRequest) {
+        return (CompletableFuture<CheckedPlcWriteResponse<T>>) write((PlcWriteRequest) writeRequest);
     }
 
 }
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 2dae36a..674c902 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
@@ -19,8 +19,7 @@ under the License.
 package org.apache.plc4x.java.api.messages;
 
 import org.apache.plc4x.java.api.messages.items.ReadRequestItem;
-import org.apache.plc4x.java.api.messages.specific.BulkPlcReadRequest;
-import org.apache.plc4x.java.api.messages.specific.CheckedBulkPlcReadRequest;
+import org.apache.plc4x.java.api.messages.specific.CheckedPlcReadRequest;
 import org.apache.plc4x.java.api.messages.specific.SinglePlcReadRequest;
 import org.apache.plc4x.java.api.model.Address;
 
@@ -115,9 +114,9 @@ public class PlcReadRequest implements PlcRequest {
             }
             PlcReadRequest plcReadRequest;
             if (mixed) {
-                plcReadRequest = new BulkPlcReadRequest();
+                plcReadRequest = new PlcReadRequest();
             } else {
-                plcReadRequest = new CheckedBulkPlcReadRequest<>(firstType);
+                plcReadRequest = new CheckedPlcReadRequest<>(firstType);
             }
             for (ReadRequestItem request : requests) {
                 plcReadRequest.addItem(request);
@@ -126,11 +125,11 @@ public class PlcReadRequest implements PlcRequest {
         }
 
         @SuppressWarnings("unchecked")
-        public BulkPlcReadRequest buildBulk() {
+        public PlcReadRequest buildBulk() {
             if (requests.size() < 2) {
                 throw new IllegalStateException("Bulk request needs more than one request");
             }
-            return (BulkPlcReadRequest) build();
+            return build();
         }
 
         @SuppressWarnings("unchecked")
@@ -145,7 +144,7 @@ public class PlcReadRequest implements PlcRequest {
         }
 
         @SuppressWarnings("unchecked")
-        public <T> CheckedBulkPlcReadRequest<T> buildBulk(Class<T> type) {
+        public <T> CheckedPlcReadRequest<T> buildBulk(Class<T> type) {
             if (requests.size() < 2) {
                 throw new IllegalStateException("Checked bulk request needs more than one request");
             }
@@ -155,7 +154,7 @@ public class PlcReadRequest implements PlcRequest {
             if (mixed) {
                 throw new IllegalStateException("Mixed types contained");
             }
-            return (CheckedBulkPlcReadRequest<T>) build();
+            return (CheckedPlcReadRequest<T>) build();
         }
 
     }
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 4b8198d..cba4d7d 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
@@ -19,8 +19,7 @@ under the License.
 package org.apache.plc4x.java.api.messages;
 
 import org.apache.plc4x.java.api.messages.items.WriteRequestItem;
-import org.apache.plc4x.java.api.messages.specific.BulkPlcWriteRequest;
-import org.apache.plc4x.java.api.messages.specific.CheckedBulkPlcWriteRequest;
+import org.apache.plc4x.java.api.messages.specific.CheckedPlcWriteRequest;
 import org.apache.plc4x.java.api.messages.specific.SinglePlcWriteRequest;
 import org.apache.plc4x.java.api.model.Address;
 
@@ -104,9 +103,9 @@ public class PlcWriteRequest implements PlcRequest {
             }
             PlcWriteRequest plcWriteRequest;
             if (mixed) {
-                plcWriteRequest = new BulkPlcWriteRequest();
+                plcWriteRequest = new PlcWriteRequest();
             } else {
-                plcWriteRequest = new CheckedBulkPlcWriteRequest<>(firstType);
+                plcWriteRequest = new CheckedPlcWriteRequest<>(firstType);
             }
             for (WriteRequestItem request : requests) {
                 plcWriteRequest.addItem(request);
@@ -115,11 +114,11 @@ public class PlcWriteRequest implements PlcRequest {
         }
 
         @SuppressWarnings("unchecked")
-        public BulkPlcWriteRequest buildBulk() {
+        public PlcWriteRequest buildBulk() {
             if (requests.size() < 2) {
                 throw new IllegalStateException("Bulk request needs more than one request");
             }
-            return (BulkPlcWriteRequest) build();
+            return build();
         }
 
         @SuppressWarnings("unchecked")
@@ -134,7 +133,7 @@ public class PlcWriteRequest implements PlcRequest {
         }
 
         @SuppressWarnings("unchecked")
-        public <T> CheckedBulkPlcWriteRequest<T> buildBulk(Class<T> type) {
+        public <T> CheckedPlcWriteRequest<T> buildBulk(Class<T> type) {
             if (requests.size() < 2) {
                 throw new IllegalStateException("Checked bulk request needs more than one request");
             }
@@ -144,7 +143,7 @@ public class PlcWriteRequest implements PlcRequest {
             if (mixed) {
                 throw new IllegalStateException("Mixed types contained");
             }
-            return (CheckedBulkPlcWriteRequest<T>) build();
+            return (CheckedPlcWriteRequest<T>) build();
         }
 
     }
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 a73e9a2..ef50a86 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,7 +20,6 @@ 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;
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
deleted file mode 100644
index 6efbad1..0000000
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadRequest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-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.plc4x.java.api.messages.specific;
-
-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.List;
-
-/**
- * @deprecated just use {@link PlcReadRequest}
- */
-@Deprecated
-public class BulkPlcReadRequest extends PlcReadRequest {
-    public BulkPlcReadRequest() {
-    }
-
-    public BulkPlcReadRequest(Class<?> dataType, Address address) {
-        super(dataType, address);
-    }
-
-    public BulkPlcReadRequest(Class<?> dataType, Address address, int size) {
-        super(dataType, address, size);
-    }
-
-    public BulkPlcReadRequest(List<ReadRequestItem<?>> readRequestItems) {
-        super(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
deleted file mode 100644
index 777b618..0000000
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcReadResponse.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-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.plc4x.java.api.messages.specific;
-
-import org.apache.plc4x.java.api.messages.PlcReadRequest;
-import org.apache.plc4x.java.api.messages.PlcReadResponse;
-import org.apache.plc4x.java.api.messages.items.ReadRequestItem;
-import org.apache.plc4x.java.api.messages.items.ReadResponseItem;
-
-import java.util.List;
-import java.util.Optional;
-
-/**
- * @deprecated just use {@link PlcReadResponse}
- */
-@Deprecated
-public class BulkPlcReadResponse extends PlcReadResponse {
-
-    public BulkPlcReadResponse(PlcReadRequest request, List<ReadResponseItem<?>> responseItems) {
-        super(request, 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
deleted file mode 100644
index eef9c52..0000000
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteRequest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-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.plc4x.java.api.messages.specific;
-
-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.List;
-
-/**
- * @deprecated just use {@link PlcWriteRequest}
- */
-@Deprecated
-public class BulkPlcWriteRequest extends PlcWriteRequest {
-
-    public BulkPlcWriteRequest() {
-    }
-
-    public <T> BulkPlcWriteRequest(Class<T> dataType, Address address, T... values) {
-        super(dataType, address, values);
-    }
-
-    public BulkPlcWriteRequest(List<WriteRequestItem<?>> requestItems) {
-        super(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
deleted file mode 100644
index f603de5..0000000
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/BulkPlcWriteResponse.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-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.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;
-
-/**
- * @deprecated just use {@link PlcWriteResponse}
- */
-@Deprecated
-public class BulkPlcWriteResponse extends PlcWriteResponse {
-
-    public BulkPlcWriteResponse(PlcWriteRequest request, List<WriteResponseItem<?>> responseItems) {
-        super(request, 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/CheckedPlcReadRequest.java
similarity index 85%
rename from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadRequest.java
rename to plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcReadRequest.java
index a4ff019..b6ae5ea 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/CheckedPlcReadRequest.java
@@ -18,29 +18,30 @@ under the License.
 */
 package org.apache.plc4x.java.api.messages.specific;
 
+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 CheckedBulkPlcReadRequest<T> extends BulkPlcReadRequest {
+public class CheckedPlcReadRequest<T> extends PlcReadRequest {
 
     private final List<ReadRequestItem<T>> readRequestItems;
 
     private Class<T> datatype;
 
-    public CheckedBulkPlcReadRequest(Class<T> type) {
+    public CheckedPlcReadRequest(Class<T> type) {
         this.datatype = type;
         this.readRequestItems = new LinkedList<>();
     }
 
-    public CheckedBulkPlcReadRequest(Class<T> dataType, Address address) {
+    public CheckedPlcReadRequest(Class<T> dataType, Address address) {
         this(dataType);
         addItem(new ReadRequestItem<>(dataType, address));
     }
 
-    public CheckedBulkPlcReadRequest(Class<T> dataType, Address address, int size) {
+    public CheckedPlcReadRequest(Class<T> dataType, Address address, int size) {
         this(dataType);
         addItem(new ReadRequestItem<>(dataType, address, size));
     }
@@ -57,7 +58,7 @@ public class CheckedBulkPlcReadRequest<T> extends BulkPlcReadRequest {
         if (readRequestItem.getDatatype() != datatype) {
             throw new IllegalArgumentException("Incompatible datatype " + readRequestItem.getDatatype());
         }
-        readRequestItems.add((ReadRequestItem<T>) readRequestItem);
+        super.addItem(readRequestItem);
     }
 
     public List<ReadRequestItem<T>> getCheckedReadRequestItems() {
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcReadResponse.java
similarity index 81%
rename from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadResponse.java
rename to plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcReadResponse.java
index 8dc9fd2..19df33a 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcReadResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcReadResponse.java
@@ -19,16 +19,17 @@ under the License.
 package org.apache.plc4x.java.api.messages.specific;
 
 import org.apache.plc4x.java.api.messages.PlcReadRequest;
+import org.apache.plc4x.java.api.messages.PlcReadResponse;
 import org.apache.plc4x.java.api.messages.items.ReadResponseItem;
 
 import java.util.List;
 
-public class CheckedBulkPlcReadResponse<T> extends BulkPlcReadResponse {
+public class CheckedPlcReadResponse<T> extends PlcReadResponse {
 
-    private final CheckedBulkPlcReadRequest<T> request;
+    private final CheckedPlcReadRequest<T> request;
     private final List<ReadResponseItem<T>> responseItems;
 
-    public CheckedBulkPlcReadResponse(CheckedBulkPlcReadRequest<T> request, List<ReadResponseItem<T>> responseItems) {
+    public CheckedPlcReadResponse(CheckedPlcReadRequest<T> request, List<ReadResponseItem<T>> responseItems) {
         super(null, null);
         this.request = request;
         this.responseItems = responseItems;
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/CheckedPlcWriteRequest.java
similarity index 83%
rename from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteRequest.java
rename to plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcWriteRequest.java
index 0643832..b8c63f6 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/CheckedPlcWriteRequest.java
@@ -18,29 +18,30 @@ 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.items.WriteRequestItem;
 import org.apache.plc4x.java.api.model.Address;
 
 import java.util.LinkedList;
 import java.util.List;
 
-public class CheckedBulkPlcWriteRequest<T> extends BulkPlcWriteRequest {
+public class CheckedPlcWriteRequest<T> extends PlcWriteRequest {
 
     private final List<WriteRequestItem<T>> requestItems;
 
     private final Class<T> datatype;
 
-    public CheckedBulkPlcWriteRequest(Class<T> type) {
+    public CheckedPlcWriteRequest(Class<T> type) {
         this.datatype = type;
         this.requestItems = new LinkedList<>();
     }
 
-    public CheckedBulkPlcWriteRequest(Class<T> dataType, Address address, T... values) {
+    public CheckedPlcWriteRequest(Class<T> dataType, Address address, T... values) {
         this(dataType);
         addItem(new WriteRequestItem<>(dataType, address, values));
     }
 
-    public CheckedBulkPlcWriteRequest(Class<T> dataType, List<WriteRequestItem<T>> requestItems) {
+    public CheckedPlcWriteRequest(Class<T> dataType, List<WriteRequestItem<T>> requestItems) {
         this(dataType);
         this.requestItems.addAll(requestItems);
     }
@@ -57,7 +58,7 @@ public class CheckedBulkPlcWriteRequest<T> extends BulkPlcWriteRequest {
         if (writeRequestItem.getDatatype() != datatype) {
             throw new IllegalArgumentException("Incompatible datatype " + writeRequestItem.getDatatype());
         }
-        requestItems.add((WriteRequestItem<T>) writeRequestItem);
+        super.addItem(writeRequestItem);
     }
 
     public List<WriteRequestItem<T>> getCheckedRequestItems() {
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcWriteResponse.java
similarity index 75%
rename from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteResponse.java
rename to plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcWriteResponse.java
index e1f36e4..91ca855 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedBulkPlcWriteResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/CheckedPlcWriteResponse.java
@@ -18,22 +18,24 @@ 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 CheckedBulkPlcWriteResponse<T> extends BulkPlcWriteResponse {
+public class CheckedPlcWriteResponse<T> extends PlcWriteResponse {
 
-    private final CheckedBulkPlcWriteRequest<T> request;
+    private final CheckedPlcWriteRequest<T> request;
     private final List<WriteResponseItem<T>> responseItems;
 
-    public CheckedBulkPlcWriteResponse(CheckedBulkPlcWriteRequest<T> request, List<WriteResponseItem<T>> responseItems) {
+    public CheckedPlcWriteResponse(CheckedPlcWriteRequest<T> request, List<WriteResponseItem<T>> responseItems) {
         super(null, null);
         this.request = request;
         this.responseItems = responseItems;
     }
 
-    public BulkPlcWriteRequest getRequest() {
+    public PlcWriteRequest getRequest() {
         return request;
     }
 
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 d490bd7..7f5e4bc 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
@@ -25,7 +25,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
-public class SinglePlcReadRequest<T> extends CheckedBulkPlcReadRequest<T> {
+public class SinglePlcReadRequest<T> extends CheckedPlcReadRequest<T> {
 
     private ReadRequestItem<T> requestItem;
 
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadResponse.java
index 24acb1c..0b985ed 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcReadResponse.java
@@ -24,7 +24,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
-public class SinglePlcReadResponse<T> extends CheckedBulkPlcReadResponse<T> {
+public class SinglePlcReadResponse<T> extends CheckedPlcReadResponse<T> {
 
     private final SinglePlcReadRequest<T> request;
     private final ReadResponseItem<T> responseItem;
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 4ffafcc..d0d5085 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
@@ -25,7 +25,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
-public class SinglePlcWriteRequest<T> extends CheckedBulkPlcWriteRequest<T> {
+public class SinglePlcWriteRequest<T> extends CheckedPlcWriteRequest<T> {
 
     private WriteRequestItem<T> requestItem;
 
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteResponse.java
index 7b7abe1..28e2310 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteResponse.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/SinglePlcWriteResponse.java
@@ -24,7 +24,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
-public class SinglePlcWriteResponse<T> extends CheckedBulkPlcWriteResponse<T> {
+public class SinglePlcWriteResponse<T> extends CheckedPlcWriteResponse<T> {
 
     private final SinglePlcWriteRequest<T> request;
     private final WriteResponseItem<T> responseItem;
diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java
index 1ea3e8a..a623c81 100644
--- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java
+++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java
@@ -145,13 +145,13 @@ class APIMessageTests {
     @Test
     @Tag("fast")
     void plcReadResponse() {
-        BulkPlcReadRequest plcReadRequest = new BulkPlcReadRequest();
+        PlcReadRequest plcReadRequest = new PlcReadRequest();
         List<ReadResponseItem<?>> responseItems = new ArrayList<>();
         MockAddress address = new MockAddress("mock:/DATA");
         ReadRequestItem<Byte> readRequestItem = new ReadRequestItem<>(Byte.class, address, 1);
         ReadResponseItem<Byte> readResponseItem = new ReadResponseItem<>(readRequestItem, ResponseCode.OK, Collections.emptyList());
         responseItems.add(readResponseItem);
-        PlcReadResponse plcReadResponse = new BulkPlcReadResponse(plcReadRequest, responseItems);
+        PlcReadResponse plcReadResponse = new PlcReadResponse(plcReadRequest, responseItems);
         assertTrue(plcReadResponse.getRequest().getNumberOfItems() == 0, "Unexpected number of response items");
         assertTrue(plcReadResponse.getRequest().equals(plcReadRequest), "Unexpected read request");
         assertTrue(plcReadResponse.getResponseItems().size() == 1, "Unexpected number of response items");
@@ -193,13 +193,13 @@ class APIMessageTests {
     @Test
     @Tag("fast")
     void plcWriteResponse() {
-        BulkPlcWriteRequest plcWriteRequest = new BulkPlcWriteRequest();
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest();
         List<WriteResponseItem<?>> responseItems = new ArrayList<>();
         MockAddress address = new MockAddress("mock:/DATA");
         WriteRequestItem<Byte> writeRequestItem = new WriteRequestItem<>(Byte.class, address, (byte) 1);
         WriteResponseItem<Byte> writeResponseItem = new WriteResponseItem<>(writeRequestItem, ResponseCode.OK);
         responseItems.add(writeResponseItem);
-        PlcWriteResponse plcReadResponse = new BulkPlcWriteResponse(plcWriteRequest, responseItems);
+        PlcWriteResponse plcReadResponse = new PlcWriteResponse(plcWriteRequest, responseItems);
         assertTrue(plcReadResponse.getRequest().getNumberOfItems() == 0, "Unexpected number of response items");
         assertTrue(plcReadResponse.getRequest().equals(plcWriteRequest), "Unexpected read request");
         assertTrue(plcReadResponse.getResponseItems().size() == 1, "Unexpected number of response items");
@@ -209,7 +209,7 @@ class APIMessageTests {
     @Test
     @Tag("fast")
     void bulkPlcWriteResponseGetValue() {
-        BulkPlcWriteRequest plcWriteRequest = new BulkPlcWriteRequest();
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest();
         List<WriteResponseItem<?>> responseItems = new ArrayList<>();
         MockAddress address = new MockAddress("mock:/DATA");
         WriteRequestItem<Byte> writeRequestItem1 = new WriteRequestItem<>(Byte.class, address, (byte) 1);
@@ -218,7 +218,7 @@ class APIMessageTests {
         WriteResponseItem<Byte> writeResponseItem2 = new WriteResponseItem<>(writeRequestItem2, ResponseCode.OK);
         responseItems.add(writeResponseItem1);
         responseItems.add(writeResponseItem2);
-        BulkPlcWriteResponse plcWriteResponse = new BulkPlcWriteResponse(plcWriteRequest, responseItems);
+        PlcWriteResponse plcWriteResponse = new PlcWriteResponse(plcWriteRequest, responseItems);
         Optional<WriteResponseItem<Byte>> responseValue1 = plcWriteResponse.getValue(writeRequestItem1);
         Optional<WriteResponseItem<Byte>> responseValue2 = plcWriteResponse.getValue(writeRequestItem2);
         assertEquals(Optional.of(writeResponseItem1), responseValue1, "Unexpected items in response items");
@@ -227,12 +227,12 @@ class APIMessageTests {
 
     @Test
     @Tag("fast")
-    void nonExistingItemBulkPlcWriteResponseGetValue() {
-        BulkPlcWriteRequest plcWriteRequest = new BulkPlcWriteRequest();
+    void nonExistingItemPlcWriteResponseGetValue() {
+        PlcWriteRequest plcWriteRequest = new PlcWriteRequest();
         List<WriteResponseItem<?>> responseItems = new ArrayList<>();
         MockAddress address = new MockAddress("mock:/DATA");
         WriteRequestItem<Byte> nonExistingWriteRequestItem = new WriteRequestItem<>(Byte.class, address, (byte) 1);
-        BulkPlcWriteResponse plcWriteResponse = new BulkPlcWriteResponse(plcWriteRequest, responseItems);
+        PlcWriteResponse plcWriteResponse = new PlcWriteResponse(plcWriteRequest, responseItems);
         Optional<WriteResponseItem<Byte>> responseValue1 = plcWriteResponse.getValue(nonExistingWriteRequestItem);
         assertEquals(Optional.empty(), responseValue1, "Unexpected items in response items");
     }
@@ -240,7 +240,7 @@ class APIMessageTests {
     @Test
     @Tag("fast")
     void bulkPlcReadResponseGetValue() {
-        BulkPlcReadRequest plcReadRequest = new BulkPlcReadRequest();
+        PlcReadRequest plcReadRequest = new PlcReadRequest();
         List<ReadResponseItem<?>> responseItems = new ArrayList<>();
         MockAddress address = new MockAddress("mock:/DATA");
         ReadRequestItem<Byte> readRequestItem1 = new ReadRequestItem<>(Byte.class, address, 1);
@@ -249,7 +249,7 @@ class APIMessageTests {
         ReadResponseItem<Byte> readResponseItem2 = new ReadResponseItem<>(readRequestItem2, ResponseCode.OK, Collections.emptyList());
         responseItems.add(readResponseItem1);
         responseItems.add(readResponseItem2);
-        BulkPlcReadResponse plcReadResponse = new BulkPlcReadResponse(plcReadRequest, responseItems);
+        PlcReadResponse plcReadResponse = new PlcReadResponse(plcReadRequest, responseItems);
         Optional<ReadResponseItem<Byte>> responseValue1 = plcReadResponse.getValue(readRequestItem1);
         Optional<ReadResponseItem<Byte>> responseValue2 = plcReadResponse.getValue(readRequestItem2);
         assertEquals(Optional.of(readResponseItem1), responseValue1, "Unexpected items in response items");
@@ -258,12 +258,12 @@ class APIMessageTests {
 
     @Test
     @Tag("fast")
-    void nonExistingItemBulkPlcReadResponseGetValue() {
-        BulkPlcReadRequest plcReadRequest = new BulkPlcReadRequest();
+    void nonExistingItemPlcReadResponseGetValue() {
+        PlcReadRequest plcReadRequest = new PlcReadRequest();
         List<ReadResponseItem<?>> responseItems = new ArrayList<>();
         MockAddress address = new MockAddress("mock:/DATA");
         ReadRequestItem<Byte> nonExistingReadRequestItem = new ReadRequestItem<>(Byte.class, address, 1);
-        BulkPlcReadResponse plcReadResponse = new BulkPlcReadResponse(plcReadRequest, responseItems);
+        PlcReadResponse plcReadResponse = new PlcReadResponse(plcReadRequest, responseItems);
         Optional<ReadResponseItem<Byte>> responseValue1 = plcReadResponse.getValue(nonExistingReadRequestItem);
         assertEquals(Optional.empty(), responseValue1, "Unexpected items in response items");
     }
diff --git a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java
index f8ccf3d..0abdb47 100644
--- a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java
+++ b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java
@@ -22,10 +22,7 @@ import io.netty.channel.ChannelHandlerContext;
 import io.netty.handler.codec.MessageToMessageCodec;
 import org.apache.plc4x.java.api.exceptions.PlcException;
 import org.apache.plc4x.java.api.exceptions.PlcProtocolException;
-import org.apache.plc4x.java.api.messages.PlcReadRequest;
-import org.apache.plc4x.java.api.messages.PlcRequestContainer;
-import org.apache.plc4x.java.api.messages.PlcResponse;
-import org.apache.plc4x.java.api.messages.PlcWriteRequest;
+import org.apache.plc4x.java.api.messages.*;
 import org.apache.plc4x.java.api.messages.items.ReadRequestItem;
 import org.apache.plc4x.java.api.messages.items.ReadResponseItem;
 import org.apache.plc4x.java.api.messages.items.WriteRequestItem;
@@ -179,8 +176,8 @@ public class Plc4XS7Protocol extends MessageToMessageCodec<S7Message, PlcRequest
                     }
                     if (plcReadRequest instanceof SinglePlcReadRequest) {
                         response = new SinglePlcReadResponse((SinglePlcReadRequest) plcReadRequest, responseItems.isEmpty() ? null : responseItems.get(0));
-                    } else if (plcReadRequest instanceof BulkPlcReadRequest) {
-                        response = new BulkPlcReadResponse((BulkPlcReadRequest) plcReadRequest, responseItems);
+                    } else if (plcReadRequest instanceof PlcReadRequest) {
+                        response = new PlcReadResponse(plcReadRequest, responseItems);
                     } else {
                         response = null;
                     }
@@ -213,8 +210,8 @@ public class Plc4XS7Protocol extends MessageToMessageCodec<S7Message, PlcRequest
                         responseItems.add(responseItem);
                     }
 
-                    if (plcWriteRequest instanceof BulkPlcWriteRequest) {
-                        response = new BulkPlcWriteResponse((BulkPlcWriteRequest) plcWriteRequest, responseItems);
+                    if (plcWriteRequest instanceof PlcWriteRequest) {
+                        response = new PlcWriteResponse(plcWriteRequest, responseItems);
                     } else if (plcWriteRequest instanceof SinglePlcWriteRequest) {
                         response = new SinglePlcWriteResponse((SinglePlcWriteRequest) plcWriteRequest, responseItems.isEmpty() ? null : responseItems.get(0));
                     } else {

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