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

sruehl pushed a commit to branch feature/api-redesign-chris-c
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/feature/api-redesign-chris-c 
by this push:
     new eb3db9a  [ALL] cleanup API and remove the generic extensions again
eb3db9a is described below

commit eb3db9a1a7461f16def868052254ea16a6123b8a
Author: Sebastian Rühl <sru...@apache.org>
AuthorDate: Thu Sep 6 16:21:58 2018 +0200

    [ALL] cleanup API and remove the generic extensions again
---
 .../plc4x/java/api/connection/PlcProprietarySender.java   |  2 +-
 .../org/apache/plc4x/java/api/connection/PlcReader.java   |  2 +-
 .../org/apache/plc4x/java/api/connection/PlcWriter.java   |  2 +-
 .../java/ads/connection/AdsAbstractPlcConnection.java     | 15 +++++++++------
 .../apache/plc4x/java/s7/connection/S7PlcConnection.java  | 10 ++++++----
 5 files changed, 18 insertions(+), 13 deletions(-)

diff --git 
a/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcProprietarySender.java
 
b/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcProprietarySender.java
index f735449..afadad0 100644
--- 
a/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcProprietarySender.java
+++ 
b/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcProprietarySender.java
@@ -25,5 +25,5 @@ import java.util.concurrent.CompletableFuture;
 
 public interface PlcProprietarySender {
 
-    <PROP_REQUEST, PROP_RESPONSE> CompletableFuture<? extends 
PlcProprietaryResponse<? extends PlcProprietaryRequest<PROP_REQUEST>, 
PROP_RESPONSE>> send(PlcProprietaryRequest<PROP_REQUEST> proprietaryRequest);
+    <PROP_REQUEST, PROP_RESPONSE> 
CompletableFuture<PlcProprietaryResponse<PlcProprietaryRequest<PROP_REQUEST>, 
PROP_RESPONSE>> send(PlcProprietaryRequest<PROP_REQUEST> proprietaryRequest);
 }
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 5da4156..0c5373a 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
@@ -34,7 +34,7 @@ public interface PlcReader {
      * @param readRequest object describing the type and location of the value.
      * @return a {@link CompletableFuture} giving async access to the returned 
value.
      */
-    CompletableFuture<? extends PlcReadResponse> read(PlcReadRequest 
readRequest);
+    CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest);
 
     PlcReadRequest.Builder readRequestBuilder();
 
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 1b78f45..7dddb4c 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
@@ -34,7 +34,7 @@ public interface PlcWriter {
      * @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.
      */
-    CompletableFuture<? extends PlcWriteResponse> write(PlcWriteRequest 
writeRequest);
+    CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest);
 
     PlcWriteRequest.Builder writeRequestBuilder();
 
diff --git 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java
 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java
index f9e0917..c533b06 100644
--- 
a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java
+++ 
b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java
@@ -92,7 +92,7 @@ public abstract class AdsAbstractPlcConnection extends 
AbstractPlcConnection imp
     }
 
     @Override
-    public CompletableFuture<InternalPlcReadResponse> read(PlcReadRequest 
readRequest) {
+    public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) 
{
         mapFields(readRequest);
         CompletableFuture<InternalPlcReadResponse> readFuture = new 
CompletableFuture<>();
         ChannelFuture channelFuture = channel.writeAndFlush(new 
PlcRequestContainer<>((InternalPlcReadRequest) readRequest, readFuture));
@@ -101,7 +101,8 @@ public abstract class AdsAbstractPlcConnection extends 
AbstractPlcConnection imp
                 readFuture.completeExceptionally(future.cause());
             }
         });
-        return readFuture;
+        return readFuture
+            .thenApply(PlcReadResponse.class::cast);
     }
 
     @Override
@@ -110,7 +111,7 @@ public abstract class AdsAbstractPlcConnection extends 
AbstractPlcConnection imp
     }
 
     @Override
-    public CompletableFuture<InternalPlcWriteResponse> write(PlcWriteRequest 
writeRequest) {
+    public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest 
writeRequest) {
         mapFields(writeRequest);
         CompletableFuture<InternalPlcWriteResponse> writeFuture = new 
CompletableFuture<>();
         ChannelFuture channelFuture = channel.writeAndFlush(new 
PlcRequestContainer<>((InternalPlcWriteRequest) writeRequest, writeFuture));
@@ -119,7 +120,8 @@ public abstract class AdsAbstractPlcConnection extends 
AbstractPlcConnection imp
                 writeFuture.completeExceptionally(future.cause());
             }
         });
-        return writeFuture;
+        return writeFuture
+            .thenApply(PlcWriteResponse.class::cast);
     }
 
     @Override
@@ -128,7 +130,7 @@ public abstract class AdsAbstractPlcConnection extends 
AbstractPlcConnection imp
     }
 
     @Override
-    public <PROP_REQUEST, PROP_RESPONSE> CompletableFuture<? extends 
PlcProprietaryResponse<? extends PlcProprietaryRequest<PROP_REQUEST>, 
PROP_RESPONSE>> send(PlcProprietaryRequest<PROP_REQUEST> proprietaryRequest) {
+    public <PROP_REQUEST, PROP_RESPONSE> 
CompletableFuture<PlcProprietaryResponse<PlcProprietaryRequest<PROP_REQUEST>, 
PROP_RESPONSE>> send(PlcProprietaryRequest<PROP_REQUEST> proprietaryRequest) {
         CompletableFuture<InternalPlcProprietaryResponse<PROP_REQUEST, 
PROP_RESPONSE>> sendFuture = new CompletableFuture<>();
         ChannelFuture channelFuture = channel.writeAndFlush(new 
PlcRequestContainer<>((InternalPlcProprietaryRequest<PROP_REQUEST>) 
proprietaryRequest, sendFuture));
         channelFuture.addListener(future -> {
@@ -136,7 +138,8 @@ public abstract class AdsAbstractPlcConnection extends 
AbstractPlcConnection imp
                 sendFuture.completeExceptionally(future.cause());
             }
         });
-        return sendFuture;
+        return sendFuture
+            .thenApply(PlcProprietaryResponse.class::cast);
     }
 
     protected void mapFields(PlcFieldRequest request) {
diff --git 
a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
 
b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
index 5058b1e..6bc3b00 100644
--- 
a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
+++ 
b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
@@ -242,7 +242,7 @@ public class S7PlcConnection extends AbstractPlcConnection 
implements PlcReader,
     }
 
     @Override
-    public CompletableFuture<? extends PlcReadResponse> read(PlcReadRequest 
readRequest) {
+    public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) 
{
         CompletableFuture<InternalPlcReadResponse> future = new 
CompletableFuture<>();
         PlcRequestContainer<InternalPlcReadRequest, InternalPlcReadResponse> 
container =
             new PlcRequestContainer<>((InternalPlcReadRequest) readRequest, 
future);
@@ -251,7 +251,8 @@ public class S7PlcConnection extends AbstractPlcConnection 
implements PlcReader,
                 future.completeExceptionally(f.cause());
             }
         });
-        return future;
+        return future
+            .thenApply(PlcReadResponse.class::cast);
     }
 
     @Override
@@ -260,7 +261,7 @@ public class S7PlcConnection extends AbstractPlcConnection 
implements PlcReader,
     }
 
     @Override
-    public CompletableFuture<? extends PlcWriteResponse> write(PlcWriteRequest 
writeRequest) {
+    public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest 
writeRequest) {
         CompletableFuture<InternalPlcWriteResponse> future = new 
CompletableFuture<>();
         PlcRequestContainer<InternalPlcWriteRequest, InternalPlcWriteResponse> 
container =
             new PlcRequestContainer<>((InternalPlcWriteRequest) writeRequest, 
future);
@@ -269,7 +270,8 @@ public class S7PlcConnection extends AbstractPlcConnection 
implements PlcReader,
                 future.completeExceptionally(f.cause());
             }
         });
-        return future;
+        return future
+            .thenApply(PlcWriteResponse.class::cast);
     }
 
 }

Reply via email to