Bump MRI upstreams 66/100066/13
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 11 Mar 2022 10:36:29 +0000 (11:36 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Mar 2022 20:05:24 +0000 (22:05 +0200)
Adopt the following versions:
- odlparent-10.0.0
- infrautils-3.0.0
- yangtools-8.0.2
- mdsal-9.0.1
- controller-5.0.1
- aaa-0.15.1
- netconf-3.0.0

Change-Id: I7dfe7fdbf88eb787a59e031e24559a9601fde878
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
113 files changed:
commons/binding-parent/pom.xml
commons/it/pom.xml
commons/pom.xml
hwvtepsouthbound/hwvtepsouthbound-artifacts/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/features/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-api/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-api/src/main/feature/feature.xml
hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-rest/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-test/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-ui/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound/pom.xml
hwvtepsouthbound/hwvtepsouthbound-features/pom.xml
hwvtepsouthbound/hwvtepsouthbound-impl/pom.xml
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepConnectionManager.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepDataChangeListener.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepOperGlobalListener.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepSouthboundProvider.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepSouthboundUtil.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/InstanceIdentifierCodec.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/reconciliation/configuration/HwvtepReconciliationManager.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/LogicalRouterRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/LogicalSwitchUcastsRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/PhysicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/PlainLogicalSwitchRemoveCmd.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactCommandAggregator.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/GlobalUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepLogicalRouterUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepLogicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepManagerUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepMcastMacsLocalUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepMcastMacsRemoteUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepOperationalCommandAggregator.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepPhysicalLocatorUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepPhysicalPortUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepPhysicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepTunnelRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepTunnelUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepUcastMacsLocalUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/HwvtepUcastMacsRemoteUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/TransactionInvokerImpl.java
hwvtepsouthbound/hwvtepsouthbound-it/pom.xml
hwvtepsouthbound/hwvtepsouthbound-karaf/pom.xml
hwvtepsouthbound/pom.xml
library/artifacts/pom.xml
library/features/features/pom.xml
library/features/odl-ovsdb-library/pom.xml
library/features/odl-ovsdb-library/src/main/feature/feature.xml
library/features/pom.xml
library/impl/pom.xml
library/impl/src/main/java/org/opendaylight/ovsdb/lib/impl/OvsdbConnectionService.java
library/karaf/pom.xml
library/pom.xml
pom.xml
schemas/pom.xml
southbound/pom.xml
southbound/southbound-artifacts/pom.xml
southbound/southbound-features/features/pom.xml
southbound/southbound-features/odl-ovsdb-southbound-api/pom.xml
southbound/southbound-features/odl-ovsdb-southbound-api/src/main/feature/feature.xml
southbound/southbound-features/odl-ovsdb-southbound-impl-rest/pom.xml
southbound/southbound-features/odl-ovsdb-southbound-impl-ui/pom.xml
southbound/southbound-features/odl-ovsdb-southbound-impl/pom.xml
southbound/southbound-features/odl-ovsdb-southbound-impl/src/main/feature/feature.xml
southbound/southbound-features/odl-ovsdb-southbound-test/pom.xml
southbound/southbound-features/pom.xml
southbound/southbound-impl/pom.xml
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/InstanceIdentifierCodec.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbConnectionInstance.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbConnectionManager.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbDataTreeChangeListener.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbOperGlobalListener.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundProvider.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/BridgeUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/OvsdbNodeUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/QosUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/QueueUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointCreateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/reconciliation/OvsdbUpgradeStateListener.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/reconciliation/ReconciliationManager.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbAutoAttachRemovedCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbAutoAttachUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerRemovedCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbManagersRemovedCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbManagersUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbOperationalCommandAggregator.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosRemovedCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueRemovedCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/TransactionInvokerImpl.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/OvsdbMonitorCallbackTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundMapperTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/BridgeOperationalStateTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TransactCommandAggregatorTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TransactInvokerImplTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbAutoAttachUpdateCommandTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeRemovedCommandTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbOperationalCommandAggregatorTest.java
southbound/southbound-it/pom.xml
southbound/southbound-it/src/test/java/org/opendaylight/ovsdb/southbound/it/SouthboundIT.java
southbound/southbound-karaf/pom.xml
utils/config/pom.xml
utils/mdsal-utils/src/main/java/org/opendaylight/ovsdb/utils/mdsal/utils/NotifyingDataChangeListener.java
utils/odl-ovsdb-utils/pom.xml
utils/odl-ovsdb-utils/src/main/feature/feature.xml
utils/ovsdb-it-utils/pom.xml
utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/DockerOvs.java
utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/ProcUtils.java
utils/pom.xml
utils/servicehelper/pom.xml

index 544a5af2a624749ad46803441b8f5cad6f5ee554..bff727771802defa4dedec7e592174055a7f2916 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>8.0.11</version>
+    <version>9.0.1</version>
     <relativePath/>
   </parent>
 
@@ -25,7 +25,7 @@
       <dependency>
         <groupId>org.opendaylight.infrautils</groupId>
         <artifactId>infrautils-artifacts</artifactId>
-        <version>2.0.13</version>
+        <version>3.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -39,7 +39,7 @@
       <dependency>
         <groupId>org.opendaylight.aaa</groupId>
         <artifactId>aaa-artifacts</artifactId>
-        <version>0.14.10</version>
+        <version>0.15.1</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 8486c03c4906d14fca5ce161a3233b49e2abdbfb..dc86083a397912eb4bd783c076ac19e6ee3c342e 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.controller</groupId>
     <artifactId>mdsal-it-parent</artifactId>
-    <version>4.0.10</version>
+    <version>5.0.1</version>
     <relativePath/>
   </parent>
 
@@ -70,7 +70,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <dependency>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>mdsal-artifacts</artifactId>
-        <version>8.0.11</version>
+        <version>9.0.1</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 7fdfa2c3efa766fb83599298b7e1eba2f8f2617f..a5360e5570747949f71e7762bbe7463cd2a3a0a2 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index 24afc2f24b399a15b988a89704859e2b46c2eb45..f070d672ae94da1d72387050c3f87897a5d3bfa4 100644 (file)
@@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index dbd692541557e8b7ffc69e5c1a3df5e046cd9658..34f03099c2349d06dcda276294af68e423e3b2d3 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 9c57ab72e20d4f2cb77982d20a91a529c54647e5..09b978d8157c0c2e00b0baf6688be7e5eab6dc8e 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -22,7 +22,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>8.0.11</version>
+                <version>9.0.1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 1847b8d8665022f079fa28cd9a836cf274394782..42da1bd0cb0d0dd36ced29ab3283530df2cb14fc 100644 (file)
@@ -8,7 +8,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 <features name="odl-ovsdb-hwvtepsouthbound-api-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-ovsdb-hwvtepsouthbound-api" version="${project.version}">
-        <feature version="[8,9)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
-        <feature version="[8,9)">odl-mdsal-model-odl-l2-types</feature>
+        <feature version="[9,10)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
+        <feature version="[9,10)">odl-mdsal-model-odl-l2-types</feature>
     </feature>
 </features>
index e1ac1342661593625ab02c3ec7de1eda9b533b64..b21fc8ba35938dba7b78868f3a24f63f0600f466 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -36,7 +36,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-restconf</artifactId>
-            <version>2.0.14</version>
+            <version>3.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 3b84ea3c04b620a7c48deae1085d833c9e5dfdbc..27b9dfa4f91f8eb9a844e88687da13451653d379 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index a5a9cc580b9db4e1a53c5307c43e67a73ba207de..b80e52344a5f2e8bc299a0a21b13863490027330 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -36,7 +36,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-mdsal-apidocs</artifactId>
-            <version>2.0.14</version>
+            <version>3.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 090fd545bb32eac8a6f1a58214481c3ad1a3c012..114fc47357c5f13516ff17a69fe708dc9c83e0fc 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index ff2aaf0895b5ecbc3f5cf2c94e6d8854443b6835..5afd2ecb6a90ed76a0cb438f62a1340da779232f 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.ovsdb</groupId>
index 5473aa4ebcbf04ebefb80ff073b76f365005cd58..48157f52eb71a032982ea8232d80047625d74cdb 100644 (file)
@@ -26,10 +26,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <name>ODL :: ovsdb :: ${project.artifactId}</name>
 
   <dependencies>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>osgi.core</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-data-util</artifactId>
@@ -95,6 +91,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <artifactId>org.apache.karaf.shell.core</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <!-- FIXME: needed because of OsgiCommandSupport -->
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.framework</artifactId>
+    </dependency>
 
     <!-- Testing Dependencies -->
     <dependency>
index 10412e837aeae07241a27c338fc0629d8e8c4735..21ead14ef898f912e74d62abc9c916bd2a77c906 100644 (file)
@@ -673,7 +673,7 @@ public class HwvtepConnectionManager implements OvsdbConnectionListener, AutoClo
         return entityConnectionMap.get(entity);
     }
 
-    private static class HwvtepDeviceEntityOwnershipListener implements EntityOwnershipListener {
+    private static final class HwvtepDeviceEntityOwnershipListener implements EntityOwnershipListener {
         private final HwvtepConnectionManager hcm;
         private final EntityOwnershipListenerRegistration listenerRegistration;
 
index a7d583c440369cc2b8cb7746b9690d616b056d72..e45466b79abe8493fed6f4e29e7b9dc5f3bed259 100644 (file)
@@ -41,7 +41,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepDataChangeListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
+public final class HwvtepDataChangeListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
 
     private ListenerRegistration<HwvtepDataChangeListener> registration;
     private final HwvtepConnectionManager hcm;
index 9bdb1371812c3c8409a54be4596e9f2e637b9d89..aee9a548ab885cfd4b4549c66c36cebb0b426878 100644 (file)
@@ -35,7 +35,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepOperGlobalListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
+public final class HwvtepOperGlobalListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
 
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepOperGlobalListener.class);
     private static final Map<InstanceIdentifier<Node>, ConnectionInfo> NODE_CONNECTION_INFO = new ConcurrentHashMap<>();
index c34eb44929b6b6e0d0f2ecb3e6a58c5e6b200c29..c5ce15ffed336f883b762b2e7dabb406620c50e4 100644 (file)
@@ -221,7 +221,7 @@ public class HwvtepSouthboundProvider
         }
     }
 
-    private static class HwvtepsbPluginInstanceEntityOwnershipListener implements EntityOwnershipListener {
+    private static final class HwvtepsbPluginInstanceEntityOwnershipListener implements EntityOwnershipListener {
         private final HwvtepSouthboundProvider hsp;
         private final EntityOwnershipListenerRegistration listenerRegistration;
 
index fc0e3a2c1ee89935302ac845e4e511dcd3166ead..dfc112e269e68e4e86ae0e3e6273bcc96367e23c 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.ovsdb.hwvtepsouthbound;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Optional;
@@ -56,8 +57,9 @@ public final class HwvtepSouthboundUtil {
         // Prevent instantiating a utility class
     }
 
-    // FIXME: eliminate this static wiring by encaspulating the codec into a service
-    @Deprecated
+    // FIXME: eliminate this static wiring by encapsulating the codec into a service
+    @Deprecated(forRemoval = true)
+    @SuppressFBWarnings("EI_EXPOSE_STATIC_REP2")
     public static void setInstanceIdentifierCodec(InstanceIdentifierCodec iidc) {
         instanceIdentifierCodec = iidc;
     }
index bc169b945eda81b3156b6274c8b7306282f002ad..85c4dab8e29d2317b89ecd434b211ff6481ec2ab 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener;
 import org.opendaylight.yangtools.yang.model.api.Module;
 
-public class InstanceIdentifierCodec
+public final class InstanceIdentifierCodec
         // FIXME: this really wants to be wired as yangtools-data-codec-gson's codecs, because ...
         extends AbstractModuleStringInstanceIdentifierCodec implements EffectiveModelContextListener {
 
index 72de9ce65292902d78c09c4f6510669dfd0beb8d..422ff64e5101975a408257077601b862f2b1e049 100644 (file)
@@ -26,9 +26,9 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepReconciliationManager implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
-
+public final class HwvtepReconciliationManager implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepReconciliationManager.class);
+
     private final ListenerRegistration<HwvtepReconciliationManager> registration;
     private final HwvtepConnectionManager hcm;
 
index dd7f8657689fa7d48be4402edf2c54eef7bef41a..10907bd08cf13a6a4d93af899bf103cfd5eb309b 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.ovsdb.hwvtepsouthbound.transact;
 
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -74,8 +73,6 @@ public class LogicalRouterRemoveCommand
         }
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private void removeLogicalRouter(final TransactionBuilder transaction,
             final InstanceIdentifier<Node> instanceIdentifier, final List<LogicalRouters> routerList) {
         for (LogicalRouters lrouter: routerList) {
index 9a7affa47a955117c6b3f2c6c999b287c12a3061..63cb5ad8f8ac791f36975cc1cc7b17242076a82c 100644 (file)
@@ -42,7 +42,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class LogicalSwitchUcastsRemoveCommand
+public final class LogicalSwitchUcastsRemoveCommand
         extends AbstractTransactCommand<LogicalSwitches, LogicalSwitchesKey, HwvtepGlobalAugmentation> {
 
     private static final Logger LOG = LoggerFactory.getLogger(LogicalSwitchUcastsRemoveCommand.class);
index 3c1331c795a57258548869100523b04220de84be..f0aebff57d4f73e3bdd38f960511ffecb8a0a7bc 100644 (file)
@@ -51,7 +51,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class PhysicalSwitchUpdateCommand extends AbstractTransactCommand {
+public final class PhysicalSwitchUpdateCommand extends AbstractTransactCommand {
     private static final Logger LOG = LoggerFactory.getLogger(PhysicalSwitchUpdateCommand.class);
 
     public PhysicalSwitchUpdateCommand(final HwvtepOperationalState state,
@@ -235,13 +235,9 @@ public class PhysicalSwitchUpdateCommand extends AbstractTransactCommand {
         if (bfdParams != null) {
             Map<String, String> bfdParamMap = new HashMap<>();
             for (BfdParams bfdParam : bfdParams.values()) {
-                bfdParamMap.put(bfdParam.getBfdParamKey(), bfdParam.getBfdParamValue());
-            }
-            try {
-                tunnel.setBfdParams(ImmutableMap.copyOf(bfdParamMap));
-            } catch (NullPointerException e) {
-                LOG.warn("Incomplete BFD Params for tunnel", e);
+                bfdParamMap.put(bfdParam.requireBfdParamKey(), bfdParam.requireBfdParamValue());
             }
+            tunnel.setBfdParams(ImmutableMap.copyOf(bfdParamMap));
         }
     }
 
@@ -250,13 +246,9 @@ public class PhysicalSwitchUpdateCommand extends AbstractTransactCommand {
         if (bfdLocalConfigs != null) {
             Map<String, String> configLocalMap = new HashMap<>();
             for (BfdLocalConfigs localConfig : bfdLocalConfigs.values()) {
-                configLocalMap.put(localConfig.getBfdLocalConfigKey(), localConfig.getBfdLocalConfigValue());
-            }
-            try {
-                tunnel.setBfdConfigLocal(ImmutableMap.copyOf(configLocalMap));
-            } catch (NullPointerException e) {
-                LOG.warn("Incomplete BFD LocalConfig for tunnel", e);
+                configLocalMap.put(localConfig.requireBfdLocalConfigKey(), localConfig.requireBfdLocalConfigValue());
             }
+            tunnel.setBfdConfigLocal(ImmutableMap.copyOf(configLocalMap));
         }
     }
 
@@ -265,13 +257,10 @@ public class PhysicalSwitchUpdateCommand extends AbstractTransactCommand {
         if (bfdRemoteConfigs != null) {
             Map<String, String> configRemoteMap = new HashMap<>();
             for (BfdRemoteConfigs remoteConfig : bfdRemoteConfigs.values()) {
-                configRemoteMap.put(remoteConfig.getBfdRemoteConfigKey(), remoteConfig.getBfdRemoteConfigValue());
-            }
-            try {
-                tunnel.setBfdConfigRemote(ImmutableMap.copyOf(configRemoteMap));
-            } catch (NullPointerException e) {
-                LOG.warn("Incomplete BFD RemoteConfig for tunnel", e);
+                configRemoteMap.put(remoteConfig.requireBfdRemoteConfigKey(),
+                    remoteConfig.requireBfdRemoteConfigValue());
             }
+            tunnel.setBfdConfigRemote(ImmutableMap.copyOf(configRemoteMap));
         }
     }
 
index f48095d1c098864cb420f4fc4e096a0dc8f4466a..bd4a180dae31213bd404b509f0536c3337a4110e 100644 (file)
@@ -28,7 +28,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class PlainLogicalSwitchRemoveCmd
+public final class PlainLogicalSwitchRemoveCmd
         extends AbstractTransactCommand<LogicalSwitches, LogicalSwitchesKey, HwvtepGlobalAugmentation> {
     private static final Logger LOG = LoggerFactory.getLogger(PlainLogicalSwitchRemoveCmd.class);
 
index 1bf0dfe2493bc48cf13aa1528c6de97b07287daf..2a232f20f3c947499e631e8d7d5a9e05369ab32b 100644 (file)
@@ -70,13 +70,8 @@ public class TransactCommandAggregator implements TransactCommand {
 
     @Override
     public void execute(TransactionBuilder transaction) {
-        for (TransactCommand command:commands) {
-            try {
-                command.execute(transaction);
-            } catch (NullPointerException e) {
-                LOG.error("Execution of command {} failed with the following exception."
-                        + " Continuing the execution of remaining commands", command, e);
-            }
+        for (TransactCommand command : commands) {
+            command.execute(transaction);
         }
     }
 
index 2cbfe99bbc8e5561e539aafa188916fd208e439a..15ded09642748301a390f0db4986af47a4c15393 100644 (file)
@@ -32,7 +32,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class GlobalUpdateCommand extends AbstractTransactionCommand {
+public final class GlobalUpdateCommand extends AbstractTransactionCommand {
 
     private static final Logger LOG = LoggerFactory.getLogger(GlobalUpdateCommand.class);
     private final Map<UUID, Global> updatedHwvtepRows =
index 44f49e2a6b1dcaaed1d18b5792a1e24edb703189..2653419bddcd57d3fee6a5a816ab699175cd5a47 100644 (file)
@@ -55,8 +55,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
-public class HwvtepLogicalRouterUpdateCommand extends AbstractTransactionCommand {
+public final class HwvtepLogicalRouterUpdateCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepLogicalRouterUpdateCommand.class);
+
     private final Map<UUID, LogicalRouter> updatedLRRows;
 
     public HwvtepLogicalRouterUpdateCommand(HwvtepConnectionInstance key, TableUpdates updates,
index b2064d9c9ae011b60d53d9a652d074b03786276a..b3a56ac3655e9064e06480e1fd459021e0a0aec1 100644 (file)
@@ -36,10 +36,10 @@ import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepLogicalSwitchUpdateCommand extends AbstractTransactionCommand {
+public final class HwvtepLogicalSwitchUpdateCommand extends AbstractTransactionCommand {
+    private static final Logger LOG = LoggerFactory.getLogger(HwvtepLogicalSwitchUpdateCommand.class);
 
     private final Map<UUID, LogicalSwitch> updatedLSRows;
-    private static final Logger LOG = LoggerFactory.getLogger(HwvtepLogicalSwitchUpdateCommand.class);
 
     public HwvtepLogicalSwitchUpdateCommand(HwvtepConnectionInstance key, TableUpdates updates,
             DatabaseSchema dbSchema) {
index 0099e42c466a283760b834512c1d11b1ad87221b..bee29bb32ef297606d264dcc2d6837421ecebaf5 100644 (file)
@@ -35,9 +35,9 @@ import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepManagerUpdateCommand extends AbstractTransactionCommand {
-
+public final class HwvtepManagerUpdateCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepManagerUpdateCommand.class);
+
     private final Map<UUID, Manager> updatedMgrRows;
     private final Map<UUID, Manager> oldMgrRows;
 
index 6a0a06a099b6b84eb6358aac1209665a21ca9f39..5950465575feac20bf0917492d5e2238e31b3f00 100644 (file)
@@ -40,7 +40,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-public class HwvtepMcastMacsLocalUpdateCommand extends AbstractTransactionCommand {
+public final class HwvtepMcastMacsLocalUpdateCommand extends AbstractTransactionCommand {
 
     private final Map<UUID, McastMacsLocal> updatedMMacsLocalRows;
     private final Map<UUID, PhysicalLocatorSet> updatedPLocSetRows;
index feb15d94b79a137b704c303c2c363e9eca7efb5f..9fb852ecbe7cbd4278d35f8e89432d3105f08592 100644 (file)
@@ -41,8 +41,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-public class HwvtepMcastMacsRemoteUpdateCommand extends AbstractTransactionCommand {
-
+public final class HwvtepMcastMacsRemoteUpdateCommand extends AbstractTransactionCommand {
     private final Map<UUID, McastMacsRemote> updatedMMacsRemoteRows;
     private final Map<UUID, PhysicalLocatorSet> updatedPLocSetRows;
     private final Map<UUID, PhysicalLocator> updatedPLocRows;
index 5575424afea6283e0eec1ec454d4fa9a381ead88..03963813ec56b5c0ac900382511d361116a7d6c9 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.NoSuchElementException;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
 import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionInstance;
 import org.opendaylight.ovsdb.lib.message.TableUpdates;
@@ -17,9 +16,9 @@ import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepOperationalCommandAggregator implements TransactionCommand {
-
+public final class HwvtepOperationalCommandAggregator implements TransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepOperationalCommandAggregator.class);
+
     private List<TransactionCommand> commands = new ArrayList<>();
     private final HwvtepConnectionInstance connectionInstance;
 
@@ -51,15 +50,9 @@ public class HwvtepOperationalCommandAggregator implements TransactionCommand {
     @Override
     public void execute(ReadWriteTransaction transaction) {
         for (TransactionCommand command: commands) {
-            try {
-                // This may be noisy, can be silenced if needed.
-                LOG.trace("Executing command {}", command);
-                command.execute(transaction);
-            } catch (NullPointerException | NoSuchElementException | ClassCastException e) {
-                LOG.error("Execution of command {} failed with the following exception."
-                        + " Continuing the execution of remaining commands", command, e);
-            }
-
+            // This may be noisy, can be silenced if needed.
+            LOG.trace("Executing command {}", command);
+            command.execute(transaction);
         }
         connectionInstance.getDeviceInfo().onOperDataAvailable();
     }
index e68ba619b6a527651133692f8775716e70795084..7ba5ac9d38e3c12f2cc230014f3764f248494007 100644 (file)
@@ -30,8 +30,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-public class HwvtepPhysicalLocatorUpdateCommand extends AbstractTransactionCommand {
-
+public final class HwvtepPhysicalLocatorUpdateCommand extends AbstractTransactionCommand {
     private final Map<UUID, PhysicalLocator> updatedPLocRows;
     private final Map<UUID, PhysicalLocator> oldPLocRows;
 
index f14f50becad282322a92b0c2a137be51ad3906a5..7a768d9313f622537f87bce2326e4df7ed75e8af 100644 (file)
@@ -66,7 +66,7 @@ import org.opendaylight.yangtools.yang.common.Uint16;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepPhysicalPortUpdateCommand extends AbstractTransactionCommand {
+public final class HwvtepPhysicalPortUpdateCommand extends AbstractTransactionCommand {
 
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepPhysicalPortUpdateCommand.class);
     private final Map<UUID, PhysicalPort> updatedPPRows;
index 2b62bc5a00fb4567a0ac701d8faf396762ab3a23..f7729fc14e663400bde088a8c7a1796496de5843 100644 (file)
@@ -58,9 +58,9 @@ import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepPhysicalSwitchUpdateCommand extends AbstractTransactionCommand {
-
+public final class HwvtepPhysicalSwitchUpdateCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepPhysicalSwitchUpdateCommand.class);
+
     private final Map<UUID, PhysicalSwitch> updatedPSRows;
     private Map<UUID, Tunnel> updatedTunnelRows;
     private final Map<UUID, PhysicalSwitch> oldPSRows;
index 4771403866812d14140a084dfbfcd80fbff833ef..6b9c3c0f30b74eb83a4110e144dbae16fb9a844e 100644 (file)
@@ -27,9 +27,9 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepTunnelRemoveCommand extends AbstractTransactionCommand {
-
+public final class HwvtepTunnelRemoveCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepTunnelRemoveCommand.class);
+
     Collection<Tunnel> deletedTunnelRows = null;
 
     public HwvtepTunnelRemoveCommand(HwvtepConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
index c84b958762c08c04b512eec3e116e5167942ff47..45bd770d22a7f2ad4420f3a9c606234963425ea0 100644 (file)
@@ -38,9 +38,9 @@ import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepTunnelUpdateCommand extends AbstractTransactionCommand {
-
+public final class HwvtepTunnelUpdateCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepTunnelUpdateCommand.class);
+
     private Map<UUID, Tunnel> updatedTunnelRows;
 
     public HwvtepTunnelUpdateCommand(HwvtepConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
index 8c034373bd0076df33ebfe887e46c1985994530b..d5823e969e0beeb0e5a73ab5f4c7c511ad0aeb35 100644 (file)
@@ -40,9 +40,9 @@ import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class HwvtepUcastMacsLocalUpdateCommand extends AbstractTransactionCommand {
-
+public final class HwvtepUcastMacsLocalUpdateCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepUcastMacsLocalUpdateCommand.class);
+
     private final Map<UUID, UcastMacsLocal> updatedUMacsLocalRows;
     private final Map<UUID, PhysicalLocator> updatedPLocRows;
 
index b66c822e67de2d3d810900f33c7015d24218569c..da0922991d891808b2bc559a4f9b05d8fcba0025 100644 (file)
@@ -37,7 +37,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
-public class HwvtepUcastMacsRemoteUpdateCommand extends AbstractTransactionCommand {
+public final class HwvtepUcastMacsRemoteUpdateCommand extends AbstractTransactionCommand {
 
     private final Map<UUID, UcastMacsRemote> updatedUMacsRemoteRows;
     private final Map<UUID, PhysicalLocator> updatedPLocRows;
index eb2f09add00aecb1cae2bbebda084f4a99da4334..c06a0779cfb2093e4c592ce3b48c3074473932d0 100644 (file)
@@ -11,6 +11,7 @@ import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import java.lang.Thread.UncaughtExceptionHandler;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -34,8 +35,8 @@ import org.slf4j.LoggerFactory;
  * Copied over as-is from southbound plugin. Good candidate to be common
  * when refactoring code.
  */
-public class TransactionInvokerImpl implements TransactionInvoker,TransactionChainListener, Runnable, AutoCloseable,
-        Thread.UncaughtExceptionHandler {
+public final class TransactionInvokerImpl implements TransactionInvoker, TransactionChainListener, Runnable,
+        AutoCloseable, UncaughtExceptionHandler {
     private static final Logger LOG = LoggerFactory.getLogger(TransactionInvokerImpl.class);
     private static final int QUEUE_SIZE = 10000;
 
index 0a092e6711acc996b0f0f75bd48df3c49120b0b9..fc9c8224778284625cd4b71114f6eafbec256d7c 100644 (file)
@@ -89,7 +89,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.core</artifactId>
+      <artifactId>org.osgi.framework</artifactId>
       <scope>compile</scope>
     </dependency>
     <dependency>
index 451434a657e8581d48f9b76b3f8188468f401a90..5f2decf25678992dcb4efedc1bfd1401ce2ed7b1 100644 (file)
@@ -9,7 +9,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index 9c6f88c479ea95c042759264bb7fcf9342f0bc8d..dacaa9a8a1ebd3e83a86425d58bae2700acce30d 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index 8a3e3652ae8574310531d9369864eb1b8dd605e1..c4a694044a0b985993755d071bc06f6fbc598289 100644 (file)
@@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index 1f52e90eef628a70101ce8f00e988fd51ba2aa29..ca81ebb8c3c41ce87f6c8b279c56e02083962c6d 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 5fc02bc446d42400be8fcba30b6e78c7e762fbd4..0686bbe8c329118a94b93cd2a6d05270573dfca3 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -41,7 +41,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.aaa</groupId>
             <artifactId>odl-aaa-cert</artifactId>
-            <version>0.14.10</version>
+            <version>0.15.1</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 4a22f3a52bb2f914a72d30a3c91c352d54120537..11aec227e8234845edeabb9d09c9d63988ddbcfa 100644 (file)
@@ -8,9 +8,9 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 <features name="odl-ovsdb-library-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-ovsdb-library" version="${project.version}">
-        <feature version="[9,10)">odl-jackson-2.12</feature>
-        <feature version="[9,10)">odl-netty-4</feature>
-        <feature version="[0.14,1)">odl-aaa-cert</feature>
+        <feature version="[10,11)">odl-jackson-2.12</feature>
+        <feature version="[10,11)">odl-netty-4</feature>
+        <feature version="[0.15,1)">odl-aaa-cert</feature>
         <configfile finalname="etc/org.opendaylight.ovsdb.library.cfg">
             mvn:org.opendaylight.ovsdb/library/${project.version}/cfg/config
         </configfile>
index dc1708018c02a0442d602c496e57b5719ab3fcb5..934fa2eef879f835eb91f2fdbe1cb7ed05fe3782 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.ovsdb</groupId>
index 0c7764034cff821905c56bedb495dd1918d0280c..5368b0587b089841719f82e13ac0e61f396eab57 100644 (file)
@@ -50,10 +50,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>osgi.core</artifactId>
-    </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
@@ -68,8 +64,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
-      <artifactId>netty-transport-native-epoll</artifactId>
-      <classifier>linux-x86_64</classifier>
+      <artifactId>netty-transport-classes-epoll</artifactId>
     </dependency>
 
     <dependency>
index 8eac2efa8932aefd9570bda9ae296c58e5eab407..e5d5210fc5eb085a525c8d45528fb6d911d88201 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelFutureListener;
@@ -435,8 +434,6 @@ public class OvsdbConnectionService implements AutoCloseable, OvsdbConnection {
         }, CONNECTION_NOTIFIER_SERVICE);
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private static void handleNewPassiveConnection(final Channel channel) {
         if (!channel.isOpen()) {
             LOG.warn("Channel {} is not open, skipped further processing of the connection.",channel);
@@ -564,8 +561,6 @@ public class OvsdbConnectionService implements AutoCloseable, OvsdbConnection {
         return null;
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private static List<OvsdbClient> getPassiveClientsFromSameNode(final OvsdbClient ovsdbClient) {
         List<OvsdbClient> passiveClients = new ArrayList<>();
         for (OvsdbClient client : CONNECTIONS.keySet()) {
index fea6ede095f4e88bbc3d611c9d0b364c951cdc9e..5683e56cf70ea831267361a4204cc4be2b1c8d58 100644 (file)
@@ -9,7 +9,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index e9604f34b8922d8176169625293784d74dc2aee4..d69880ce4f718bf01c805d731d94abbf520ab276 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
diff --git a/pom.xml b/pom.xml
index d8460649db9793c6ed310d06412f0cffd11a9058..23093dbd10101c5208f359e654c7f1b00b58b980 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index a3fa04ff9a42aa0ee4fb3f291d9fedd3a5a788e9..aa680e2e88de99f184e14e2b685d9956115e676c 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index 0a213c7a208967c26aebf4da302fc415e0707e9a..7de80f88ed52edca63725a2544c26bd0a33ad0c3 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index 8cf76c29c58d2d54e8e05664367bf9c5250d0407..730e9328ed2927bbe6a7b783f168aa58e0614007 100644 (file)
@@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index ec036b47819554465a414ea5b865e5bf4d37350d..089c4b8a9e58a4d27dc85d74c6feb8336fff988b 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 3b5b8348bb4033608ff24c09a1a709e001d358da..b85ac20400302aacaec6a9827538172f8a64c217 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -29,7 +29,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>8.0.11</version>
+                <version>9.0.1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index e8c5bd9402864d59d05615fc6460c1b5098268bc..cbcdd7c4b479e39f3601bd974db5dbf2f520e43a 100644 (file)
@@ -8,7 +8,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 <features name="odl-ovsdb-southbound-api-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-ovsdb-southbound-api" version="${project.version}">
-        <feature version="[8,9)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
-        <feature version="[8,9)">odl-mdsal-model-odl-l2-types</feature>
+        <feature version="[9,10)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
+        <feature version="[9,10)">odl-mdsal-model-odl-l2-types</feature>
     </feature>
 </features>
index 960d0aeca72bfce69769611d7b3731542441acd5..0f2093adf72434fe06268f8e71396e16d755f8cb 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -36,7 +36,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-restconf</artifactId>
-            <version>2.0.14</version>
+            <version>3.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index bee76c69a5e49b656c3994d17572208fbe25f55c..ca76a4c3b5729a3ea14594eff494ed8ce469da35 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -36,7 +36,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
             <artifactId>odl-mdsal-apidocs</artifactId>
-            <version>2.0.14</version>
+            <version>3.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 21948a2c52d71d987b1765f88bc278ffdbe3118e..f379c00259f407c8d65ab3bdffac250ccbe3d15c 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -30,7 +30,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
             <dependency>
                 <groupId>org.opendaylight.infrautils</groupId>
                 <artifactId>infrautils-artifacts</artifactId>
-                <version>2.0.13</version>
+                <version>3.0.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 87e4826e2e985a92529c1b3601df7b17e348f6e7..6f9babc3657da20b68b08d5f9aa16654a370bc7f 100644 (file)
@@ -8,9 +8,9 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 <features name="odl-ovsdb-southbound-impl-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-ovsdb-southbound-impl" version="${project.version}">
-        <feature version="[9,10)">odl-jackson-2.12</feature>
-        <feature version="[2,3)">odl-infrautils-diagstatus</feature>
-        <feature version="[2,3)">odl-infrautils-ready</feature>
+        <feature version="[10,11)">odl-jackson-2.12</feature>
+        <feature version="[3,4)">odl-infrautils-diagstatus</feature>
+        <feature version="[3,4)">odl-infrautils-ready</feature>
         <configfile finalname="etc/org.opendaylight.ovsdb.southbound.cfg">
             mvn:org.opendaylight.ovsdb/southbound-impl/${project.version}/cfg/config
         </configfile>
index 3e2efd46db02ba53e841472224e3310354a12fd0..e4dca9eceefbfe8862d65c6ce58b520c903bd192 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 668493dab07622e73cec911dbef8388c4c9715cf..b3bf9656fb9be29835178813a4fd8c6cb878cdf7 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index a67f23a1ba64c1f47555b45d62d7b43d0fbe86f4..c735b627cc5b1a71df98613ea9a4e1d48e9a2a5c 100644 (file)
@@ -24,6 +24,8 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <name>ODL :: ovsdb :: ${project.artifactId}</name>
   <properties>
     <sonar.jacoco.itReportPath>../southbound-it/target/jacoco-it.exec</sonar.jacoco.itReportPath>
+    <!-- FIXME: clean up code to pass again -->
+    <odlparent.spotbugs.enforce>false</odlparent.spotbugs.enforce>
   </properties>
 
   <dependencies>
@@ -121,13 +123,24 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>mdsal-binding-test-utils</artifactId>
     </dependency>
+
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>3.12.4</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
       <artifactId>powermock-api-mockito2</artifactId>
+      <version>2.0.9</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
       <artifactId>powermock-module-junit4</artifactId>
+      <version>2.0.9</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
index f3e5a7ebe6d614cad8a5ad0c33ddebb226d72aaf..24c808bc9abb53573939cc6ab87d3c7388e0bd76 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.ovsdb.southbound;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -32,6 +33,7 @@ public class InstanceIdentifierCodec extends AbstractModuleStringInstanceIdentif
     private DataSchemaContextTree dataSchemaContextTree;
     private SchemaContext context;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
     public InstanceIdentifierCodec(final DOMSchemaService schemaService,
             final BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer) {
         schemaService.registerSchemaContextListener(this);
index a7fd308c3fafb29145d02707853b85c38276963f..64604adc19ceb027842271ca4cd602691fc4cdb7 100644 (file)
@@ -243,34 +243,21 @@ public class OvsdbConnectionInstance {
             stampInstanceIdentifier(transaction, instanceIdentifier.firstIdentifierOf(Node.class),
                     instanceIdentifierCodec);
 
-            try {
-                ovs.setExternalIds(
-                        YangUtils.convertYangKeyValueListToMap(externalIds, OpenvswitchExternalIds::getExternalIdKey,
-                                OpenvswitchExternalIds::getExternalIdValue));
-                Mutate<GenericTableSchema> mutate = op.mutate(ovs)
-                            .addMutation(ovs.getExternalIdsColumn().getSchema(),
-                                Mutator.INSERT,
-                                ovs.getExternalIdsColumn().getData());
-                transaction.add(mutate);
-            } catch (NullPointerException e) {
-                LOG.warn("Incomplete OVSDB Node external IDs", e);
-            }
-
-
+            ovs.setExternalIds(
+                YangUtils.convertYangKeyValueListToMap(externalIds, OpenvswitchExternalIds::requireExternalIdKey,
+                    OpenvswitchExternalIds::requireExternalIdValue));
+            Mutate<GenericTableSchema> mutate = op.mutate(ovs)
+                .addMutation(ovs.getExternalIdsColumn().getSchema(),
+                    Mutator.INSERT, ovs.getExternalIdsColumn().getData());
+            transaction.add(mutate);
 
             Map<OpenvswitchOtherConfigsKey, OpenvswitchOtherConfigs> otherConfigs =
                     initialCreateData.getOpenvswitchOtherConfigs();
             if (otherConfigs != null) {
-                try {
-                    ovs.setOtherConfig(YangUtils.convertYangKeyValueListToMap(otherConfigs,
-                            OpenvswitchOtherConfigs::getOtherConfigKey,
-                            OpenvswitchOtherConfigs::getOtherConfigValue));
-                    transaction.add(op.mutate(ovs).addMutation(ovs.getOtherConfigColumn().getSchema(),
-                        Mutator.INSERT,
-                        ovs.getOtherConfigColumn().getData()));
-                } catch (NullPointerException e) {
-                    LOG.warn("Incomplete OVSDB Node other_config", e);
-                }
+                ovs.setOtherConfig(YangUtils.convertYangKeyValueListToMap(otherConfigs,
+                    OpenvswitchOtherConfigs::requireOtherConfigKey, OpenvswitchOtherConfigs::requireOtherConfigValue));
+                transaction.add(op.mutate(ovs).addMutation(ovs.getOtherConfigColumn().getSchema(),
+                    Mutator.INSERT, ovs.getOtherConfigColumn().getData()));
             }
 
             invoke(transaction);
index 1ecfd0ae2e551a4bb3be429eb07dc123d65e1cc0..4df5af87d202bb140f3ab1f73a7e3d9357a01cba 100644 (file)
@@ -14,7 +14,6 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.net.ConnectException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -429,8 +428,6 @@ public class OvsdbConnectionManager implements OvsdbConnectionListener, AutoClos
         reconciliationManager.cancelTerminationPointReconciliation();
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private void handleOwnershipChanged(final EntityOwnershipChange ownershipChange) {
         OvsdbConnectionInstance ovsdbConnectionInstance = getConnectionInstanceFromEntity(ownershipChange.getEntity());
         LOG.debug("Ovsdb handleOwnershipChanged: {} event received for device {}",
@@ -676,7 +673,7 @@ public class OvsdbConnectionManager implements OvsdbConnectionListener, AutoClos
         reconciliationManager.enqueue(task);
     }
 
-    private static class OvsdbDeviceEntityOwnershipListener implements EntityOwnershipListener {
+    private static final class OvsdbDeviceEntityOwnershipListener implements EntityOwnershipListener {
         private final OvsdbConnectionManager cm;
         private final EntityOwnershipListenerRegistration listenerRegistration;
 
index d8a524019073225d7125ff1f8e27a0d5702d250b..bfcc2bb495070967670c273d27db72b134141c3a 100644 (file)
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Data-tree change listener for OVSDB.
  */
-public class OvsdbDataTreeChangeListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
+public final class OvsdbDataTreeChangeListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
 
     /** Our registration. */
     private final ListenerRegistration<DataTreeChangeListener<Node>> registration;
index ae71d90010a808f71baf16f9faf763bc93661a8d..11433b15db7347e5a1004b11a004a641fde70fe9 100644 (file)
@@ -30,7 +30,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class OvsdbOperGlobalListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
+public final class OvsdbOperGlobalListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
     public static final ConcurrentMap<InstanceIdentifier<Node>, Node> OPER_NODE_CACHE = new ConcurrentHashMap<>();
 
     private static final Logger LOG = LoggerFactory.getLogger(OvsdbOperGlobalListener.class);
index 358a7ec89826c1a0bb483fb4c9769f5b15d53fb0..0f9d9233df7152c3211671ca7d0b331c0c51632a 100644 (file)
@@ -60,6 +60,10 @@ public class SouthboundProvider implements ClusteredDataTreeChangeListener<Topol
     // FIXME: get rid of this static
     @SuppressFBWarnings("ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD")
     private static DataBroker db;
+    // FIXME: get rid of this static
+    private static List<String> reconcileBridgeInclusionList = new ArrayList<>();
+    // FIXME: get rid of this static
+    private static List<String> reconcileBridgeExclusionList = new ArrayList<>();
 
     public static DataBroker getDb() {
         return db;
@@ -79,8 +83,6 @@ public class SouthboundProvider implements ClusteredDataTreeChangeListener<Topol
     private final AtomicBoolean registered = new AtomicBoolean(false);
     private ListenerRegistration<SouthboundProvider> operTopologyRegistration;
     private final OvsdbDiagStatusProvider ovsdbStatusProvider;
-    private static List<String> reconcileBridgeInclusionList = new ArrayList<>();
-    private static List<String> reconcileBridgeExclusionList = new ArrayList<>();
     private OvsdbUpgradeStateListener ovsdbUpgradeStateListener;
 
     @Inject
@@ -215,7 +217,7 @@ public class SouthboundProvider implements ClusteredDataTreeChangeListener<Topol
         }
     }
 
-    private static class SouthboundPluginInstanceEntityOwnershipListener implements EntityOwnershipListener {
+    private static final class SouthboundPluginInstanceEntityOwnershipListener implements EntityOwnershipListener {
         private final SouthboundProvider sp;
         private final EntityOwnershipListenerRegistration listenerRegistration;
 
@@ -244,10 +246,12 @@ public class SouthboundProvider implements ClusteredDataTreeChangeListener<Topol
         }
     }
 
+    @SuppressFBWarnings("EI_EXPOSE_STATIC_REP2")
     public static void setBridgesReconciliationInclusionList(final List<String> bridgeList) {
         reconcileBridgeInclusionList = bridgeList;
     }
 
+    @SuppressFBWarnings("EI_EXPOSE_STATIC_REP2")
     public static void setBridgesReconciliationExclusionList(final List<String> bridgeList) {
         reconcileBridgeExclusionList = bridgeList;
     }
index f10883d8006bbadc27b751bba32d51a4a8daa803..1c427d667bad541d49c99b5ffa97703a92d657c3 100644 (file)
@@ -9,12 +9,14 @@ package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
+import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.ovsdb.lib.notation.UUID;
@@ -39,7 +41,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class BridgeUpdateCommand implements TransactCommand {
-
     private static final Logger LOG = LoggerFactory.getLogger(BridgeUpdateCommand.class);
 
     @Override
@@ -124,6 +125,7 @@ public class BridgeUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void setOpenDaylightExternalIds(final Bridge bridge,
             final InstanceIdentifier<OvsdbBridgeAugmentation> iid, final OvsdbBridgeAugmentation ovsdbManagedNode,
             final InstanceIdentifierCodec instanceIdentifierCodec) {
@@ -140,6 +142,7 @@ public class BridgeUpdateCommand implements TransactCommand {
         bridge.setExternalIds(externalIdMap);
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void setOpenDaylightOtherConfig(final @NonNull Bridge bridge,
             final @NonNull OvsdbBridgeAugmentation ovsdbManagedNode) {
         try {
@@ -158,9 +161,9 @@ public class BridgeUpdateCommand implements TransactCommand {
         String portNamedUuid = "Port_" + SouthboundMapper.getRandomUuid();
         Port port = transaction.getTypedRowWrapper(Port.class);
         port.setName(ovsdbManagedNode.getBridgeName().getValue());
-        port.setInterfaces(Collections.singleton(TransactUtils.extractNamedUuid(interfaceInsert)));
+        port.setInterfaces(Set.of(TransactUtils.extractNamedUuid(interfaceInsert)));
         transaction.add(op.insert(port).withId(portNamedUuid));
-        bridge.setPorts(Collections.singleton(new UUID(portNamedUuid)));
+        bridge.setPorts(Set.of(new UUID(portNamedUuid)));
     }
 
     private static Insert<GenericTableSchema> setInterface(final TransactionBuilder transaction,
@@ -179,7 +182,7 @@ public class BridgeUpdateCommand implements TransactCommand {
             final OvsdbBridgeAugmentation ovsdbManagedNode) {
         if (ovsdbManagedNode.getFailMode() != null
                 && SouthboundConstants.OVSDB_FAIL_MODE_MAP.get(ovsdbManagedNode.getFailMode()) != null) {
-            bridge.setFailMode(Collections.singleton(
+            bridge.setFailMode(Set.of(
                     SouthboundConstants.OVSDB_FAIL_MODE_MAP.get(ovsdbManagedNode.getFailMode())));
         }
     }
index 41dfaecf5ea5c0adcd8860fbbe3191cbd40b5c09..e47c3e715b149c9ade2538af9818bdc44fd49ab1 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
@@ -48,6 +49,7 @@ public class OvsdbNodeUpdateCommand implements TransactCommand {
                 instanceIdentifierCodec);
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void execute(final TransactionBuilder transaction,
             final Map<InstanceIdentifier<OvsdbNodeAugmentation>, OvsdbNodeAugmentation> updated,
             final InstanceIdentifierCodec instanceIdentifierCodec) {
index fccf9cf019eab283506fddae803b0819d34d7746..d2d49f7016fec47eddfa4e1f00fe15818c17af40 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
@@ -56,6 +57,7 @@ public class QosUpdateCommand implements TransactCommand {
                 instanceIdentifierCodec);
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void execute(final TransactionBuilder transaction, final BridgeOperationalState state,
             final Map<InstanceIdentifier<QosEntries>, QosEntries> createdOrUpdated,
             final InstanceIdentifierCodec instanceIdentifierCodec) {
index 3bbbacedeca5a8059c6bc23c838221cbb2d606a4..ef16402e60e660d7b0f5da3b7a161f2a0f2ba19b 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -53,6 +54,7 @@ public class QueueUpdateCommand implements TransactCommand {
                 instanceIdentifierCodec);
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void execute(final TransactionBuilder transaction, final BridgeOperationalState state,
             final Map<InstanceIdentifier<Queues>, Queues> createdOrUpdated,
             final InstanceIdentifierCodec instanceIdentifierCodec) {
index e733846af6c1bec5af7dd1919ede95fcae69af16..297620b22bb7ce95f13d48607aa07b2a0697110e 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 import static org.opendaylight.ovsdb.southbound.SouthboundUtil.schemaMismatchLog;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -59,7 +60,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class TerminationPointCreateCommand implements TransactCommand {
-
     private static final Logger LOG = LoggerFactory.getLogger(TerminationPointCreateCommand.class);
 
     @Override
@@ -186,6 +186,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createInterfaceOptions(
             final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
@@ -201,6 +202,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createInterfaceExternalIds(
             final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
@@ -222,6 +224,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createInterfaceOtherConfig(
             final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
@@ -242,6 +245,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createInterfaceLldp(
             final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
@@ -262,6 +266,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createInterfaceBfd(final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
 
@@ -280,6 +285,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createPortExternalIds(final OvsdbTerminationPointAugmentation terminationPoint,
             final Port port, final String opendaylightIid) {
 
@@ -343,6 +349,7 @@ public class TerminationPointCreateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void createPortOtherConfig(
             final OvsdbTerminationPointAugmentation terminationPoint,
             final Port ovsPort) {
index 2e4a1689a1a36eb470bda51306264010bcfcf1dc..5667cc6f9ce035fa442715971fed18160669f209 100644 (file)
@@ -11,6 +11,7 @@ import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 import static org.opendaylight.ovsdb.southbound.SouthboundUtil.schemaMismatchLog;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -219,6 +220,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updateInterfaceOptions(final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
 
@@ -233,6 +235,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updateInterfaceExternalIds(final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
 
@@ -253,6 +256,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updateInterfaceLldp(final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
         try {
@@ -271,6 +275,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updateInterfaceOtherConfig(final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
 
@@ -290,6 +295,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updateInterfaceBfd(final OvsdbTerminationPointAugmentation terminationPoint,
             final Interface ovsInterface) {
 
@@ -321,6 +327,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updatePortExternalIds(final OvsdbTerminationPointAugmentation terminationPoint,
             final Port port, final String opendaylightIid) {
 
@@ -366,6 +373,7 @@ public class TerminationPointUpdateCommand implements TransactCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     private static void updatePortOtherConfig(final OvsdbTerminationPointAugmentation terminationPoint,
             final Port ovsPort) {
         Map<PortOtherConfigsKey, PortOtherConfigs> portOtherConfigs =
index cff0658d54a28581d0ccfd76614d0957b852540e..a3b71f8d9cfd568bb03262ba21caee9f36485739 100644 (file)
@@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class OvsdbUpgradeStateListener implements ClusteredDataTreeChangeListener<UpgradeConfig>, AutoCloseable {
+public final class OvsdbUpgradeStateListener implements ClusteredDataTreeChangeListener<UpgradeConfig>, AutoCloseable {
 
     private static final Logger LOG = LoggerFactory.getLogger(OvsdbUpgradeStateListener.class);
 
index 7cd3b0c3802b03b4ef7534780008de87ae136464..c71a16078fb5430b0d8aecf7e5b9c6fb307ab919 100644 (file)
@@ -14,7 +14,6 @@ import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.google.common.util.concurrent.UncheckedExecutionException;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
@@ -264,8 +263,6 @@ public class ReconciliationManager implements AutoCloseable {
         }
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private static Map<InstanceIdentifier<OvsdbTerminationPointAugmentation>, OvsdbTerminationPointAugmentation>
         filterTerminationPointsForBridge(NodeKey nodeKey,
             Map<InstanceIdentifier<OvsdbTerminationPointAugmentation>, OvsdbTerminationPointAugmentation>
index b7fa9d2341ed5ab3000b52a34b5cd2348414ac9e..196a6b7cb394d1a0fd98411e1ebb26bb611295e8 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Map;
 import java.util.Optional;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
@@ -34,8 +35,8 @@ public class OvsdbAutoAttachRemovedCommand extends AbstractTransactionCommand {
 
     private final Map<UUID, AutoAttach> removedAutoAttachRows;
 
-    public OvsdbAutoAttachRemovedCommand(OvsdbConnectionInstance key,
-            TableUpdates updates, DatabaseSchema dbSchema) {
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
+    public OvsdbAutoAttachRemovedCommand(OvsdbConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
         removedAutoAttachRows = TyperUtils.extractRowsRemoved(AutoAttach.class, getUpdates(), getDbSchema());
     }
index 5defc45827192ae78f8b9fe9e718bc3307d66944..6ec778e09f1f58317f4103a7fff58d1bd8d36c1d 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -44,8 +45,8 @@ public class OvsdbAutoAttachUpdateCommand extends AbstractTransactionCommand {
     private final Map<UUID, AutoAttach> updatedAutoAttachRows;
     private final Map<UUID, AutoAttach> oldAutoAttachRows;
 
-    public OvsdbAutoAttachUpdateCommand(OvsdbConnectionInstance key,
-            TableUpdates updates, DatabaseSchema dbSchema) {
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
+    public OvsdbAutoAttachUpdateCommand(OvsdbConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
         updatedAutoAttachRows = TyperUtils.extractRowsUpdated(AutoAttach.class, getUpdates(), getDbSchema());
         oldAutoAttachRows = TyperUtils.extractRowsOld(AutoAttach.class, getUpdates(), getDbSchema());
index 30dbc76e196d7ea26218f8588e56b336c4108ef8..8e31c6217b42cb449810e8c712a002d15c66db69 100644 (file)
@@ -12,6 +12,7 @@ import static org.opendaylight.ovsdb.southbound.SouthboundUtil.schemaMismatchLog
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.net.InetAddresses;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.SocketException;
@@ -77,6 +78,7 @@ public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand {
     private final List<InstanceIdentifier<Node>> updatedBridges = new ArrayList<>();
     private final Map<NodeId, Node> updatedBridgeNodes;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
     public OvsdbBridgeUpdateCommand(InstanceIdentifierCodec instanceIdentifierCodec, OvsdbConnectionInstance key,
             TableUpdates updates, DatabaseSchema dbSchema,
                                     Map<NodeId, Node> updatedBridgeNodes) {
index 498d0fd36050badae0dc02fb9b240fadba971723..f8daa1e1bceeaabbe4ce21a4e4733794aab23bee 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.ovsdb.southbound.transactions.md;
 
 import static java.util.Objects.requireNonNull;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -36,6 +37,7 @@ public class OvsdbControllerRemovedCommand extends AbstractTransactionCommand {
     private final Map<UUID, Controller> removedControllerRows;
     private final Map<UUID, Bridge> updatedBridgeRows;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
     public OvsdbControllerRemovedCommand(InstanceIdentifierCodec instanceIdentifierCodec, OvsdbConnectionInstance key,
             TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
index f38ced177ba438db4699cb105ea9265ba8930def..a4adc7667451d8cb24c403a14a483bac85206efa 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
 import com.google.common.annotations.VisibleForTesting;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -46,6 +47,7 @@ public class OvsdbControllerUpdateCommand extends AbstractTransactionCommand {
     private final Map<UUID, Controller> updatedControllerRows;
     private final Map<UUID, Bridge> updatedBridgeRows;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
     public OvsdbControllerUpdateCommand(final OvsdbConnectionInstance key,
             final TableUpdates updates, final DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
index 905b97b298fb07b46cff4bd5ac3821b610273b4c..5b6e4c09555ad50ed745c658916180966b4d729c 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.ovsdb.southbound.transactions.md;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -36,8 +37,8 @@ public class OvsdbManagersRemovedCommand extends AbstractTransactionCommand {
     private final Map<UUID, OpenVSwitch> updatedOpenVSwitchRows;
     private final Map<UUID, Manager> updatedManagerRows;
 
-    public OvsdbManagersRemovedCommand(OvsdbConnectionInstance key,
-            TableUpdates updates, DatabaseSchema dbSchema) {
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
+    public OvsdbManagersRemovedCommand(OvsdbConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
         updatedOpenVSwitchRows = TyperUtils.extractRowsUpdated(OpenVSwitch.class, getUpdates(), getDbSchema());
         oldOpenVSwitchRows = TyperUtils.extractRowsOld(OpenVSwitch.class, getUpdates(), getDbSchema());
index ba28c9be40204290906119bc1914ed76b3f7530a..2d56395cffebb98534455a1dcdb940f1a341ce05 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
 import com.google.common.annotations.VisibleForTesting;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -43,8 +44,8 @@ public class OvsdbManagersUpdateCommand extends AbstractTransactionCommand {
     private Map<UUID, Manager> updatedManagerRows;
     private Map<UUID, OpenVSwitch> updatedOpenVSwitchRows;
 
-    public OvsdbManagersUpdateCommand(OvsdbConnectionInstance key,
-            TableUpdates updates, DatabaseSchema dbSchema) {
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
+    public OvsdbManagersUpdateCommand(OvsdbConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
         updatedOpenVSwitchRows = TyperUtils.extractRowsUpdated(OpenVSwitch.class, getUpdates(), getDbSchema());
         updatedManagerRows = TyperUtils.extractRowsUpdated(Manager.class,getUpdates(), getDbSchema());
index 0ed71daf0c2ff3ccc7fcd41c0a064d646e5fd27b..96f4d8055340708003531fb55a63209bee45173d 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -65,9 +66,10 @@ public class OvsdbOperationalCommandAggregator implements TransactionCommand {
         }
     }
 
+    @SuppressFBWarnings("DCN_NULLPOINTER_EXCEPTION")
     @Override
     public void execute(ReadWriteTransaction transaction) {
-        for (TransactionCommand command: commands) {
+        for (TransactionCommand command : commands) {
             try {
                 command.execute(transaction);
             } catch (NullPointerException | NoSuchElementException | ClassCastException e) {
@@ -78,7 +80,7 @@ public class OvsdbOperationalCommandAggregator implements TransactionCommand {
 
     @Override
     public void onSuccess() {
-        for (TransactionCommand command: commands) {
+        for (TransactionCommand command : commands) {
             command.onSuccess();
         }
     }
index ceeb936801615d30f9a708301e4c3901488ce5bb..648cb3279c36af2f98034c9dae6be385533b2338 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -36,6 +37,7 @@ public class OvsdbQosRemovedCommand extends AbstractTransactionCommand {
 
     private final Map<UUID, Qos> removedQosRows;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
     public OvsdbQosRemovedCommand(OvsdbConnectionInstance key,
             TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
index fd1bfade10424e527b6f9f7784b2656c0b9326a7..c779ff69a1d008edc70e8c56befb86581398e2ff 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -52,6 +53,7 @@ import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
 public class OvsdbQosUpdateCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(OvsdbQosUpdateCommand.class);
 
index 8abd246bd1098a05f177c5b3f457caf0c2bf1a70..5dd2a20182624ae4ee0c6944ec03de179a610ad4 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -36,8 +37,8 @@ public class OvsdbQueueRemovedCommand extends AbstractTransactionCommand {
 
     private final Map<UUID, Queue> removedQueueRows;
 
-    public OvsdbQueueRemovedCommand(OvsdbConnectionInstance key,
-            TableUpdates updates, DatabaseSchema dbSchema) {
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
+    public OvsdbQueueRemovedCommand(OvsdbConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
         removedQueueRows = TyperUtils.extractRowsRemoved(Queue.class, getUpdates(), getDbSchema());
     }
index 5a5b3ed5112d7aee928d7560351b5b748fa7e9d4..571256a2181ccbe186082060d74dbba16f4aa72a 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -51,6 +52,7 @@ public class OvsdbQueueUpdateCommand extends AbstractTransactionCommand {
     private final Map<UUID, Queue> updatedQueueRows;
     private final Map<UUID, Queue> oldQueueRows;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "Non-final for mocking")
     public OvsdbQueueUpdateCommand(InstanceIdentifierCodec instanceIdentifierCodec, OvsdbConnectionInstance key,
             TableUpdates updates, DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
index bc41602e23b82851971b5c77a4752c414a76e6fc..de49d84f97ce8b5ffd417172ad9e9e6a7d555cf7 100644 (file)
@@ -36,7 +36,8 @@ import org.opendaylight.mdsal.binding.api.TransactionChainListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class TransactionInvokerImpl implements TransactionInvoker,TransactionChainListener, Runnable, AutoCloseable {
+public final class TransactionInvokerImpl implements TransactionInvoker,TransactionChainListener, Runnable,
+        AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(TransactionInvokerImpl.class);
     private static final int QUEUE_SIZE = 10000;
 
index 786f5de038a8bd237471e9dea9044394bb602f11..96c0adf49a0b13f8bac8eec2a330f6bff4bc026a 100644 (file)
@@ -5,10 +5,9 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
index 9813b6a2c39b8f422c4dabfe7ff9f1a39096e87d..50524040c2ff66cd9075818c31abed041b373c45 100644 (file)
@@ -59,6 +59,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagerEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagerEntryBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -93,7 +94,7 @@ public class SouthboundMapperTest {
         map.put(SouthboundConstants.IID_EXTERNAL_ID_KEY, "IID_EXTERNAL_ID_KEY");
         when(column.getData()).thenReturn(map);
         InstanceIdentifierCodec iidc = mock(InstanceIdentifierCodec.class);
-        InstanceIdentifier deserializedIid = InstanceIdentifier.create(Node.class);
+        InstanceIdentifier deserializedIid = InstanceIdentifier.create(NetworkTopology.class);
         when(iidc.bindingDeserializerOrNull("IID_EXTERNAL_ID_KEY")).thenReturn(deserializedIid);
         OvsdbConnectionInstance client = mock(OvsdbConnectionInstance.class, Mockito.RETURNS_DEEP_STUBS);
         assertEquals("Incorrect Instance Identifier received", deserializedIid,
@@ -121,7 +122,7 @@ public class SouthboundMapperTest {
         map.put(SouthboundConstants.IID_EXTERNAL_ID_KEY, "IID_EXTERNAL_ID_KEY");
         when(column.getData()).thenReturn(map);
         InstanceIdentifierCodec iidc = mock(InstanceIdentifierCodec.class);
-        InstanceIdentifier deserializedIid = InstanceIdentifier.create(Node.class);
+        InstanceIdentifier deserializedIid = InstanceIdentifier.create(NetworkTopology.class);
         when(iidc.bindingDeserializerOrNull("IID_EXTERNAL_ID_KEY")).thenReturn(deserializedIid);
         OvsdbConnectionInstance client = mock(OvsdbConnectionInstance.class, Mockito.RETURNS_DEEP_STUBS);
         assertEquals("Incorrect Instance Identifier received", deserializedIid,
@@ -438,7 +439,7 @@ public class SouthboundMapperTest {
         // if true
         externalIdMap.put(SouthboundConstants.IID_EXTERNAL_ID_KEY, "test");
         InstanceIdentifierCodec iidc = mock(InstanceIdentifierCodec.class);
-        InstanceIdentifier iid = InstanceIdentifier.create(Node.class);
+        InstanceIdentifier iid = InstanceIdentifier.create(NetworkTopology.class);
         when(iidc.bindingDeserializerOrNull("test")).thenReturn(iid);
         assertEquals("Incorrect Instance Identifier received", iid, SouthboundMapper.getInstanceIdentifier(iidc, ovs));
         // if false
index fad7823b1e6445a8934b068149638a2198929c12..ad0df27cdcd930a9d987eb7efd63b9393a6dc61d 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 
 import static org.junit.Assert.assertEquals;
@@ -50,8 +49,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 @RunWith(MockitoJUnitRunner.class)
 public class BridgeOperationalStateTest {
     private final Node nd = new NodeBuilder().setNodeId(new NodeId("foo")).build();
-    private final InstanceIdentifier<?> iid = InstanceIdentifier.create(Topology.class);
-
     private final InstanceIdentifier<Node> nodeIid = InstanceIdentifier.create(NetworkTopology.class)
             .child(Topology.class).child(Node.class);
     private final Node brNode = new NodeBuilder().setNodeId(new NodeId("bar")).build();
@@ -96,7 +93,8 @@ public class BridgeOperationalStateTest {
         doReturn(optNode).when(briOperationState).getBridgeNode(any(InstanceIdentifier.class));
         OvsdbBridgeAugmentation ovsdbBriAug = mock(OvsdbBridgeAugmentation.class);
         doReturn(ovsdbBriAug).when(node).augmentation(OvsdbBridgeAugmentation.class);
-        Optional<OvsdbBridgeAugmentation> ovsdbBriAugOptional = briOperationState.getOvsdbBridgeAugmentation(iid);
+        Optional<OvsdbBridgeAugmentation> ovsdbBriAugOptional = briOperationState.getOvsdbBridgeAugmentation(
+            InstanceIdentifier.create(NetworkTopology.class));
         assertNotNull(ovsdbBriAugOptional);
         assertTrue(ovsdbBriAugOptional.get() instanceof OvsdbBridgeAugmentation);
     }
@@ -136,7 +134,7 @@ public class BridgeOperationalStateTest {
         OvsdbTerminationPointAugmentation ovsdbTermPntAug = mock(OvsdbTerminationPointAugmentation.class);
         doReturn(ovsdbTermPntAug).when(termPoint).augmentation(OvsdbTerminationPointAugmentation.class);
         Optional<OvsdbTerminationPointAugmentation> ovsdbTermPointOpt = briOperationState
-                .getOvsdbTerminationPointAugmentation(iid);
+                .getOvsdbTerminationPointAugmentation(InstanceIdentifier.create(NetworkTopology.class));
         assertNotNull(ovsdbTermPointOpt);
         assertTrue(ovsdbTermPointOpt.get() instanceof OvsdbTerminationPointAugmentation);
     }
index d447e7d1af197778d89220d31ac7e78b1f3e550d..e6e1d37a245fe9e285df1e35872f32c5ca0cc88e 100644 (file)
@@ -5,10 +5,9 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
index 113f85be045dc16816da6c4810ce55c8edb0ea54..9a52fc5722a985a342f679cc233acd076b6c2fb6 100644 (file)
@@ -5,11 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
index dd3845a529fcc955f53660e1efbae7c6da325193..c3aa7100390c21e505bec3798f6ba57618d40ebc 100644 (file)
@@ -5,11 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
index dbe7d7341658309e58a2de94ebb2ab64d6c246ec..812b81cb51a5a9419d838847da2551649eb1075c 100644 (file)
@@ -5,11 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
index 3f5961786a48f50bfa8e6889eea4bad9bdf81c8b..220aadf51e0457317d915429ad5a091b7e55a76f 100644 (file)
@@ -5,11 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
index 28d089a56f612e813ff4c039886757c47f961f97..679ab136c6f8e03e2287aa6671e951ae383bd145 100644 (file)
@@ -88,7 +88,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.core</artifactId>
+      <artifactId>org.osgi.framework</artifactId>
       <scope>compile</scope>
     </dependency>
     <dependency>
index 6f78ce7834caf371e77ac4ec6b55ee063297c74b..43600c850f25f5dd6848a9b2e505dd8605af3324 100644 (file)
@@ -159,7 +159,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
-import org.opendaylight.yangtools.concepts.Builder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.Identifier;
@@ -2678,45 +2677,28 @@ public class SouthboundIT extends AbstractMdsalTestBase {
         private static final int COUNTER_START = 0;
         private int counter = COUNTER_START;
 
-        protected abstract Builder<T> builder();
-
-        protected abstract void setKey(Builder<T> builder, String key);
-
-        protected abstract void setValue(Builder<T> builder, String value);
-
         protected abstract boolean isValueMandatory();
 
         public final T build(final String testName, final String key, final String value) {
-            final Builder<T> builder = builder();
-            this.counter++;
-            if (key != null) {
-                setKey(builder, String.format(FORMAT_STR, testName, key, this.counter));
-            }
-            if (value != null) {
-                setValue(builder, String.format(FORMAT_STR, testName, value, this.counter));
-            }
-            return builder.build();
+            counter++;
+            return build(key == null ? null : String.format(FORMAT_STR, testName, key, counter),
+                value != null ? null : String.format(FORMAT_STR, testName, value, counter));
         }
 
+        abstract @NonNull T build(@Nullable String key, @Nullable String value);
+
         public final void reset() {
-            this.counter = COUNTER_START;
+            counter = COUNTER_START;
         }
     }
 
     private static final class SouthboundQueuesExternalIdsBuilder extends KeyValueBuilder<QueuesExternalIds> {
         @Override
-        protected Builder<QueuesExternalIds> builder() {
-            return new QueuesExternalIdsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<QueuesExternalIds> builder, final String key) {
-            ((QueuesExternalIdsBuilder) builder).setQueuesExternalIdKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<QueuesExternalIds> builder, final String value) {
-            ((QueuesExternalIdsBuilder) builder).setQueuesExternalIdValue(value);
+        QueuesExternalIds build(final String key, final String value) {
+            return new QueuesExternalIdsBuilder()
+                .setQueuesExternalIdKey(key)
+                .setQueuesExternalIdValue(value)
+                .build();
         }
 
         @Override
@@ -2727,18 +2709,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundQueuesOtherConfigBuilder extends KeyValueBuilder<QueuesOtherConfig> {
         @Override
-        protected Builder<QueuesOtherConfig> builder() {
-            return new QueuesOtherConfigBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<QueuesOtherConfig> builder, final String key) {
-            ((QueuesOtherConfigBuilder) builder).setQueueOtherConfigKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<QueuesOtherConfig> builder, final String value) {
-            ((QueuesOtherConfigBuilder) builder).setQueueOtherConfigValue(value);
+        QueuesOtherConfig build(final String key, final String value) {
+            return new QueuesOtherConfigBuilder()
+                .setQueueOtherConfigKey(key)
+                .setQueueOtherConfigValue(value)
+                .build();
         }
 
         @Override
@@ -2749,18 +2724,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundQosExternalIdsBuilder extends KeyValueBuilder<QosExternalIds> {
         @Override
-        protected Builder<QosExternalIds> builder() {
-            return new QosExternalIdsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<QosExternalIds> builder, final String key) {
-            ((QosExternalIdsBuilder) builder).setQosExternalIdKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<QosExternalIds> builder, final String value) {
-            ((QosExternalIdsBuilder) builder).setQosExternalIdValue(value);
+        QosExternalIds build(final String key, final String value) {
+            return new QosExternalIdsBuilder()
+                .setQosExternalIdKey(key)
+                .setQosExternalIdValue(value)
+                .build();
         }
 
         @Override
@@ -2771,18 +2739,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundQosOtherConfigBuilder extends KeyValueBuilder<QosOtherConfig> {
         @Override
-        protected Builder<QosOtherConfig> builder() {
-            return new QosOtherConfigBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<QosOtherConfig> builder, final String key) {
-            ((QosOtherConfigBuilder) builder).setOtherConfigKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<QosOtherConfig> builder, final String value) {
-            ((QosOtherConfigBuilder) builder).setOtherConfigValue(value);
+        QosOtherConfig build(final String key, final String value) {
+            return new QosOtherConfigBuilder()
+                .setOtherConfigKey(key)
+                .setOtherConfigValue(value)
+                .build();
         }
 
         @Override
@@ -2793,18 +2754,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundPortExternalIdsBuilder extends KeyValueBuilder<PortExternalIds> {
         @Override
-        protected Builder<PortExternalIds> builder() {
-            return new PortExternalIdsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<PortExternalIds> builder, final String key) {
-            ((PortExternalIdsBuilder) builder).setExternalIdKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<PortExternalIds> builder, final String value) {
-            ((PortExternalIdsBuilder) builder).setExternalIdValue(value);
+        PortExternalIds build(final String key, final String value) {
+            return new PortExternalIdsBuilder()
+                .setExternalIdKey(key)
+                .setExternalIdValue(value)
+                .build();
         }
 
         @Override
@@ -2815,18 +2769,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundInterfaceExternalIdsBuilder extends KeyValueBuilder<InterfaceExternalIds> {
         @Override
-        protected Builder<InterfaceExternalIds> builder() {
-            return new InterfaceExternalIdsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<InterfaceExternalIds> builder, final String key) {
-            ((InterfaceExternalIdsBuilder) builder).setExternalIdKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<InterfaceExternalIds> builder, final String value) {
-            ((InterfaceExternalIdsBuilder) builder).setExternalIdValue(value);
+        InterfaceExternalIds build(final String key, final String value) {
+            return new InterfaceExternalIdsBuilder()
+                .setExternalIdKey(key)
+                .setExternalIdValue(value)
+                .build();
         }
 
         @Override
@@ -2837,18 +2784,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundInterfaceLldpBuilder extends KeyValueBuilder<InterfaceLldp> {
         @Override
-        protected Builder<InterfaceLldp> builder() {
-            return new InterfaceLldpBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<InterfaceLldp> builder, final String key) {
-            ((InterfaceLldpBuilder) builder).setLldpKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<InterfaceLldp> builder, final String value) {
-            ((InterfaceLldpBuilder) builder).setLldpValue(value);
+        InterfaceLldp build(final String key, final String value) {
+            return new InterfaceLldpBuilder()
+                .setLldpKey(key)
+                .setLldpValue(value)
+                .build();
         }
 
         @Override
@@ -2859,18 +2799,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundOptionsBuilder extends KeyValueBuilder<Options> {
         @Override
-        protected Builder<Options> builder() {
-            return new OptionsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<Options> builder, final String key) {
-            ((OptionsBuilder) builder).setOption(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<Options> builder, final String value) {
-            ((OptionsBuilder) builder).setValue(value);
+        Options build(final String key, final String value) {
+            return new OptionsBuilder()
+                .setOption(key)
+                .setValue(value)
+                .build();
         }
 
         @Override
@@ -2881,18 +2814,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundInterfaceOtherConfigsBuilder extends KeyValueBuilder<InterfaceOtherConfigs> {
         @Override
-        protected Builder<InterfaceOtherConfigs> builder() {
-            return new InterfaceOtherConfigsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<InterfaceOtherConfigs> builder, final String key) {
-            ((InterfaceOtherConfigsBuilder) builder).setOtherConfigKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<InterfaceOtherConfigs> builder, final String value) {
-            ((InterfaceOtherConfigsBuilder) builder).setOtherConfigValue(value);
+        InterfaceOtherConfigs build(final String key, final String value) {
+            return new InterfaceOtherConfigsBuilder()
+                .setOtherConfigKey(key)
+                .setOtherConfigValue(value)
+                .build();
         }
 
         @Override
@@ -2903,18 +2829,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundPortOtherConfigsBuilder extends KeyValueBuilder<PortOtherConfigs> {
         @Override
-        protected Builder<PortOtherConfigs> builder() {
-            return new PortOtherConfigsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<PortOtherConfigs> builder, final String key) {
-            ((PortOtherConfigsBuilder) builder).setOtherConfigKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<PortOtherConfigs> builder, final String value) {
-            ((PortOtherConfigsBuilder) builder).setOtherConfigValue(value);
+        PortOtherConfigs build(final String key, final String value) {
+            return new PortOtherConfigsBuilder()
+                .setOtherConfigKey(key)
+                .setOtherConfigValue(value)
+                .build();
         }
 
         @Override
@@ -2925,18 +2844,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundBridgeOtherConfigsBuilder extends KeyValueBuilder<BridgeOtherConfigs> {
         @Override
-        protected Builder<BridgeOtherConfigs> builder() {
-            return new BridgeOtherConfigsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<BridgeOtherConfigs> builder, final String key) {
-            ((BridgeOtherConfigsBuilder) builder).setBridgeOtherConfigKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<BridgeOtherConfigs> builder, final String value) {
-            ((BridgeOtherConfigsBuilder) builder).setBridgeOtherConfigValue(value);
+        BridgeOtherConfigs build(final String key, final String value) {
+            return new BridgeOtherConfigsBuilder()
+                .setBridgeOtherConfigKey(key)
+                .setBridgeOtherConfigValue(value)
+                .build();
         }
 
         @Override
@@ -2947,18 +2859,11 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     private static final class SouthboundBridgeExternalIdsBuilder extends KeyValueBuilder<BridgeExternalIds> {
         @Override
-        protected Builder<BridgeExternalIds> builder() {
-            return new BridgeExternalIdsBuilder();
-        }
-
-        @Override
-        protected void setKey(final Builder<BridgeExternalIds> builder, final String key) {
-            ((BridgeExternalIdsBuilder) builder).setBridgeExternalIdKey(key);
-        }
-
-        @Override
-        protected void setValue(final Builder<BridgeExternalIds> builder, final String value) {
-            ((BridgeExternalIdsBuilder) builder).setBridgeExternalIdValue(value);
+        BridgeExternalIds build(final String key, final String value) {
+            return new BridgeExternalIdsBuilder()
+                .setBridgeExternalIdKey(key)
+                .setBridgeExternalIdValue(value)
+                .build();
         }
 
         @Override
index 0018ee1646abdeb57a70b3cf384753d9dad1c649..18b8eb5cbfec47faec6d3351fdb910732c9615b8 100644 (file)
@@ -9,7 +9,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index 30bbad5a7a06825f8ae6c32a79713b3e1eb75c3e..1c01a111875592418e0fab770f7b3ef548e23b9e 100644 (file)
@@ -27,7 +27,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <dependencies>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.core</artifactId>
+      <artifactId>org.osgi.framework</artifactId>
     </dependency>
   </dependencies>
 
index 4b467f0e33e536b22d5b55c76508f6258b352fda..8edc91d23e7bbe9624f072a986c2af99dc817a0e 100644 (file)
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
  * Once an instance is created one must invoke the registerDataChangeListener method
  * with a DataBroker.
  */
-public class NotifyingDataChangeListener implements AutoCloseable, DataTreeChangeListener<DataObject> {
+public final class NotifyingDataChangeListener implements AutoCloseable, DataTreeChangeListener<DataObject> {
     private static final Logger LOG = LoggerFactory.getLogger(NotifyingDataChangeListener.class);
     private static final int RETRY_WAIT = 100;
     private static final int MDSAL_TIMEOUT_OPERATIONAL = 10000;
index 9a5b8a191fec3557603cb4e25c9f9c9bef7d5219..b2b1665b4871a45860e307547700b273d89ad6e8 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -29,7 +29,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
             <dependency>
                 <groupId>org.opendaylight.controller</groupId>
                 <artifactId>controller-artifacts</artifactId>
-                <version>4.0.10</version>
+                <version>5.0.1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 6a1b9e17494902e8441fbcc9d9f6fe43c3aaedc7..1964d6967728ccdfad3a180b99d87cc3e00a3149 100644 (file)
@@ -8,6 +8,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 <features name="odl-ovsdb-utils-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
     <feature name="odl-ovsdb-utils" version="${project.version}">
-        <feature version="[4,5)">odl-mdsal-broker</feature>
+        <feature version="[5,6)">odl-mdsal-broker</feature>
     </feature>
 </features>
index 1e970cd299a2a2b7a4b40b5f17c8c59e2eb64c1e..d9cc1076acd7dbb3ed2fb907585509c5ddd95f30 100644 (file)
@@ -42,7 +42,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       </dependency>
     <dependency>
       <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
-      <artifactId>rfc6991</artifactId>
+      <artifactId>rfc6991-ietf-inet-types</artifactId>
     </dependency>
       <dependency>
           <groupId>org.opendaylight.mdsal.model</groupId>
@@ -92,7 +92,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     </dependency>
     <dependency>
         <groupId>org.osgi</groupId>
-        <artifactId>osgi.core</artifactId>
+        <artifactId>org.osgi.framework</artifactId>
         <scope>compile</scope>
     </dependency>
 
index d524e947e71d524de9b9c3b4d96ba2fe431cd8d6..37ac42db65544ebfe2e32f93eb068dd013986597 100644 (file)
@@ -5,9 +5,10 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.utils.ovsdb.it.utils;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 import static org.ops4j.pax.exam.CoreOptions.propagateSystemProperties;
 
 import com.esotericsoftware.yamlbeans.YamlException;
@@ -36,7 +37,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.atomic.AtomicInteger;
-import org.junit.Assert;
 import org.ops4j.pax.exam.Option;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.FrameworkUtil;
@@ -95,7 +95,7 @@ import org.slf4j.LoggerFactory;
  * When DockerOvs does not run docker-compose getOvsdbAddress and getOvsdbPort return the address and port specified in
  * the system properties.
  */
-public class DockerOvs implements AutoCloseable {
+public final class DockerOvs implements AutoCloseable {
     private static String ENV_USAGE = "Usage:\n"
         + "-Ddocker.run - explicitly configure whether or not DockerOvs should run docker-compose\n"
         + "-Dovsdbserver.ipaddress - specify IP address of ovsdb server - implies -Ddocker.run=false\n"
@@ -256,9 +256,9 @@ public class DockerOvs implements AutoCloseable {
         //At this point we know we're not running docker and the conn type is active - make sure we have what we need
         //If we have a server address than we require a port too as those
         //are returned in getOvsdbPort() and getOvsdbAddress()
-        Assert.assertNotNull("Attempt to connect to previous running ovs but missing -Dovsdbserver.ipaddress\n"
+        assertNotNull("Attempt to connect to previous running ovs but missing -Dovsdbserver.ipaddress\n"
                                                                                     + ENV_USAGE, envServerAddress);
-        Assert.assertNotNull("Attempt to connect to previous running ovs but missing -Dovsdbserver.port\n"
+        assertNotNull("Attempt to connect to previous running ovs but missing -Dovsdbserver.port\n"
                 + ENV_USAGE, envServerPort);
     }
 
@@ -284,7 +284,7 @@ public class DockerOvs implements AutoCloseable {
         } else if (0 == ProcUtils.tryProcess(null, 5000, psCmd)) {
             LOG.info("DockerOvs.buildDockerCommands docker-compose requires sudo");
         } else {
-            Assert.fail("docker-compose does not seem to work with or without sudo");
+            fail("docker-compose does not seem to work with or without sudo");
         }
 
         if (0 == ProcUtils.tryProcess(null, 5000, dockerPsCmdNoSudo)) {
@@ -294,7 +294,7 @@ public class DockerOvs implements AutoCloseable {
         } else if (0 == ProcUtils.tryProcess(null, 5000, dockerPsCmd)) {
             LOG.info("DockerOvs.buildDockerCommands docker requires sudo");
         } else {
-            Assert.fail("docker does not seem to work with or without sudo");
+            fail("docker does not seem to work with or without sudo");
         }
     }
 
@@ -603,9 +603,9 @@ public class DockerOvs implements AutoCloseable {
      */
     private File createTempDockerComposeFile(String yamlFileName) {
         Bundle bundle = FrameworkUtil.getBundle(this.getClass());
-        Assert.assertNotNull("DockerOvs: bundle is null", bundle);
+        assertNotNull("DockerOvs: bundle is null", bundle);
         URL url = bundle.getResource(envDockerComposeFile);
-        Assert.assertNotNull("DockerOvs: URL is null", url);
+        assertNotNull("DockerOvs: URL is null", url);
 
         File tmpFile = null;
         try {
@@ -621,7 +621,7 @@ public class DockerOvs implements AutoCloseable {
             }
 
         } catch (IOException e) {
-            Assert.fail(e.toString());
+            fail(e.toString());
         }
 
         return tmpFile;
index 6de0d0c18e5387ea62666dba1277e68db60fe207..b406146f7dfed78ac3f3ec8bd99d2603d985c161 100644 (file)
@@ -5,14 +5,14 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.utils.ovsdb.it.utils;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.nio.charset.StandardCharsets;
-import org.junit.Assert;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -23,6 +23,7 @@ public final class ProcUtils {
     private static final Logger LOG = LoggerFactory.getLogger(ProcUtils.class);
 
     private ProcUtils() {
+        // Hidden on purpose
     }
 
      /**
@@ -32,8 +33,7 @@ public final class ProcUtils {
      * @throws IOException if something goes wrong on the IO end
      * @throws InterruptedException If this thread is interrupted
      */
-    public static void runProcess(long waitFor, String... words) throws
-            IOException, InterruptedException {
+    public static void runProcess(long waitFor, String... words) throws IOException, InterruptedException {
         runProcess(waitFor, null, words);
     }
 
@@ -48,7 +48,7 @@ public final class ProcUtils {
     public static void runProcess(long waitFor, StringBuilder capturedStdout, String... words)
             throws IOException, InterruptedException {
         int exitValue = tryProcess(null, waitFor, capturedStdout, words);
-        Assert.assertEquals("ProcUtils.runProcess exit code is not 0", 0, exitValue);
+        assertEquals("ProcUtils.runProcess exit code is not 0", 0, exitValue);
     }
 
     public static int runProcess(int reserved, long waitFor, StringBuilder capturedStdout, String... words)
@@ -83,8 +83,8 @@ public final class ProcUtils {
     public static int tryProcess(String logText, long waitFor, StringBuilder capturedStdout, String... words)
             throws IOException, InterruptedException {
 
-        LOG.info("ProcUtils.runProcess {} running \"{}\", waitFor {}",
-                logText != null ? logText : "", words, waitFor);
+        final String procName = logText != null ? logText : "";
+        LOG.info("ProcUtils.runProcess {} running \"{}\", waitFor {}", procName, words, waitFor);
 
         Process proc = new ProcessBuilder(words).start();
         int exitValue = -1;
@@ -98,8 +98,7 @@ public final class ProcUtils {
             exitValue = waitForExitValue(waitFor, proc);
 
             while (stderr.ready()) {
-                LOG.warn("ProcUtils.runProcess {} [stderr]: {}",
-                        logText != null ? logText : "", stderr.readLine());
+                LOG.warn("ProcUtils.runProcess {} [stderr]: {}", procName, stderr.readLine());
             }
 
             StringBuilder stdoutStringBuilder = capturedStdout != null ? capturedStdout : new StringBuilder();
@@ -109,8 +108,7 @@ public final class ProcUtils {
                 stdoutStringBuilder.append(buf, 0, read);
             }
 
-            LOG.info("ProcUtils.runProcess {} [stdout]:\n{}",
-                    logText != null ? logText : "", stdoutStringBuilder.toString());
+            LOG.info("ProcUtils.runProcess {} [stdout]:\n{}", procName, stdoutStringBuilder.toString());
         }
 
         return exitValue;
index 6b5774d2a1c3269446fbabe3ad1acc07d99a92fb..0daef929b9f0196d16a3042ff63c15abb3272cb5 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
index 094b37a07aff0fcffabb3192a83f0d9dd4c11515..fd516e6052fbd53380d38f4d9c9269dd279eaa76 100644 (file)
@@ -27,7 +27,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <dependencies>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.core</artifactId>
+      <artifactId>org.osgi.framework</artifactId>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>