You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by dl...@apache.org on 2018/02/26 18:52:59 UTC

[incubator-plc4x] branch master updated: Cleanup warnings

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

dlaboss pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/master by this push:
     new 02197e8  Cleanup warnings
     new 3927527  Merge pull request #5
02197e8 is described below

commit 02197e8f7094e97b265e33e3600759524e2d49b9
Author: Dale LaBossiere <dl...@us.ibm.com>
AuthorDate: Mon Feb 26 13:31:06 2018 -0500

    Cleanup warnings
    
    - raw type usage
    - unchecked type conversions
    - unneeded @SuppressWarnings
    - old junit5 cruft
---
 .../apache/plc4x/edgent/PlcConnectionAdapter.java  |  4 +-
 .../plc4x/edgent/PlcConnectionAdapterTest.java     | 71 +++++++++++-----------
 .../org/apache/plc4x/edgent/PlcFunctionsTest.java  | 15 +----
 .../apache/plc4x/edgent/mock/MockConnection.java   | 32 ++++++----
 .../org/apache/plc4x/edgent/mock/MockDriver.java   |  2 +-
 5 files changed, 62 insertions(+), 62 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 eedfc79..33b5258 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 @@ import com.google.gson.JsonObject;
 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 class PlcConnectionAdapter implements AutoCloseable {
     }
 
     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 16fd581..3fd4e0d 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 @@ under the License.
 */
 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 @@ import org.apache.plc4x.test.FastTests;
 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 class PlcConnectionAdapterTest {
         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 class PlcConnectionAdapterTest {
         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 class PlcConnectionAdapterTest {
     /*
      * 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 class PlcConnectionAdapterTest {
     /*
      * 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 class PlcConnectionAdapterTest {
     /*
      * test PlcConnectionAdapter.newSupplier
      */
-    @SuppressWarnings("unchecked")
     @Test
     @Category(FastTests.class)
     public void testNewSupplier() throws Exception {
@@ -337,7 +336,6 @@ public class PlcConnectionAdapterTest {
     /*
      * test PlcConnectionAdapter.newSupplier with read exception
      */
-    @SuppressWarnings("unchecked")
     @Test
     @Category(FastTests.class)
     public void testNewSupplierNeg() throws Exception {
@@ -379,7 +377,6 @@ public class PlcConnectionAdapterTest {
     /*
      * test PlcConnectionAdapter.newConsumer(address)
      */
-    @SuppressWarnings("unchecked")
     @Test
     @Category(FastTests.class)
     public void testNewConsumer1() throws Exception {
@@ -415,7 +412,6 @@ public class PlcConnectionAdapterTest {
     /*
      * test PlcConnectionAdapter.newConsumer(address) with write exception
      */
-    @SuppressWarnings("unchecked")
     @Test
     @Category(FastTests.class)
     public void testNewConsumer1Neg() throws Exception {
@@ -436,7 +432,6 @@ public class PlcConnectionAdapterTest {
         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 class PlcConnectionAdapterTest {
         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 @@ public class PlcConnectionAdapterTest {
 
             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 e7b0760..79df837 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 @@ import com.google.gson.JsonObject;
 
 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 class PlcFunctionsTest {
     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 class PlcFunctionsTest {
   /*
    * 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 1b52ff9..6500ffe 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 @@ under the License.
 */
 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 @@ import org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteResponse;
 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 class MockConnection extends AbstractPlcConnection implements PlcReader,
             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 class MockConnection extends AbstractPlcConnection implements PlcReader,
             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 6c3a909..d5c574b 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 @@ public class MockDriver implements PlcDriver {
 
     @Override
     public String getProtocolCode() {
-        return "mock";
+        return "mock-for-edgent-integration";
     }
 
     @Override

-- 
To stop receiving notification emails like this one, please contact
dlaboss@apache.org.