increase code quality in tools api/testutils by using infrautils' parent
authorMichael Vorburger <vorburger@redhat.com>
Fri, 6 Apr 2018 19:28:51 +0000 (21:28 +0200)
committerMichael Vorburger <vorburger@redhat.com>
Wed, 25 Apr 2018 09:48:50 +0000 (09:48 +0000)
Change-Id: I7485ce352b452cec2db19c5e726c9bb51438846c
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
api/pom.xml
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/AbstractAsyncDataTreeChangeListener.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/AbstractClusteredAsyncDataTreeChangeListener.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/AbstractClusteredSyncDataTreeChangeListener.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/AbstractDataTreeChangeListener.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/AbstractSyncDataTreeChangeListener.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/DataStoreMetrics.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/listener/DataTreeChangeListenerActions.java
api/src/main/java/org/opendaylight/genius/tools/mdsal/rpc/FutureRpcResults.java
testutils/pom.xml
testutils/src/test/java/org/opendaylight/genius/tools/mdsal/rpc/FutureRpcResultsTest.java

index 2775caaed16092107102854b24c3a257f46c53a5..eb31251b79ef5c85fdf6c25973731b6c7d51747f 100644 (file)
@@ -12,14 +12,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 
   <parent>
     <groupId>org.opendaylight.genius</groupId>
-    <artifactId>binding-parent</artifactId>
+    <artifactId>quality-parent</artifactId>
     <version>0.5.0-SNAPSHOT</version>
-    <relativePath>../../commons/binding-parent</relativePath>
+    <relativePath>../../commons/quality-parent/</relativePath>
   </parent>
 
   <groupId>org.opendaylight.genius</groupId>
   <artifactId>tools-api</artifactId>
-  <version>0.5.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
   <!-- <name> formatting is used by autorelease to parse and notify projects on
        build failure. Please do not modify this unless you have a good reason. -->
@@ -37,12 +36,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <dependency>
       <groupId>org.opendaylight.infrautils</groupId>
       <artifactId>metrics-api</artifactId>
-      <version>${genius.infrautils.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.infrautils</groupId>
       <artifactId>infrautils-util</artifactId>
-      <version>${genius.infrautils.version}</version>
     </dependency>
     <dependency>
       <groupId>javax.inject</groupId>
@@ -57,5 +54,47 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <artifactId>pax-cdi-api</artifactId>
       <optional>true</optional>
     </dependency>
+
+    <!-- Dependencies with <scope>test -->
+    <dependency>
+      <groupId>org.opendaylight.yangtools</groupId>
+      <artifactId>testutils</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.awaitility</groupId>
+      <artifactId>awaitility</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-test-utils</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.infrautils</groupId>
+      <artifactId>infrautils-testutils</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.truth</groupId>
+      <artifactId>truth</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava-testlib</artifactId>
+    </dependency>
+    <dependency>
+       <groupId>org.opendaylight.controller</groupId>
+       <artifactId>sal-binding-broker-impl</artifactId>
+       <scope>test</scope>
+     </dependency>
+     <dependency>
+       <groupId>org.opendaylight.controller</groupId>
+       <artifactId>sal-binding-broker-impl</artifactId>
+       <scope>test</scope>
+       <type>test-jar</type>
+     </dependency>
   </dependencies>
 </project>
index 9fc788246609fe1b313a6b644cd48e82464864bc..05389f39811442cd0d36e2734abaeec6196a0026 100644 (file)
@@ -10,8 +10,6 @@ package org.opendaylight.genius.tools.mdsal.listener;
 import java.util.Collection;
 import java.util.concurrent.ExecutorService;
 import javax.annotation.Nonnull;
-import javax.inject.Inject;
-
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
@@ -52,14 +50,12 @@ public abstract class AbstractAsyncDataTreeChangeListener<T extends DataObject>
 
     private final ExecutorService executorService;
 
-    @Inject
     public AbstractAsyncDataTreeChangeListener(DataBroker dataBroker, DataTreeIdentifier<T> dataTreeIdentifier,
                                                ExecutorService executorService) {
         super(dataBroker, dataTreeIdentifier);
         this.executorService = executorService;
     }
 
-    @Inject
     public AbstractAsyncDataTreeChangeListener(DataBroker dataBroker, LogicalDatastoreType datastoreType,
                                                InstanceIdentifier<T> instanceIdentifier,
                                                ExecutorService executorService) {
@@ -67,7 +63,6 @@ public abstract class AbstractAsyncDataTreeChangeListener<T extends DataObject>
         this.executorService = executorService;
     }
 
-    @Inject
     public AbstractAsyncDataTreeChangeListener(DataBroker dataBroker,
                                                LogicalDatastoreType datastoreType,
                                                InstanceIdentifier<T> instanceIdentifier,
index af5c4bd68303e6e4a5a089f84dbf8908857379cd..de9d47a564cf4ec8392c73a63c6fbc0b6b294fd5 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.genius.tools.mdsal.listener;
 import java.util.Collection;
 import java.util.concurrent.ExecutorService;
 import javax.annotation.Nonnull;
-import javax.inject.Inject;
 import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
@@ -36,14 +35,12 @@ public abstract class AbstractClusteredAsyncDataTreeChangeListener<T extends Dat
 
     private final ExecutorService executorService;
 
-    @Inject
     public AbstractClusteredAsyncDataTreeChangeListener(DataBroker dataBroker, DataTreeIdentifier<T> dataTreeIdentifier,
                                                         ExecutorService executorService) {
         super(dataBroker, dataTreeIdentifier);
         this.executorService = executorService;
     }
 
-    @Inject
     public AbstractClusteredAsyncDataTreeChangeListener(DataBroker dataBroker, LogicalDatastoreType datastoreType,
                                                         InstanceIdentifier<T> instanceIdentifier,
                                                         ExecutorService executorService) {
@@ -51,7 +48,6 @@ public abstract class AbstractClusteredAsyncDataTreeChangeListener<T extends Dat
         this.executorService = executorService;
     }
 
-    @Inject
     public AbstractClusteredAsyncDataTreeChangeListener(DataBroker dataBroker,
                                                         LogicalDatastoreType datastoreType,
                                                         InstanceIdentifier<T> instanceIdentifier,
index 4556a615a482f8e0736149fee26350850e394e90..c7c6bfa560b90739f3a3a6b504497a4f8ffd7170 100644 (file)
@@ -9,8 +9,6 @@ package org.opendaylight.genius.tools.mdsal.listener;
 
 import java.util.Collection;
 import javax.annotation.Nonnull;
-import javax.inject.Inject;
-
 import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
@@ -33,19 +31,16 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 public abstract class AbstractClusteredSyncDataTreeChangeListener<T extends DataObject> extends
         AbstractDataTreeChangeListener<T> implements ClusteredDataTreeChangeListener<T> {
 
-    @Inject
     public AbstractClusteredSyncDataTreeChangeListener(DataBroker dataBroker,
                                                        DataTreeIdentifier<T> dataTreeIdentifier) {
         super(dataBroker, dataTreeIdentifier);
     }
 
-    @Inject
     public AbstractClusteredSyncDataTreeChangeListener(DataBroker dataBroker, LogicalDatastoreType datastoreType,
                                                        InstanceIdentifier<T> instanceIdentifier) {
         super(dataBroker, datastoreType, instanceIdentifier);
     }
 
-    @Inject
     public AbstractClusteredSyncDataTreeChangeListener(DataBroker dataBroker,
                                                        LogicalDatastoreType datastoreType,
                                                        InstanceIdentifier<T> instanceIdentifier,
index 3e6c49b8f450f9f20674b2cf6a2761f3a667e12f..1f088a8bb26434004fe7e5df28c36150a3b6f0e3 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.genius.tools.mdsal.listener;
 import javax.annotation.Nonnull;
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
-import javax.inject.Inject;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
@@ -37,19 +36,16 @@ abstract class AbstractDataTreeChangeListener<T extends DataObject> implements D
     private ListenerRegistration<AbstractDataTreeChangeListener<T>> dataChangeListenerRegistration;
     private DataStoreMetrics dataStoreMetrics;
 
-    @Inject
     AbstractDataTreeChangeListener(DataBroker dataBroker, DataTreeIdentifier<T> dataTreeIdentifier) {
         this.dataBroker = dataBroker;
         this.dataTreeIdentifier = dataTreeIdentifier;
     }
 
-    @Inject
     AbstractDataTreeChangeListener(DataBroker dataBroker, LogicalDatastoreType datastoreType,
                                    InstanceIdentifier<T> instanceIdentifier) {
         this(dataBroker, new DataTreeIdentifier<>(datastoreType, instanceIdentifier));
     }
 
-    @Inject
     AbstractDataTreeChangeListener(DataBroker dataBroker,
                                    LogicalDatastoreType datastoreType,
                                    InstanceIdentifier<T> instanceIdentifier,
index ee758d9484012d24acbeaffbf446df960a245ead..dcbfdccf309dfe708d9d136377c77fe656f769cb 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.genius.tools.mdsal.listener;
 
 import java.util.Collection;
 import javax.annotation.Nonnull;
-import javax.inject.Inject;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
@@ -32,18 +31,15 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 public abstract class AbstractSyncDataTreeChangeListener<T extends DataObject> extends
         AbstractDataTreeChangeListener<T> {
 
-    @Inject
     public AbstractSyncDataTreeChangeListener(DataBroker dataBroker, DataTreeIdentifier<T> dataTreeIdentifier) {
         super(dataBroker, dataTreeIdentifier);
     }
 
-    @Inject
     public AbstractSyncDataTreeChangeListener(DataBroker dataBroker, LogicalDatastoreType datastoreType,
                                               InstanceIdentifier<T> instanceIdentifier) {
         super(dataBroker, datastoreType, instanceIdentifier);
     }
 
-    @Inject
     public AbstractSyncDataTreeChangeListener(DataBroker dataBroker, LogicalDatastoreType datastoreType,
                                               InstanceIdentifier<T> instanceIdentifier,
                                               MetricProvider metricProvider) {
index aa48ae2627440786a24ecc2c76dd5691e60553da..f1152c5809cf8d8e40b9825c943c38c7c4b6d966 100644 (file)
@@ -42,8 +42,8 @@ import org.opendaylight.infrautils.metrics.MetricProvider;
     private Meter initCounter(String type) {
         String className = clazz.getSimpleName();
         // expects the form org.opendaylight.project.module
-        String project = clazz.getName().split("\\.")[2];
-        String module = clazz.getName().split("\\.")[3];
+        String project = clazz.getName().split("\\.", -1)[2];
+        String module = clazz.getName().split("\\.", -1)[3];
         return metricProvider.newMeter(new MetricDescriptor() {
             @Override
             public Object anchor() {
index a744d256acf0f68847b108eea3bdb5438b8a57db..386eb779681f6efb3c1cd18f15d0e067a6d766b3 100644 (file)
@@ -34,14 +34,15 @@ interface DataTreeChangeListenerActions<T extends DataObject> {
      * @param changes          collection of changes
      * @param dataStoreMetrics data store metrics
      */
+    @SuppressWarnings("checkstyle:MissingSwitchDefault") // http://errorprone.info/bugpattern/UnnecessaryDefaultInEnumSwitch
     default void onDataTreeChanged(@Nonnull Collection<DataTreeModification<T>> changes,
                                    DataStoreMetrics dataStoreMetrics) {
         // This code is also in DataTreeEventCallbackRegistrarImpl and any changes should be applied there as well
-        for (final DataTreeModification<T> dataTreeModification : changes) {
-            final InstanceIdentifier<T> instanceIdentifier = dataTreeModification.getRootPath().getRootIdentifier();
-            final DataObjectModification<T> dataObjectModification = dataTreeModification.getRootNode();
-            final T dataBefore = dataObjectModification.getDataBefore();
-            final T dataAfter = dataObjectModification.getDataAfter();
+        for (DataTreeModification<T> dataTreeModification : changes) {
+            InstanceIdentifier<T> instanceIdentifier = dataTreeModification.getRootPath().getRootIdentifier();
+            DataObjectModification<T> dataObjectModification = dataTreeModification.getRootNode();
+            T dataBefore = dataObjectModification.getDataBefore();
+            T dataAfter = dataObjectModification.getDataAfter();
 
             switch (dataObjectModification.getModificationType()) {
                 case SUBTREE_MODIFIED:
@@ -69,8 +70,6 @@ interface DataTreeChangeListenerActions<T extends DataObject> {
                         update(instanceIdentifier, dataBefore, dataAfter);
                     }
                     break;
-                default:
-                    break;
             }
         }
     }
@@ -81,6 +80,7 @@ interface DataTreeChangeListenerActions<T extends DataObject> {
      * @param instanceIdentifier instance id for this data object
      * @param newDataObject      newly added object
      */
+    @SuppressWarnings("InconsistentOverloads") // TODO remove when @Deprecated add() is removed
     default void add(@Nonnull InstanceIdentifier<T> instanceIdentifier, @Nonnull T newDataObject) {
         add(newDataObject);
     }
@@ -99,6 +99,7 @@ interface DataTreeChangeListenerActions<T extends DataObject> {
      * @param instanceIdentifier instance id for this data object
      * @param removedDataObject  existing object being removed
      */
+    @SuppressWarnings("InconsistentOverloads") // TODO remove when @Deprecated remove() is removed
     default void remove(@Nonnull InstanceIdentifier<T> instanceIdentifier, @Nonnull T removedDataObject) {
         remove(removedDataObject);
     }
@@ -118,6 +119,7 @@ interface DataTreeChangeListenerActions<T extends DataObject> {
      * @param originalDataObject existing object being modified
      * @param updatedDataObject  modified data object
      */
+    @SuppressWarnings("InconsistentOverloads") // TODO remove when @Deprecated update() is removed
     default void update(@Nonnull InstanceIdentifier<T> instanceIdentifier, @Nonnull T originalDataObject,
                         @Nonnull T updatedDataObject) {
         update(originalDataObject, updatedDataObject);
index 1f3d646b6efb0370ffbf035fb1274f7265e08336..d5e7370d3c1b3f6e844784273f2549e4b5f939ee 100644 (file)
@@ -87,6 +87,7 @@ public final class FutureRpcResults {
      * @return a new FutureRpcResultBuilder
      */
     @CheckReturnValue
+    @java.lang.SuppressWarnings("InconsistentOverloads") // Error Prone is too strict here; we do want the Callable last
     public static <I, O> FutureRpcResultBuilder<I, O> fromListenableFuture(Logger logger, String rpcMethodName,
             @Nullable I input, Callable<ListenableFuture<O>> callable) {
         return new FutureRpcResultBuilder<>(logger, rpcMethodName, input, callable);
@@ -126,6 +127,7 @@ public final class FutureRpcResults {
     }
 
     @CheckReturnValue
+    @java.lang.SuppressWarnings("InconsistentOverloads") // Error Prone is too strict here; we do want the Callable last
     public static <I, O> FutureRpcResultBuilder<I, O> fromBuilder(Logger logger, String rpcMethodName,
             @Nullable I input, Callable<Builder<O>> builder) {
         Callable<ListenableFuture<O>> callable = () -> Futures.immediateFuture(builder.call().build());
index e8664b1330d73fb92fdd32d1b5a31ef7c707c68b..388296bca7728e1970861e83841f1c8ca10a8f00 100644 (file)
@@ -12,9 +12,9 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 
   <parent>
     <groupId>org.opendaylight.genius</groupId>
-    <artifactId>binding-parent</artifactId>
+    <artifactId>quality-parent</artifactId>
     <version>0.5.0-SNAPSHOT</version>
-    <relativePath>../../commons/binding-parent</relativePath>
+    <relativePath>../../commons/quality-parent/</relativePath>
   </parent>
 
   <groupId>org.opendaylight.genius</groupId>
@@ -69,7 +69,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <dependency>
       <groupId>org.opendaylight.infrautils</groupId>
       <artifactId>infrautils-testutils</artifactId>
-      <version>1.4.0-SNAPSHOT</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
index 2049b97d24fb959e08e125a2cb15cb270b0f0139..66a8c9fbc8e51678a6df8aa19b01eaf3aaa0c0ef 100644 (file)
@@ -80,7 +80,7 @@ public class FutureRpcResultsTest {
 
     @Test
     public void testFromListenableFutureExceptionAlsoLog() throws Exception {
-        final AtomicBoolean afterLogActionCalled = new AtomicBoolean(false);
+        AtomicBoolean afterLogActionCalled = new AtomicBoolean(false);
         logCaptureRule.expectError("RPC testFromListenableFutureException() failed; input = null");
         TestFutureRpcResults.assertRpcErrorCause(FutureRpcResults.fromListenableFuture(
             LOG, "testFromListenableFutureException", null, () -> {