asfgit closed pull request #5: Cleanup warnings URL: https://github.com/apache/incubator-plc4x/pull/5
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): 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 eedfc794..33b5258a 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 @@ -65,7 +65,7 @@ Licensed to the Apache Software Foundation (ASF) under one public class PlcConnectionAdapter implements AutoCloseable { private static final Logger logger = LoggerFactory.getLogger(PlcConnectionAdapter.class); - private static final Class[] allowedDataTypes = new Class[]{Boolean.class, Byte.class, Short.class, Integer.class, Float.class, String.class, Calendar.class}; + private static final Class<?>[] allowedDataTypes = new Class[]{Boolean.class, Byte.class, Short.class, Integer.class, Float.class, String.class, Calendar.class}; private String plcConnectionUrl; private PlcConnection plcConnection; @@ -203,7 +203,7 @@ public void accept(JsonObject jo) { } static void checkDatatype(Class<?> cls) { - for (Class check: allowedDataTypes) { + for (Class<?> check: allowedDataTypes) { if (check == cls) return; } 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 16fd5818..3fd4e0d5 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 @@ -18,7 +18,21 @@ Licensed to the Apache Software Foundation (ASF) under one */ package org.apache.plc4x.edgent; -import com.google.gson.JsonObject; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.IsEqual.equalTo; +import static org.hamcrest.core.IsNot.not; +import static org.hamcrest.core.IsNull.notNullValue; +import static org.hamcrest.core.IsNull.nullValue; +import static org.hamcrest.core.IsSame.sameInstance; +import static org.hamcrest.object.IsCompatibleType.typeCompatibleWith; +import static org.junit.Assert.assertThat; + +import java.lang.reflect.Array; +import java.util.Calendar; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; + import org.apache.edgent.function.Consumer; import org.apache.edgent.function.Function; import org.apache.edgent.function.Supplier; @@ -38,25 +52,12 @@ Licensed to the Apache Software Foundation (ASF) under one import org.junit.Test; import org.junit.experimental.categories.Category; -import java.lang.reflect.Array; -import java.util.Calendar; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; - -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsEqual.equalTo; -import static org.hamcrest.core.IsNot.not; -import static org.hamcrest.core.IsNull.notNullValue; -import static org.hamcrest.core.IsNull.nullValue; -import static org.hamcrest.core.IsSame.sameInstance; -import static org.hamcrest.object.IsCompatibleType.typeCompatibleWith; -import static org.junit.Assert.assertThat; +import com.google.gson.JsonObject; public class PlcConnectionAdapterTest { protected MockConnection getMockConnection() throws PlcConnectionException { - return (MockConnection) new PlcDriverManager().getConnection("mock://some-cool-url"); + return (MockConnection) new PlcDriverManager().getConnection("mock-for-edgent-integration://some-cool-url"); } /* @@ -123,7 +124,6 @@ public void testDoubleDataTypeIsInvalid() { assertThat(value, equalTo(response.getResponseItems().get(0).getValues().get(0))); } - @SuppressWarnings("unchecked") private <T> void checkWrite(MockConnection connection, TypeSafePlcWriteRequest<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 @@ -134,12 +134,14 @@ public void testDoubleDataTypeIsInvalid() { assertThat(cf.isDone(), is(true)); PlcWriteResponse response = cf.get(); assertThat(response, notNullValue()); - T writtenData = (T) connection.getDataValue(request.getRequestItems().get(0).getAddress()); + Object writtenData = connection.getDataValue(request.getRequestItems().get(0).getAddress()); if (writtenData.getClass().isArray()) { - writtenData = (T) Array.get(writtenData, 0); + writtenData = Array.get(writtenData, 0); } if (List.class.isAssignableFrom(writtenData.getClass())) { - writtenData = (T) ((List) writtenData).get(0); + @SuppressWarnings("unchecked") + List<Object> writtenDataList = (List<Object>) writtenData; + writtenData = writtenDataList.get(0); } assertThat(value, equalTo(writtenData)); } @@ -147,7 +149,6 @@ public void testDoubleDataTypeIsInvalid() { /* * Verify the adapter yields the appropriate PlcReadRequest for each type and that it works. */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewPlcReadRequest() throws Exception { @@ -225,7 +226,6 @@ public void testNewPlcReadRequest() throws Exception { /* * Verify the adapter yields the appropriate PlcWriteRequest for each type and that it works. */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewPlcWriteRequest() throws Exception { @@ -297,7 +297,6 @@ public void testNewPlcWriteRequest() throws Exception { /* * test PlcConnectionAdapter.newSupplier */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewSupplier() throws Exception { @@ -337,7 +336,6 @@ public void testNewSupplier() throws Exception { /* * test PlcConnectionAdapter.newSupplier with read exception */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewSupplierNeg() throws Exception { @@ -379,7 +377,6 @@ public void testNewSupplierNeg() throws Exception { /* * test PlcConnectionAdapter.newConsumer(address) */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewConsumer1() throws Exception { @@ -415,7 +412,6 @@ public void testNewConsumer1() throws Exception { /* * test PlcConnectionAdapter.newConsumer(address) with write exception */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewConsumer1Neg() throws Exception { @@ -436,7 +432,6 @@ public void testNewConsumer1Neg() throws Exception { checkConsumer(0, connection, address, consumer, values); } - @SuppressWarnings("unchecked") private static <T> void checkConsumer(int writeFailureCountTrigger, MockConnection connection, Address address, Consumer<T> consumer, Object... values) throws Exception { // verify that a write failure doesn't kill the consumer // it logs (not verified) but keeps working for the subsequent writes @@ -444,13 +439,17 @@ public void testNewConsumer1Neg() throws Exception { int writeCount = 0; Object previousValue = null; for (Object value : values) { - consumer.accept((T) value); - T writtenData = (T) connection.getDataValue(address); + @SuppressWarnings("unchecked") + T tValue = (T) value; + consumer.accept(tValue); + Object writtenData = connection.getDataValue(address); if (List.class.isAssignableFrom(writtenData.getClass())) { - writtenData = (T) ((List) writtenData).get(0); + @SuppressWarnings("unchecked") + List<Object> writtenDataList = (List<Object>) writtenData; + writtenData = writtenDataList.get(0); } if (writtenData.getClass().isArray()) { - writtenData = (T) Array.get(writtenData, 0); + writtenData = Array.get(writtenData, 0); } // System.out.println("checkConsumer"+(writeFailureCountTrigger > 0 ? "NEG" : "")+": value:"+value+" writtenData:"+writtenData); if (writeFailureCountTrigger <= 0) @@ -545,13 +544,15 @@ else if (value instanceof String) consumer.accept(jo); - @SuppressWarnings("unchecked") - T writtenData = (T) connection.getDataValue(address); + Object writtenData = connection.getDataValue(address); if (writtenData.getClass().isArray()) { - writtenData = (T) Array.get(writtenData, 0); + Object[] writtenDataArray = (Object[]) writtenData; + writtenData = Array.get((Object[]) writtenDataArray, 0); } if (List.class.isAssignableFrom(writtenData.getClass())) { - writtenData = (T) ((List) writtenData).get(0); + @SuppressWarnings("unchecked") + List<Object> writtenDataList = (List<Object>) writtenData; + writtenData = writtenDataList.get(0); } // System.out.println("checkConsumerJson"+(writeFailureCountTrigger > 0 ? "NEG" : "")+": value:"+value+" writtenData:"+writtenData); if (writeFailureCountTrigger <= 0) diff --git a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcFunctionsTest.java b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcFunctionsTest.java index e7b07602..79df8378 100644 --- a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcFunctionsTest.java +++ b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcFunctionsTest.java @@ -33,18 +33,8 @@ Licensed to the Apache Software Foundation (ASF) under one public class PlcFunctionsTest { - // TODO figure out how to get these run via Eclipse (org.junit.jupiter.api?) and remove this - // Ah... Junit 5... needs newer Eclipse (newer than neon 1.a) - public static void main(String[] args) throws Exception { - PlcFunctionsTest t = new PlcFunctionsTest(); - t.testSupplier(); - t.testNewConsumer1(); - t.testNewConsumer2(); - System.out.println("SUCCESS"); - } - protected MockConnection getMockConnection() throws PlcConnectionException { - return (MockConnection) new PlcDriverManager().getConnection("mock://some-cool-url"); + return (MockConnection) new PlcDriverManager().getConnection("mock-for-edgent-integration://some-cool-url"); } /* @@ -59,7 +49,7 @@ public void testSupplier() throws Exception { PlcConnectionAdapter adapter = new PlcConnectionAdapter(getMockConnection()); MockConnection connection = (MockConnection) adapter.getConnection(); - Supplier supplier; + Supplier<?> supplier; supplier = PlcFunctions.booleanSupplier(adapter, addressStr); PlcConnectionAdapterTest.checkSupplier(connection, address, (Supplier<Boolean>)supplier, true, false); @@ -85,7 +75,6 @@ public void testSupplier() throws Exception { /* * test PlcConnectionAdapter.newConsumer(address) */ - @SuppressWarnings("unchecked") @Test @Category(FastTests.class) public void testNewConsumer1() throws Exception { 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 1b52ff94..6500ffeb 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 @@ -18,6 +18,13 @@ Licensed to the Apache Software Foundation (ASF) under one */ package org.apache.plc4x.edgent.mock; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; + import org.apache.plc4x.java.api.authentication.PlcAuthentication; import org.apache.plc4x.java.api.connection.AbstractPlcConnection; import org.apache.plc4x.java.api.connection.PlcReader; @@ -40,9 +47,6 @@ Licensed to the Apache Software Foundation (ASF) under one import org.apache.plc4x.java.api.model.Address; import org.apache.plc4x.java.api.types.ResponseCode; -import java.util.*; -import java.util.concurrent.CompletableFuture; - public class MockConnection extends AbstractPlcConnection implements PlcReader, PlcWriter { private final String url; @@ -103,15 +107,19 @@ public Address parseAddress(String addressString) throws PlcException { cf.completeExceptionally(new PlcIoException(readExceptionMsg)); return cf; } - List<ReadResponseItem<?>> responseItems = new LinkedList<>(); - for (ReadRequestItem requestItem : readRequest.getRequestItems()) { - ReadResponseItem responseItem = new ReadResponseItem(requestItem, ResponseCode.OK, + List<ReadResponseItem<Object>> responseItems = new LinkedList<>(); + for (ReadRequestItem<?> reqItem : readRequest.getRequestItems()) { + @SuppressWarnings("unchecked") + ReadRequestItem<Object> requestItem = (ReadRequestItem<Object>) reqItem; + ReadResponseItem<Object> responseItem = new ReadResponseItem<>(requestItem, ResponseCode.OK, Collections.singletonList(getDataValue(requestItem.getAddress()))); responseItems.add(responseItem); } PlcReadResponse response; if (readRequest instanceof TypeSafePlcReadRequest) { - response = new TypeSafePlcReadResponse((TypeSafePlcReadRequest) readRequest, responseItems.isEmpty() ? null : responseItems.get(0)); + @SuppressWarnings("unchecked") + TypeSafePlcReadRequest<Object> readReq = (TypeSafePlcReadRequest<Object>) readRequest; + response = new TypeSafePlcReadResponse<Object>(readReq, responseItems); } else { response = new PlcReadResponse(readRequest, responseItems); } @@ -128,15 +136,17 @@ public Address parseAddress(String addressString) throws PlcException { cf.completeExceptionally(new PlcIoException(writeExceptionMsg)); return cf; } - List<WriteResponseItem<?>> responseItems = new LinkedList<>(); - for (WriteRequestItem requestItem : writeRequest.getRequestItems()) { + List<WriteResponseItem<Object>> responseItems = new LinkedList<>(); + for (WriteRequestItem<?> reqItem : writeRequest.getRequestItems()) { + WriteRequestItem<Object> requestItem = (WriteRequestItem<Object>) reqItem; setDataValue(requestItem.getAddress(), requestItem.getValues()); - WriteResponseItem<?> responseItem = new WriteResponseItem<>(requestItem, ResponseCode.OK); + WriteResponseItem<Object> responseItem = new WriteResponseItem<>(requestItem, ResponseCode.OK); responseItems.add(responseItem); } PlcWriteResponse response; if (writeRequest instanceof TypeSafePlcWriteRequest) { - response = new TypeSafePlcWriteResponse((TypeSafePlcWriteRequest) writeRequest, responseItems.isEmpty() ? null : responseItems.get(0)); + TypeSafePlcWriteRequest<Object> writeReq = (TypeSafePlcWriteRequest<Object>) writeRequest; + response = new TypeSafePlcWriteResponse<Object>(writeReq, responseItems); } else { response = new PlcWriteResponse(writeRequest, responseItems); } diff --git a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java index 6c3a909d..d5c574b3 100644 --- a/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java +++ b/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java @@ -27,7 +27,7 @@ Licensed to the Apache Software Foundation (ASF) under one @Override public String getProtocolCode() { - return "mock"; + return "mock-for-edgent-integration"; } @Override ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services