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 2018/10/17 16:48:12 UTC
[incubator-plc4x] 05/19: implemented new api for modbus protocol
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 996b74e6f52d1502d461d63be2e4d082324736d4
Author: Andrey Skorikov <an...@codecentric.de>
AuthorDate: Thu Oct 4 11:47:12 2018 +0200
implemented new api for modbus protocol
---
.../plc4x/java/modbus/connection/BaseModbusPlcConnection.java | 8 ++++----
.../plc4x/java/modbus/connection/ModbusTcpPlcConnection.java | 2 +-
.../org/apache/plc4x/java/modbus/ManualPlc4XModbusTest.java | 10 +++++-----
.../java/modbus/connection/BaseModbusPlcConnectionTest.java | 4 ++--
.../java/modbus/connection/ModbusSerialPlcConnectionTest.java | 2 +-
.../plc4x/java/modbus/netty/Plc4XModbusProtocolTest.java | 6 +++---
6 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
index a9db2af..68e38a2 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
+++ b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
@@ -60,11 +60,11 @@ public abstract class BaseModbusPlcConnection extends AbstractPlcConnection impl
@Override
public PlcReadRequest.Builder readRequestBuilder() {
- return new DefaultPlcReadRequest.Builder(new ModbusPlcFieldHandler());
+ return new DefaultPlcReadRequest.Builder(this, new ModbusPlcFieldHandler());
}
@Override
- public CompletableFuture<PlcReadResponse<?>> read(PlcReadRequest readRequest) {
+ public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) {
CompletableFuture<InternalPlcReadResponse> future = new CompletableFuture<>();
PlcRequestContainer<InternalPlcReadRequest, InternalPlcReadResponse> container =
new PlcRequestContainer<>((InternalPlcReadRequest) readRequest, future);
@@ -79,11 +79,11 @@ public abstract class BaseModbusPlcConnection extends AbstractPlcConnection impl
@Override
public PlcWriteRequest.Builder writeRequestBuilder() {
- return new DefaultPlcWriteRequest.Builder(new ModbusPlcFieldHandler());
+ return new DefaultPlcWriteRequest.Builder(this, new ModbusPlcFieldHandler());
}
@Override
- public CompletableFuture<PlcWriteResponse<?>> write(PlcWriteRequest writeRequest) {
+ public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest) {
CompletableFuture<InternalPlcWriteResponse> future = new CompletableFuture<>();
PlcRequestContainer<InternalPlcWriteRequest, InternalPlcWriteResponse> container =
new PlcRequestContainer<>((InternalPlcWriteRequest) writeRequest, future);
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
index 1bcdb67..5e5be0c 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
+++ b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
@@ -69,7 +69,7 @@ public class ModbusTcpPlcConnection extends BaseModbusPlcConnection {
protected void initChannel(Channel channel) {
channel.pipeline().addLast(new ModbusTcpCodec(new ModbusRequestEncoder(), new ModbusResponseDecoder()));
channel.pipeline().addLast(new Plc4XModbusProtocol());
- channel.pipeline().addLast(new SingleItemToSingleRequestProtocol(timer));
+ channel.pipeline().addLast(new SingleItemToSingleRequestProtocol(ModbusTcpPlcConnection.this, ModbusTcpPlcConnection.this, timer));
}
};
}
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualPlc4XModbusTest.java b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualPlc4XModbusTest.java
index bfa1f2c..370840d 100644
--- a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualPlc4XModbusTest.java
+++ b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualPlc4XModbusTest.java
@@ -50,7 +50,7 @@ public class ManualPlc4XModbusTest {
{
PlcReader reader = plcConnection.getReader().orElseThrow(() -> new RuntimeException("No Reader found"));
- PlcReadResponse<?> readResponse = reader.read(builder -> builder.addItem("randomRegister", "register:7[3]")).get();
+ PlcReadResponse readResponse = reader.read(builder -> builder.addItem("randomRegister", "register:7[3]")).get();
System.out.println("Response " + readResponse);
readResponse.getAllByteArrays("randomRegister").stream()
.map(HexUtil::toHex)
@@ -63,7 +63,7 @@ public class ManualPlc4XModbusTest {
PlcReader reader = plcConnection.getReader().orElseThrow(() -> new RuntimeException("No Reader found"));
// Just dump the actual values
- PlcReadResponse<?> readResponse = reader.read(builder -> builder.addItem("randomRegister", "register:3[2]")).get();
+ PlcReadResponse readResponse = reader.read(builder -> builder.addItem("randomRegister", "register:3[2]")).get();
System.out.println("Response " + readResponse);
Collection<Byte[]> randomRegisters = readResponse.getAllByteArrays("randomRegister");
randomRegisters.stream()
@@ -86,7 +86,7 @@ public class ManualPlc4XModbusTest {
PlcReader reader = plcConnection.getReader().orElseThrow(() -> new RuntimeException("No Reader found"));
// Just dump the actual values
- PlcReadResponse<?> readResponse = reader.read(builder -> builder
+ PlcReadResponse readResponse = reader.read(builder -> builder
.addItem("randomRegister1", "register:1[2]")
.addItem("randomRegister2", "register:10[3]")
.addItem("randomRegister3", "register:20[4]")
@@ -115,7 +115,7 @@ public class ManualPlc4XModbusTest {
{
PlcReader reader = plcConnection.getReader().orElseThrow(() -> new RuntimeException("No Reader found"));
- PlcReadResponse<?> readResponse = reader.read(builder -> builder.addItem("randomCoil", "coil:1[9]")).get();
+ PlcReadResponse readResponse = reader.read(builder -> builder.addItem("randomCoil", "coil:1[9]")).get();
System.out.println("Response " + readResponse);
readResponse.getAllBooleans("randomCoil").stream()
.map(hex -> "Coil Value: " + hex)
@@ -125,7 +125,7 @@ public class ManualPlc4XModbusTest {
{
PlcWriter writer = plcConnection.getWriter().orElseThrow(() -> new RuntimeException("No Writer found"));
- PlcWriteResponse<?> writeResponse = writer.write(builder -> builder.addItem("randomCoilField", "coil:1", true)).get();
+ PlcWriteResponse writeResponse = writer.write(builder -> builder.addItem("randomCoilField", "coil:1", true)).get();
System.out.println("Response " + writeResponse);
}
} catch (Exception e) {
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
index 62f94cb..8a4c419 100644
--- a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
+++ b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
@@ -90,7 +90,7 @@ public class BaseModbusPlcConnectionTest {
@Test
public void read() {
- CompletableFuture<PlcReadResponse<?>> read = SUT.read(mock(InternalPlcReadRequest.class));
+ CompletableFuture<PlcReadResponse> read = SUT.read(mock(InternalPlcReadRequest.class));
assertNotNull(read);
simulatePipelineError(() -> SUT.read(mock(InternalPlcReadRequest.class)));
@@ -98,7 +98,7 @@ public class BaseModbusPlcConnectionTest {
@Test
public void write() {
- CompletableFuture<PlcWriteResponse<?>> write = SUT.write(mock(InternalPlcWriteRequest.class));
+ CompletableFuture<PlcWriteResponse> write = SUT.write(mock(InternalPlcWriteRequest.class));
assertNotNull(write);
simulatePipelineError(() -> SUT.write(mock(InternalPlcWriteRequest.class)));
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
index b0d1478..68c2183 100644
--- a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
+++ b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
@@ -65,7 +65,7 @@ public class ModbusSerialPlcConnectionTest {
@Test
public void testRead() throws Exception {
prepareSerialSimulator();
- CompletableFuture<PlcReadResponse<?>> read = SUT.read(builder -> builder.addItem("randomRead", "0/0"));
+ CompletableFuture<PlcReadResponse> read = SUT.read(builder -> builder.addItem("randomRead", "0/0"));
PlcReadResponse plcReadResponse = read.get(30, TimeUnit.SECONDS);
assertNotNull(plcReadResponse);
}
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocolTest.java b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocolTest.java
index b67f97a..3a40f12 100644
--- a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocolTest.java
+++ b/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocolTest.java
@@ -124,7 +124,7 @@ public class Plc4XModbusProtocolTest {
private static ImmutablePair<PlcRequestContainer<InternalPlcReadRequest, InternalPlcResponse>, ModbusTcpPayload> producePair(Class type, String field, ModbusPdu modbusPdu) {
return ImmutablePair.of(
new PlcRequestContainer<>(
- (InternalPlcReadRequest) new DefaultPlcReadRequest.Builder(new ModbusPlcFieldHandler())
+ (InternalPlcReadRequest) new DefaultPlcReadRequest.Builder(null, new ModbusPlcFieldHandler()) // TODO: remove null
.addItem(RandomStringUtils.randomAlphabetic(10), field)
.build(), new CompletableFuture<>()),
new ModbusTcpPayload((short) 0, (short) 0, modbusPdu)
@@ -139,7 +139,7 @@ public class Plc4XModbusProtocolTest {
if (values.length == 1) {
return ImmutablePair.of(
new PlcRequestContainer<>(
- (InternalPlcWriteRequest) new DefaultPlcWriteRequest.Builder(new ModbusPlcFieldHandler())
+ (InternalPlcWriteRequest) new DefaultPlcWriteRequest.Builder(null, new ModbusPlcFieldHandler()) // TODO: remove null
.addItem(RandomStringUtils.randomAlphabetic(10), field, values[0])
.build(), new CompletableFuture<>()),
new ModbusTcpPayload((short) 0, (short) 0, modbusPdu)
@@ -147,7 +147,7 @@ public class Plc4XModbusProtocolTest {
} else {
return ImmutablePair.of(
new PlcRequestContainer<>(
- (InternalPlcWriteRequest) new DefaultPlcWriteRequest.Builder(new ModbusPlcFieldHandler())
+ (InternalPlcWriteRequest) new DefaultPlcWriteRequest.Builder(null, new ModbusPlcFieldHandler()) // TODO: remove null
.addItem(RandomStringUtils.randomAlphabetic(10), field, values)
.build(), new CompletableFuture<>()),
new ModbusTcpPayload((short) 0, (short) 0, modbusPdu)