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 14:40:14 UTC
[incubator-plc4x] 02/12: fixed edgent test
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 3ce27ea3b73614c86cddcdcd44880fe0c46586d3
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jan 11 12:14:54 2018 +0100
fixed edgent test
---
.../apache/plc4x/edgent/PlcConnectionAdapter.java | 2 +-
.../plc4x/edgent/PlcConnectionAdapterTest.java | 44 +++++++++++++---------
.../apache/plc4x/edgent/mock/MockConnection.java | 8 ++--
3 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcConnectionAdapter.java b/integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcConnectionAdapter.java
index a689c92..c12f82e 100644
--- a/integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcConnectionAdapter.java
+++ b/integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcConnectionAdapter.java
@@ -112,7 +112,7 @@ public class PlcConnectionAdapter implements AutoCloseable {
address = connection.parseAddress(addressStr);
PlcReader reader = connection.getReader().get();
SinglePlcReadRequest<T> readRequest = PlcConnectionAdapter.newPlcReadRequest(datatype, address);
- return reader.read(readRequest).get().getResponseItems().get(0).getValues().get(0);
+ return reader.read(readRequest).get().getResponseItem().get().getValues().get(0);
} catch (Exception e) {
logger.error("reading from plc device {} {} failed", connection, address, e);
return null;
diff --git a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java
index 8b95451..ead9699 100644
--- a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java
+++ b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java
@@ -26,7 +26,7 @@ import org.apache.plc4x.edgent.mock.MockAddress;
import org.apache.plc4x.edgent.mock.MockConnection;
import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
-import org.apache.plc4x.java.api.messages.*;
+import org.apache.plc4x.java.api.messages.PlcWriteResponse;
import org.apache.plc4x.java.api.messages.items.ReadRequestItem;
import org.apache.plc4x.java.api.messages.items.WriteRequestItem;
import org.apache.plc4x.java.api.messages.specific.SinglePlcReadRequest;
@@ -40,6 +40,7 @@ import org.junit.jupiter.api.Test;
import java.lang.reflect.Array;
import java.util.Calendar;
+import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -116,7 +117,7 @@ public class PlcConnectionAdapterTest {
private <T> void checkRead(MockConnection connection, SinglePlcReadRequest<T> request, T value) throws InterruptedException, ExecutionException {
// this is really a tests of our mock tooling but knowing it's behaving as expected
// will help identify problems in the adapter/supplier/consumer
- connection.setDataValue(request.getReadRequestItems().get(0).getAddress(), value);
+ connection.setDataValue(request.getCheckedReadRequestItems().get(0).getAddress(), value);
CompletableFuture<SinglePlcReadResponse<T>> cf = connection.read(request);
@@ -140,6 +141,9 @@ public class PlcConnectionAdapterTest {
if (writtenData.getClass().isArray()) {
writtenData = (T) Array.get(writtenData, 0);
}
+ if (List.class.isAssignableFrom(writtenData.getClass())) {
+ writtenData = (T) ((List) writtenData).get(0);
+ }
Assertions.assertEquals(value, writtenData);
}
@@ -157,7 +161,7 @@ public class PlcConnectionAdapterTest {
{
SinglePlcReadRequest<Boolean> request = PlcConnectionAdapter.newPlcReadRequest(Boolean.class, address);
- ReadRequestItem<Boolean> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<Boolean> requestItem = request.getCheckedReadRequestItems().get(0);
Class<Boolean> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == Boolean.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -166,7 +170,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcReadRequest<Byte> request = PlcConnectionAdapter.newPlcReadRequest(Byte.class, address);
- ReadRequestItem<Byte> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<Byte> requestItem = request.getCheckedReadRequestItems().get(0);
Class<Byte> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == Byte.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -175,7 +179,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcReadRequest<Short> request = PlcConnectionAdapter.newPlcReadRequest(Short.class, address);
- ReadRequestItem<Short> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<Short> requestItem = request.getCheckedReadRequestItems().get(0);
Class<Short> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == Short.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -184,7 +188,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcReadRequest<Integer> request = PlcConnectionAdapter.newPlcReadRequest(Integer.class, address);
- ReadRequestItem<Integer> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<Integer> requestItem = request.getCheckedReadRequestItems().get(0);
Class<Integer> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == Integer.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -193,7 +197,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcReadRequest<Float> request = PlcConnectionAdapter.newPlcReadRequest(Float.class, address);
- ReadRequestItem<Float> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<Float> requestItem = request.getCheckedReadRequestItems().get(0);
Class<Float> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == Float.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -202,7 +206,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcReadRequest<String> request = PlcConnectionAdapter.newPlcReadRequest(String.class, address);
- ReadRequestItem<String> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<String> requestItem = request.getCheckedReadRequestItems().get(0);
Class<String> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == String.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -211,7 +215,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcReadRequest<Calendar> request = PlcConnectionAdapter.newPlcReadRequest(Calendar.class, address);
- ReadRequestItem<Calendar> requestItem = request.getReadRequestItems().get(0);
+ ReadRequestItem<Calendar> requestItem = request.getCheckedReadRequestItems().get(0);
Class<Calendar> dataType = requestItem.getDatatype();
Assertions.assertTrue(dataType == Calendar.class, "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -235,7 +239,7 @@ public class PlcConnectionAdapterTest {
{
SinglePlcWriteRequest<Boolean> request = PlcConnectionAdapter.newPlcWriteRequest(address, true);
- WriteRequestItem<Boolean> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<Boolean> requestItem = request.getCheckedRequestItems().get(0);
Class<Boolean> dataType = requestItem.getDatatype();
Assertions.assertTrue(Boolean.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -243,7 +247,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcWriteRequest<Byte> request = PlcConnectionAdapter.newPlcWriteRequest(address, (byte) 0x113);
- WriteRequestItem<Byte> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<Byte> requestItem = request.getCheckedRequestItems().get(0);
Class<Byte> dataType = requestItem.getDatatype();
Assertions.assertTrue(Byte.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -251,7 +255,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcWriteRequest<Short> request = PlcConnectionAdapter.newPlcWriteRequest(address, (short) 113);
- WriteRequestItem<Short> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<Short> requestItem = request.getCheckedRequestItems().get(0);
Class<Short> dataType = requestItem.getDatatype();
Assertions.assertTrue(Short.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -259,7 +263,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcWriteRequest<Integer> request = PlcConnectionAdapter.newPlcWriteRequest(address, 1033);
- WriteRequestItem<Integer> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<Integer> requestItem = request.getCheckedRequestItems().get(0);
Class<Integer> dataType = requestItem.getDatatype();
Assertions.assertTrue(Integer.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -267,7 +271,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcWriteRequest<Float> request = PlcConnectionAdapter.newPlcWriteRequest(address, 1043.5f);
- WriteRequestItem<Float> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<Float> requestItem = request.getCheckedRequestItems().get(0);
Class<Float> dataType = requestItem.getDatatype();
Assertions.assertTrue(Float.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -275,7 +279,7 @@ public class PlcConnectionAdapterTest {
}
{
SinglePlcWriteRequest<String> request = PlcConnectionAdapter.newPlcWriteRequest(address, "A written value");
- WriteRequestItem<String> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<String> requestItem = request.getCheckedRequestItems().get(0);
Class<String> dataType = requestItem.getDatatype();
Assertions.assertTrue(String.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -284,7 +288,7 @@ public class PlcConnectionAdapterTest {
{
Calendar calValue = Calendar.getInstance();
SinglePlcWriteRequest<Calendar> request = PlcConnectionAdapter.newPlcWriteRequest(address, calValue);
- WriteRequestItem<Calendar> requestItem = request.getRequestItems().get(0);
+ WriteRequestItem<Calendar> requestItem = request.getCheckedRequestItems().get(0);
Class<Calendar> dataType = requestItem.getDatatype();
Assertions.assertTrue(Calendar.class.isAssignableFrom(dataType), "class:" + request.getClass());
Assertions.assertSame(address, requestItem.getAddress());
@@ -426,7 +430,7 @@ public class PlcConnectionAdapterTest {
Consumer<?> consumer;
consumer = adapter.newConsumer(String.class, addressStr);
- checkConsumer(2, connection, address, (Consumer<String>) consumer, "one", "two", "three");
+ checkConsumer(2, connection, address, consumer, "one", "two", "three");
adapter.close();
}
@@ -445,6 +449,9 @@ public class PlcConnectionAdapterTest {
for (Object value : values) {
consumer.accept((T) value);
T writtenData = (T) connection.getDataValue(address);
+ if (List.class.isAssignableFrom(writtenData.getClass())) {
+ writtenData = (T) ((List) writtenData).get(0);
+ }
if (writtenData.getClass().isArray()) {
writtenData = (T) Array.get(writtenData, 0);
}
@@ -546,6 +553,9 @@ public class PlcConnectionAdapterTest {
if (writtenData.getClass().isArray()) {
writtenData = (T) Array.get(writtenData, 0);
}
+ if (List.class.isAssignableFrom(writtenData.getClass())) {
+ writtenData = (T) ((List) writtenData).get(0);
+ }
// System.out.println("checkConsumerJson"+(writeFailureCountTrigger > 0 ? "NEG" : "")+": value:"+value+" writtenData:"+writtenData);
if (writeFailureCountTrigger <= 0)
Assertions.assertEquals(value, writtenData);
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 c31eb2a..c17e7de 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
@@ -104,7 +104,7 @@ public class MockConnection extends AbstractPlcConnection implements PlcReader,
if (readRequest instanceof SinglePlcReadRequest) {
response = new SinglePlcReadResponse((SinglePlcReadRequest) readRequest, responseItems.isEmpty() ? null : responseItems.get(0));
} else if (readRequest instanceof BulkPlcReadRequest) {
- response = new BulkPlcReadResponse((BulkPlcReadRequest) readRequest, responseItems);
+ response = new BulkPlcReadResponse(readRequest, responseItems);
} else {
response = null;
}
@@ -128,10 +128,10 @@ public class MockConnection extends AbstractPlcConnection implements PlcReader,
responseItems.add(responseItem);
}
PlcWriteResponse response;
- if (writeRequest instanceof BulkPlcWriteRequest) {
- response = new BulkPlcWriteResponse((BulkPlcWriteRequest) writeRequest, responseItems);
- } else if (writeRequest instanceof SinglePlcWriteRequest) {
+ 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;
}
--
To stop receiving notification emails like this one, please contact
"commits@plc4x.apache.org" <co...@plc4x.apache.org>.