Bump upstreams 69/106569/7
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 20 Jun 2023 23:15:10 +0000 (01:15 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Jul 2023 15:23:33 +0000 (17:23 +0200)
Adopt:
- odparent-13.0.3
- infrautils-6.0.1
- yangtools-11.0.0
- mdsal-12.0.0
- controller-8.0.0
- aaa-0.18.0
- netconf-6.0.0

Change-Id: Ie013f9afc64e70381e9d012c826952645c9a0335
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
70 files changed:
commons/binding-parent/pom.xml
commons/it/pom.xml
commons/pom.xml
hwvtepsouthbound/hwvtepsouthbound-api/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/HwvtepDeviceInfo.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepSouthboundMapper.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepSouthboundUtil.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepTableReader.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/cli/HwvtepCacheDisplayCmd.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/reconciliation/configuration/DataObjectModificationImpl.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/AbstractTransactCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/DependentJob.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/EmptyDependencyGetter.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/HwvtepOperationalState.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/MdsalUpdate.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactCommandAggregator.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/UnMetDependencyGetter.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/AbstractTransactionCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/test/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepOperationalDataChangeListener.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/test/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/DependencyQueueTest.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/test/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/UnMetDependencyGetterTest.java
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/karaf/pom.xml
library/pom.xml
pom.xml
schemas/pom.xml
southbound/pom.xml
southbound/southbound-api/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/OvsdbDiagStatusProvider.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.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/TransactUtils.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundProviderTest.java
southbound/southbound-it/src/test/java/org/opendaylight/ovsdb/southbound/it/SouthboundIT.java
southbound/southbound-karaf/pom.xml
utils/mdsal-utils/pom.xml
utils/odl-ovsdb-utils/pom.xml
utils/odl-ovsdb-utils/src/main/feature/feature.xml
utils/pom.xml
utils/southbound-utils/src/main/java/org/opendaylight/ovsdb/utils/southbound/utils/SouthboundUtils.java
utils/yang-utils/src/main/java/org/opendaylight/ovsdb/utils/yang/YangUtils.java

index 6a37501dbf73d772a55e2ebcdbc358174451cff5..b5416ef860147365c097a04c2115c67f1c9a6bdc 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>11.0.7</version>
+    <version>12.0.0</version>
     <relativePath/>
   </parent>
 
       <dependency>
         <groupId>org.opendaylight.aaa</groupId>
         <artifactId>aaa-artifacts</artifactId>
-        <version>0.17.7</version>
+        <version>0.18.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.infrautils</groupId>
         <artifactId>infrautils-artifacts</artifactId>
-        <version>5.0.3</version>
+        <version>6.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 518c133835fbb7eeb79c17cb940c7969267f5c02..cf63a5c9b5464fb7a31a444c9f51fab9950472c5 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>7.0.4</version>
+    <version>8.0.0</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>11.0.7</version>
+        <version>12.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 5d144bc66537e9dc8ad6f5a9f944beffa2e03aa1..ad8f4b95fd0696b0ed889f2856a8a7d8071ab2b2 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index e36b8e23650a18c4f804862902b0825d8293647f..474e36f7d8fef5c87e0f4965fb5a38e87ebcfa93 100644 (file)
@@ -34,7 +34,11 @@ 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.binding.model.ietf</groupId>
+      <artifactId>rfc6991-ietf-yang-types</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.mdsal.model</groupId>
index 0a6a628831833803f7a03ed6af03cf4f615e2d8c..a9e693b2dba70df6b72ad62281de35419d2724e1 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index 6ae5ef9dcf2d3afcc0f82f67724024b4407c272f..30791912570c9ef64d05486fa73e4c5155272eaf 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index 3cc42eba2ac410c079b3f78ecf8e61ba2227a7f8..25cc343c6e3d14425cc380333531d1bc522820a0 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
@@ -22,7 +22,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>11.0.7</version>
+                <version>12.0.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index f89cca55d75bdbf54eca81a74a942c59457bc474..3a36f39c52571e2616ce9532ba7133fa549d8578 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="[11,12)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
-        <feature version="[11,12)">odl-mdsal-model-odl-l2-types</feature>
+        <feature version="[12,13)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
+        <feature version="[12,13)">odl-mdsal-model-odl-l2-types</feature>
     </feature>
 </features>
index 99ef619f405831e7bc7da66444b3fd714da2c505..83012baea7e3e2f33e26a9adaf07cc4f84cf5a53 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>12.0.3</version>
+        <version>13.0.3</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>5.0.4</version>
+            <version>6.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 995a9db08b9c85a4a02d2f34c27230214ced1df9..d98b69b5c59d2ec88d171194fde1793e99943d9a 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index a112e41b387390a7807d595c6745fd18e3f1aa51..57076ecbbbb87146bf87950da5ead7554cccdd71 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
@@ -35,8 +35,8 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         </dependency>
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
-            <artifactId>odl-mdsal-apidocs</artifactId>
-            <version>5.0.4</version>
+            <artifactId>odl-restconf-openapi</artifactId>
+            <version>6.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index e26a3b888d22e38cdff0684c990a0f01b8295372..a89482deb8b8236edd72a9e27a9d5d78d460d53e 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index 87bd56a2775271c8e5be10c9cb14d04c56a37ac6..7b1f76277d320cf1e967a346ea901f445ad31c59 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.ovsdb</groupId>
index 93ff610bf96ca0e29d1e86b356cffa6fdc61d6e4..8987e4bc08d0766cc050eb7bfc212fb54056eaf5 100644 (file)
@@ -46,6 +46,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>mdsal-eos-binding-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>com.github.spotbugs</groupId>
+      <artifactId>spotbugs-annotations</artifactId>
+      <optional>true</optional>
+    </dependency>
     <dependency>
       <groupId>com.guicedee.services</groupId>
       <artifactId>javax.inject</artifactId>
index d58d31ee8b414f8d325441036db4ee5ebb514681..078318996884fdd8857f92102ab2d5156c81cf30 100644 (file)
@@ -28,8 +28,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacs;
 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.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,20 +55,20 @@ public class HwvtepDeviceInfo {
 
     private static final Logger LOG = LoggerFactory.getLogger(HwvtepDeviceInfo.class);
 
-    private Map<Class<? extends Identifiable>, Map<InstanceIdentifier, Boolean>> availableInOperDs =
+    private Map<Class<? extends KeyAware>, Map<InstanceIdentifier, Boolean>> availableInOperDs =
             new ConcurrentHashMap<>();
 
-    public void markAvailableInOperDs(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public void markAvailableInOperDs(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         availableInOperDs.putIfAbsent(cls, new ConcurrentHashMap<>());
         availableInOperDs.get(cls).put(key, Boolean.TRUE);
     }
 
-    public Boolean isAvailableInOperDs(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public Boolean isAvailableInOperDs(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         availableInOperDs.putIfAbsent(cls, new ConcurrentHashMap<>());
         return availableInOperDs.get(cls).getOrDefault(key, Boolean.FALSE);
     }
 
-    public Boolean clearOperDsAvailability(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public Boolean clearOperDsAvailability(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         availableInOperDs.putIfAbsent(cls, new ConcurrentHashMap<>());
         return availableInOperDs.get(cls).remove(key);
     }
@@ -143,11 +143,11 @@ public class HwvtepDeviceInfo {
     private final HwvtepConnectionInstance connectionInstance;
 
     private Map<InstanceIdentifier, AtomicInteger> iidInQueueCount = new ConcurrentHashMap<>();
-    private Map<Class<? extends Identifiable>, Map<InstanceIdentifier, DeviceData>> configKeyVsData =
+    private Map<Class<? extends KeyAware>, Map<InstanceIdentifier, DeviceData>> configKeyVsData =
             new ConcurrentHashMap<>();
-    private final Map<Class<? extends Identifiable>, Map<InstanceIdentifier, DeviceData>> opKeyVsData =
+    private final Map<Class<? extends KeyAware>, Map<InstanceIdentifier, DeviceData>> opKeyVsData =
             new ConcurrentHashMap<>();
-    private final Map<Class<? extends Identifiable>, Map<UUID, DeviceData>> uuidVsData = new ConcurrentHashMap<>();
+    private final Map<Class<? extends KeyAware>, Map<UUID, DeviceData>> uuidVsData = new ConcurrentHashMap<>();
     private final DependencyQueue dependencyQueue;
     private TransactionHistory controllerTxHistory;
     private TransactionHistory deviceUpdateHistory;
@@ -228,33 +228,33 @@ public class HwvtepDeviceInfo {
         return mapTunnelToPhysicalSwitch;
     }
 
-    public boolean isKeyInTransit(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public boolean isKeyInTransit(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         DeviceData deviceData = HwvtepSouthboundUtil.getData(opKeyVsData, cls, key);
         return deviceData != null && DeviceDataStatus.IN_TRANSIT == deviceData.status;
     }
 
-    public boolean isConfigDataAvailable(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public boolean isConfigDataAvailable(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         return HwvtepSouthboundUtil.getData(configKeyVsData, cls, key) != null;
     }
 
-    public void updateConfigData(Class<? extends Identifiable> cls, InstanceIdentifier key, Object data) {
+    public void updateConfigData(Class<? extends KeyAware> cls, InstanceIdentifier key, Object data) {
         HwvtepSouthboundUtil.updateData(configKeyVsData, cls, key,
                 new DeviceData(key, null, data, DeviceDataStatus.AVAILABLE));
     }
 
-    public DeviceData getConfigData(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public DeviceData getConfigData(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         return HwvtepSouthboundUtil.getData(configKeyVsData, cls, key);
     }
 
-    public Map<Class<? extends Identifiable>, Map<InstanceIdentifier, DeviceData>> getConfigData() {
+    public Map<Class<? extends KeyAware>, Map<InstanceIdentifier, DeviceData>> getConfigData() {
         return Collections.unmodifiableMap(configKeyVsData);
     }
 
-    public void clearConfigData(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public void clearConfigData(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         HwvtepSouthboundUtil.clearData(configKeyVsData, cls, key);
     }
 
-    public void markKeyAsInTransit(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public void markKeyAsInTransit(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         LOG.debug("Marking device data as intransit {}", key);
         DeviceData deviceData = getDeviceOperData(cls, key);
         UUID uuid = null;
@@ -268,7 +268,7 @@ public class HwvtepDeviceInfo {
                 new DeviceData(key, uuid, data, DeviceDataStatus.IN_TRANSIT));
     }
 
-    public void updateDeviceOperData(Class<? extends Identifiable> cls, InstanceIdentifier key,
+    public void updateDeviceOperData(Class<? extends KeyAware> cls, InstanceIdentifier key,
             UUID uuid, Object data) {
         LOG.debug("Updating device data {}", key);
         DeviceData deviceData = new DeviceData(key, uuid, data, DeviceDataStatus.AVAILABLE);
@@ -276,7 +276,7 @@ public class HwvtepDeviceInfo {
         HwvtepSouthboundUtil.updateData(uuidVsData, cls, uuid, deviceData);
     }
 
-    public void clearDeviceOperData(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public void clearDeviceOperData(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         DeviceData deviceData = HwvtepSouthboundUtil.getData(opKeyVsData, cls, key);
         if (deviceData != null && deviceData.uuid != null) {
             HwvtepSouthboundUtil.clearData(uuidVsData, cls, deviceData.uuid);
@@ -284,7 +284,7 @@ public class HwvtepDeviceInfo {
         HwvtepSouthboundUtil.clearData(opKeyVsData, cls, key);
     }
 
-    public void clearDeviceOperData(Class<? extends Identifiable> cls) {
+    public void clearDeviceOperData(Class<? extends KeyAware> cls) {
         Map<InstanceIdentifier, DeviceData> iids = opKeyVsData.get(cls);
         if (iids != null && !iids.isEmpty()) {
             Iterator<Map.Entry<InstanceIdentifier, DeviceData>> it = iids.entrySet().iterator();
@@ -298,7 +298,7 @@ public class HwvtepDeviceInfo {
         }
     }
 
-    public void clearDeviceOperUUID(Class<? extends Identifiable> cls, InstanceIdentifier key, UUID uuid) {
+    public void clearDeviceOperUUID(Class<? extends KeyAware> cls, InstanceIdentifier key, UUID uuid) {
         LOG.debug("Clearing device data {}", key);
         if (uuidVsData.containsKey(cls) && uuidVsData.get(cls).containsKey(uuid)) {
             LOG.debug("Remove {} {} from device data.", connectionInstance.getNodeId().getValue(), cls.getSimpleName());
@@ -307,19 +307,19 @@ public class HwvtepDeviceInfo {
         HwvtepSouthboundUtil.clearData(opKeyVsData, cls, key);
     }
 
-    public DeviceData getDeviceOperData(Class<? extends Identifiable> cls, UUID uuid) {
+    public DeviceData getDeviceOperData(Class<? extends KeyAware> cls, UUID uuid) {
         return HwvtepSouthboundUtil.getData(uuidVsData, cls, uuid);
     }
 
-    public DeviceData getDeviceOperData(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public DeviceData getDeviceOperData(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         return HwvtepSouthboundUtil.getData(opKeyVsData, cls, key);
     }
 
-    public Map<InstanceIdentifier, DeviceData> getDeviceOperData(Class<? extends Identifiable> cls) {
+    public Map<InstanceIdentifier, DeviceData> getDeviceOperData(Class<? extends KeyAware> cls) {
         return opKeyVsData.get(cls);
     }
 
-    public InstanceIdentifier getDeviceOperKey(final Class<? extends Identifiable> cls, final UUID uuid) {
+    public InstanceIdentifier getDeviceOperKey(final Class<? extends KeyAware> cls, final UUID uuid) {
         DeviceData deviceData = HwvtepSouthboundUtil.getData(uuidVsData, cls, uuid);
         if (deviceData != null) {
             return deviceData.getKey();
@@ -327,7 +327,7 @@ public class HwvtepDeviceInfo {
         return null;
     }
 
-    public UUID getUUID(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public UUID getUUID(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         DeviceData data = HwvtepSouthboundUtil.getData(opKeyVsData, cls, key);
         if (data != null) {
             return data.uuid;
@@ -335,7 +335,7 @@ public class HwvtepDeviceInfo {
         return null;
     }
 
-    public <T extends Identifiable> void addJobToQueue(DependentJob<T> job) {
+    public <T extends KeyAware> void addJobToQueue(DependentJob<T> job) {
         dependencyQueue.addToQueue(job);
     }
 
@@ -351,7 +351,7 @@ public class HwvtepDeviceInfo {
         dependencyQueue.submit(() -> connectionInstance.transact(transactCommand));
     }
 
-    public void clearInTransit(Class<? extends Identifiable> cls, InstanceIdentifier key) {
+    public void clearInTransit(Class<? extends KeyAware> cls, InstanceIdentifier key) {
         DeviceData deviceData = getDeviceOperData(cls, key);
         if (deviceData != null && deviceData.isInTransitState()) {
             if (deviceData.getData() != null) {
@@ -451,7 +451,7 @@ public class HwvtepDeviceInfo {
         return connectionInstance;
     }
 
-    public void setConfigKeyVsData(Map<Class<? extends Identifiable>, Map<InstanceIdentifier,
+    public void setConfigKeyVsData(Map<Class<? extends KeyAware>, Map<InstanceIdentifier,
             DeviceData>> configKeyVsData) {
         this.configKeyVsData = configKeyVsData;
     }
@@ -472,11 +472,11 @@ public class HwvtepDeviceInfo {
         deviceUpdateHistory.addToHistory(transactionType, object);
     }
 
-    public Map<Class<? extends Identifiable>, Map<InstanceIdentifier, DeviceData>> getOperData() {
+    public Map<Class<? extends KeyAware>, Map<InstanceIdentifier, DeviceData>> getOperData() {
         return Collections.unmodifiableMap(opKeyVsData);
     }
 
-    public Map<Class<? extends Identifiable>, Map<UUID, DeviceData>> getUuidData() {
+    public Map<Class<? extends KeyAware>, Map<UUID, DeviceData>> getUuidData() {
         return Collections.unmodifiableMap(uuidVsData);
     }
 
index 184caf540e11a051c353cd5f17c9fdd314ce7154..d5ee748605e7fd05ba075a7d94dac46b44345df9 100644 (file)
@@ -178,7 +178,7 @@ public final class HwvtepSouthboundMapper {
     }
 
     public static IpAddress createIpAddress(final Inet4Address address) {
-        return IetfInetUtil.INSTANCE.ipAddressFor(address);
+        return IetfInetUtil.ipAddressFor(address);
     }
 
     public static IpAddress createIpAddress(final Inet6Address address) {
index 54a75049f43c07fe0b3f52dfb3a00eb24e082e2f..ee1fb11b8b4c98343afd6221fb3986f3d695f24c 100644 (file)
@@ -34,8 +34,8 @@ 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;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -206,8 +206,8 @@ public final class HwvtepSouthboundUtil {
         LOG.debug(SCHEMA_VERSION_MISMATCH, column, table, "hw_vtep", ex.getMessage());
     }
 
-    public static <K, D> void updateData(Map<Class<? extends Identifiable>, Map<K, D>> map,
-            Class<? extends Identifiable> cls, K key, D data) {
+    public static <K, D> void updateData(Map<Class<? extends KeyAware>, Map<K, D>> map,
+            Class<? extends KeyAware> cls, K key, D data) {
         LOG.debug("Updating data {} {} {}", cls, key, data);
         if (key == null) {
             return;
@@ -218,8 +218,8 @@ public final class HwvtepSouthboundUtil {
         map.get(cls).put(key, data);
     }
 
-    public static <K, D> D getData(Map<Class<? extends Identifiable>, Map<K, D>> map,
-            Class<? extends Identifiable> cls, K key) {
+    public static <K, D> D getData(Map<Class<? extends KeyAware>, Map<K, D>> map,
+            Class<? extends KeyAware> cls, K key) {
         if (key == null) {
             return null;
         }
@@ -229,8 +229,8 @@ public final class HwvtepSouthboundUtil {
         return null;
     }
 
-    public static <K, D> boolean containsKey(Map<Class<? extends Identifiable>, Map<K, D>> map,
-            Class<? extends Identifiable> cls, K key) {
+    public static <K, D> boolean containsKey(Map<Class<? extends KeyAware>, Map<K, D>> map,
+            Class<? extends KeyAware> cls, K key) {
         if (key == null) {
             return false;
         }
@@ -240,8 +240,8 @@ public final class HwvtepSouthboundUtil {
         return false;
     }
 
-    public static <K, D> void clearData(Map<Class<? extends Identifiable>, Map<K, D>> map,
-            Class<? extends Identifiable> cls, K key) {
+    public static <K, D> void clearData(Map<Class<? extends KeyAware>, Map<K, D>> map,
+            Class<? extends KeyAware> cls, K key) {
         LOG.debug("Clearing data {} {}", cls, key);
         if (key == null) {
             return;
index a93ff20ebe24fda92f96e1247b466b72f10f473e..24ca4b90b97cebaf6258676faa1c13faca218659 100644 (file)
@@ -64,8 +64,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 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.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -99,7 +99,7 @@ public class HwvtepTableReader {
         TerminationPoint.class, PhysicalLocator.class,
         VlanBindings.class, PhysicalPort.class);
 
-    private final ImmutableMap<Class<? extends Identifiable<?>>, WhereClauseGetter<?>> whereClauseGetters;
+    private final ImmutableMap<Class<? extends KeyAware<?>>, WhereClauseGetter<?>> whereClauseGetters;
     private final ImmutableClassToInstanceMap<TypedBaseTable<?>> tables;
     private final HwvtepConnectionInstance connectionInstance;
 
@@ -114,7 +114,7 @@ public class HwvtepTableReader {
         }
 
         final Builder<TypedBaseTable<?>> tableBuilder = ImmutableClassToInstanceMap.<TypedBaseTable<?>>builder();
-        final ImmutableMap.Builder<Class<? extends Identifiable<?>>, WhereClauseGetter<?>> whereBuilder =
+        final ImmutableMap.Builder<Class<? extends KeyAware<?>>, WhereClauseGetter<?>> whereBuilder =
                 ImmutableMap.builderWithExpectedSize(4);
 
         if (dbSchema != null) {
@@ -253,7 +253,7 @@ public class HwvtepTableReader {
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
-    public Optional<TypedBaseTable> getHwvtepTableEntryUUID(final Class<? extends Identifiable> cls,
+    public Optional<TypedBaseTable> getHwvtepTableEntryUUID(final Class<? extends KeyAware> cls,
                                                             final InstanceIdentifier iid,
                                                             final UUID existingUUID) {
         final TypedDatabaseSchema dbSchema;
@@ -317,7 +317,7 @@ public class HwvtepTableReader {
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
-    public List<TypedBaseTable> getHwvtepTableEntries(final Class<? extends Identifiable> cls) {
+    public List<TypedBaseTable> getHwvtepTableEntries(final Class<? extends KeyAware> cls) {
         final TypedDatabaseSchema dbSchema;
         try {
             dbSchema = connectionInstance.getSchema(HwvtepSchemaConstants.HARDWARE_VTEP).get();
index 132c09e4dbe35902cc9daa421c8328aa27871622..289c3905ca19cdef29b074aa9882339c572fb2f6 100644 (file)
@@ -30,8 +30,8 @@ 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;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
 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.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 @Service
 @Command(scope = "hwvtep", name = "cache", description = "Disply hwvtep cache")
@@ -112,9 +112,9 @@ public class HwvtepCacheDisplayCmd implements Action {
 
     }
 
-    private static void printEntry(PrintStream console, Map.Entry<Class<? extends Identifiable>,
+    private static void printEntry(PrintStream console, Map.Entry<Class<? extends KeyAware>,
             Map<InstanceIdentifier, HwvtepDeviceInfo.DeviceData>> entry) {
-        Class<? extends Identifiable> cls = entry.getKey();
+        Class<? extends KeyAware> cls = entry.getKey();
         Map<InstanceIdentifier, HwvtepDeviceInfo.DeviceData> map = entry.getValue();
         String clsName = cls.getSimpleName();
         console.println(clsName + " - ");
@@ -200,9 +200,9 @@ public class HwvtepCacheDisplayCmd implements Action {
         console.println(deviceData.getUuid());
     }
 
-    private static void printEntryUUID(PrintStream console, Map.Entry<Class<? extends Identifiable>, Map<UUID,
+    private static void printEntryUUID(PrintStream console, Map.Entry<Class<? extends KeyAware>, Map<UUID,
             HwvtepDeviceInfo.DeviceData>> entry) {
-        Class<? extends Identifiable> cls = entry.getKey();
+        Class<? extends KeyAware> cls = entry.getKey();
         Map<UUID, HwvtepDeviceInfo.DeviceData> map = entry.getValue();
         String clsName = cls.getSimpleName();
         console.println(clsName + " - ");
index 86fe71fb25e652d3a57325bed3921d0584c0d6ed..7ac13871a552f94709f872c3c09f28bdd2fac6c0 100644 (file)
@@ -14,9 +14,9 @@ import org.opendaylight.yangtools.yang.binding.Augmentation;
 import org.opendaylight.yangtools.yang.binding.ChildOf;
 import org.opendaylight.yangtools.yang.binding.ChoiceIn;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
-import org.opendaylight.yangtools.yang.binding.Identifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Key;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 public class DataObjectModificationImpl<T extends DataObject> implements DataObjectModification<T> {
 
@@ -82,14 +82,14 @@ public class DataObjectModificationImpl<T extends DataObject> implements DataObj
 
     @Override
     @SuppressWarnings("unchecked")
-    public <C extends Identifiable<K> & ChildOf<? super T>, K extends Identifier<C>> DataObjectModification<C>
+    public <C extends KeyAware<K> & ChildOf<? super T>, K extends Key<C>> DataObjectModification<C>
         getModifiedChildListItem(final Class<C> listItem, final K listKey) {
         return (DataObjectModification<C>) getModifiedChild(InstanceIdentifier.IdentifiableItem.of(listItem, listKey));
     }
 
     @Override
-    public <H extends ChoiceIn<? super T> & DataObject, C extends Identifiable<K> & ChildOf<? super H>,
-            K extends Identifier<C>> DataObjectModification<C> getModifiedChildListItem(Class<H> caseType,
+    public <H extends ChoiceIn<? super T> & DataObject, C extends KeyAware<K> & ChildOf<? super H>,
+            K extends Key<C>> DataObjectModification<C> getModifiedChildListItem(Class<H> caseType,
                     Class<C> listItem, K listKey) {
         return null;
     }
index c5b014da60e76295e169ca09a6ff916907b111cc..428cd351b63ddc1f5a02befc4005e927521697f2 100644 (file)
@@ -38,13 +38,13 @@ 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.Augmentation;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
-import org.opendaylight.yangtools.yang.binding.Identifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Key;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataObject, I extends Identifier<T>,
+public abstract class AbstractTransactCommand<T extends KeyAware<I> & DataObject, I extends Key<T>,
         A extends Augmentation<Node>> implements TransactCommand<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(AbstractTransactCommand.class);
@@ -76,14 +76,14 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
         return changes;
     }
 
-    void updateCurrentTxDeleteData(final Class<? extends Identifiable> cls, final InstanceIdentifier key,
+    void updateCurrentTxDeleteData(final Class<? extends KeyAware> cls, final InstanceIdentifier key,
             final T data) {
         hwvtepOperationalState.updateCurrentTxDeleteData(cls, key);
         markKeyAsInTransit(cls, key);
         addToUpdates(key, data);
     }
 
-    void updateCurrentTxData(final Class<? extends Identifiable> cls, final InstanceIdentifier key, final UUID uuid,
+    void updateCurrentTxData(final Class<? extends KeyAware> cls, final InstanceIdentifier key, final UUID uuid,
             final T data) {
         hwvtepOperationalState.updateCurrentTxData(cls, key, uuid);
         markKeyAsInTransit(cls, key);
@@ -94,8 +94,8 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
         T oldData = null;
         Type type = getClass().getGenericSuperclass();
         Type classType = ((ParameterizedType) type).getActualTypeArguments()[0];
-        if (getConfigData((Class<? extends Identifiable>) classType, key) != null) {
-            oldData = (T) getConfigData((Class<? extends Identifiable>) classType, key).getData();
+        if (getConfigData((Class<? extends KeyAware>) classType, key) != null) {
+            oldData = (T) getConfigData((Class<? extends KeyAware>) classType, key).getData();
         }
         updates.add(new MdsalUpdate<>(key, data, oldData));
     }
@@ -113,7 +113,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
         Map confingDependencies = Collections.emptyMap();
 
         if (isDeleteCmd()) {
-            if (deviceInfo.isKeyInTransit((Class<? extends Identifiable>) classType, key)) {
+            if (deviceInfo.isKeyInTransit((Class<? extends KeyAware>) classType, key)) {
                 inTransitDependencies = new HashMap<>();
                 inTransitDependencies.put(classType, Lists.newArrayList(key));
             }
@@ -124,7 +124,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
             confingDependencies.remove(TerminationPoint.class);
 
             //If this key itself is in transit wait for the response of this key itself
-            if (deviceInfo.isKeyInTransit((Class<? extends Identifiable>) classType, key)
+            if (deviceInfo.isKeyInTransit((Class<? extends KeyAware>) classType, key)
                     || deviceInfo.isKeyInDependencyQueue(key)) {
                 inTransitDependencies.put(classType, Lists.newArrayList(key));
             }
@@ -134,9 +134,9 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
                 && HwvtepSouthboundUtil.isEmptyMap(inTransitDependencies)) {
             doDeviceTransaction(transaction, nodeIid, data, key, extraData);
             if (isDeleteCmd()) {
-                getDeviceInfo().clearConfigData((Class<? extends Identifiable>) classType, key);
+                getDeviceInfo().clearConfigData((Class<? extends KeyAware>) classType, key);
             } else {
-                getDeviceInfo().updateConfigData((Class<? extends Identifiable>) classType, key, data);
+                getDeviceInfo().updateConfigData((Class<? extends KeyAware>) classType, key, data);
             }
         }
 
@@ -150,7 +150,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
                                                  final TransactionBuilder transactionBuilder) {
                     clone.hwvtepOperationalState = operationalState;
                     HwvtepDeviceInfo.DeviceData deviceData =
-                            getDeviceInfo().getConfigData((Class<? extends Identifiable>)getClassType(), key);
+                            getDeviceInfo().getConfigData((Class<? extends KeyAware>)getClassType(), key);
                     T latest = data;
                     if (deviceData != null && deviceData.getData() != null) {
                         latest = (T) deviceData.getData();
@@ -187,7 +187,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
                                                  final TransactionBuilder transactionBuilder) {
                     clone.hwvtepOperationalState = operationalState;
                     HwvtepDeviceInfo.DeviceData deviceData = getDeviceInfo()
-                            .getConfigData((Class<? extends Identifiable>)getClassType(), key);
+                            .getConfigData((Class<? extends KeyAware>)getClassType(), key);
                     T latest = data;
                     if (deviceData != null && deviceData.getData() != null) {
                         latest = (T) deviceData.getData();
@@ -262,7 +262,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
                 if (!Objects.equals(hwvtepOperationalState.getConnectionInstance().getInstanceIdentifier(), key)) {
                     continue;
                 }
-                Class<? extends Identifiable> classType = (Class<? extends Identifiable>) getClassType();
+                Class<? extends KeyAware> classType = (Class<? extends KeyAware>) getClassType();
                 List<T> removed;
                 if (getOperationalState().isInReconciliation()) {
                     removed = getRemoved(change);
@@ -286,7 +286,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
                 if (!Objects.equals(hwvtepOperationalState.getConnectionInstance().getInstanceIdentifier(), key)) {
                     continue;
                 }
-                Class<? extends Identifiable> classType = (Class<? extends Identifiable>) getClassType();
+                Class<? extends KeyAware> classType = (Class<? extends KeyAware>) getClassType();
                 List<T> updated = null;
                 if (getOperationalState().isInReconciliation()) {
                     updated = getUpdated(change);
@@ -361,8 +361,8 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
             return HwvtepSouthboundUtil.isEmpty(list1) ? Collections.emptyList() : list1;
         }
 
-        Map<Object, T> map1 = list1.stream().collect(Collectors.toMap(Identifiable::key, ele -> ele));
-        Map<Object, T> map2 = list2.stream().collect(Collectors.toMap(Identifiable::key, ele -> ele));
+        Map<Object, T> map1 = list1.stream().collect(Collectors.toMap(KeyAware::key, ele -> ele));
+        Map<Object, T> map2 = list2.stream().collect(Collectors.toMap(KeyAware::key, ele -> ele));
         map1.entrySet().forEach(entry1 -> {
             T val2 = map2.remove(entry1.getKey());
             if (compareKeyOnly) {
@@ -439,7 +439,7 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
         getOperationalState().getDeviceInfo().addToControllerTx(transactionType, element);
     }
 
-    public <T> HwvtepDeviceInfo.DeviceData fetchDeviceData(final Class<? extends Identifiable> cls,
+    public <T> HwvtepDeviceInfo.DeviceData fetchDeviceData(final Class<? extends KeyAware> cls,
             final InstanceIdentifier key) {
         HwvtepDeviceInfo.DeviceData deviceData  = getDeviceOpData(cls, key);
         if (deviceData == null) {
@@ -457,30 +457,30 @@ public abstract class AbstractTransactCommand<T extends Identifiable<I> & DataOb
         return deviceData;
     }
 
-    public <K extends Identifiable> void addJobToQueue(final DependentJob<K> job) {
+    public <K extends KeyAware> void addJobToQueue(final DependentJob<K> job) {
         hwvtepOperationalState.getDeviceInfo().putKeyInDependencyQueue(job.getKey());
         hwvtepOperationalState.getDeviceInfo().addJobToQueue(job);
     }
 
-    public void markKeyAsInTransit(final Class<? extends Identifiable> cls, final InstanceIdentifier key) {
+    public void markKeyAsInTransit(final Class<? extends KeyAware> cls, final InstanceIdentifier key) {
         hwvtepOperationalState.getDeviceInfo().markKeyAsInTransit(cls, key);
     }
 
-    public HwvtepDeviceInfo.DeviceData getDeviceOpData(final Class<? extends Identifiable> cls,
+    public HwvtepDeviceInfo.DeviceData getDeviceOpData(final Class<? extends KeyAware> cls,
             final InstanceIdentifier key) {
         return getOperationalState().getDeviceInfo().getDeviceOperData(cls, key);
     }
 
-    public void clearConfigData(final Class<? extends Identifiable> cls, final InstanceIdentifier key) {
+    public void clearConfigData(final Class<? extends KeyAware> cls, final InstanceIdentifier key) {
         hwvtepOperationalState.getDeviceInfo().clearConfigData(cls, key);
     }
 
-    public HwvtepDeviceInfo.DeviceData getConfigData(final Class<? extends Identifiable> cls,
+    public HwvtepDeviceInfo.DeviceData getConfigData(final Class<? extends KeyAware> cls,
             final InstanceIdentifier key) {
         return hwvtepOperationalState.getDeviceInfo().getConfigData(cls, key);
     }
 
-    public void updateConfigData(final Class<? extends Identifiable> cls, final InstanceIdentifier key,
+    public void updateConfigData(final Class<? extends KeyAware> cls, final InstanceIdentifier key,
             final Object data) {
         hwvtepOperationalState.getDeviceInfo().updateConfigData(cls, key, data);
     }
index 4f7f6e7242c4c46636d30c2fee067d43f43ba40a..c541a743c03cd25ec9c578aa800ebe1b5ed08cf4 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.hwvtepsouthbound.transact;
 
 import java.util.List;
@@ -19,12 +18,12 @@ import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepSouthboundConstants;
 import org.opendaylight.ovsdb.lib.operations.TransactionBuilder;
 import org.opendaylight.ovsdb.lib.schema.typed.TypedBaseTable;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class DependentJob<T extends Identifiable> {
+public abstract class DependentJob<T extends KeyAware> {
 
     private static final Logger LOG = LoggerFactory.getLogger(DependentJob.class);
 
@@ -133,7 +132,7 @@ public abstract class DependentJob<T extends Identifiable> {
     public void onSuccess() {
     }
 
-    public abstract static class ConfigWaitingJob<T extends Identifiable> extends DependentJob<T> {
+    public abstract static class ConfigWaitingJob<T extends KeyAware> extends DependentJob<T> {
 
         public ConfigWaitingJob(InstanceIdentifier key, T data,
                 Map<Class<? extends DataObject>, List<InstanceIdentifier>> dependencies) {
@@ -150,7 +149,7 @@ public abstract class DependentJob<T extends Identifiable> {
         }
     }
 
-    public abstract static class OpWaitingJob<T extends Identifiable> extends DependentJob<T> {
+    public abstract static class OpWaitingJob<T extends KeyAware> extends DependentJob<T> {
 
         public OpWaitingJob(InstanceIdentifier key, T data,
                 Map<Class<? extends DataObject>, List<InstanceIdentifier>> dependencies,
index 6b2d8b8f298df72a7e14068fe5c130d2e85caab1..84884eb0a75c70c6f6a7545d3c8a61a69a3c2c94 100644 (file)
@@ -9,8 +9,8 @@ package org.opendaylight.ovsdb.hwvtepsouthbound.transact;
 
 import java.util.Collections;
 import java.util.List;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 public final class EmptyDependencyGetter extends UnMetDependencyGetter {
 
@@ -20,12 +20,12 @@ public final class EmptyDependencyGetter extends UnMetDependencyGetter {
     }
 
     @Override
-    public List<InstanceIdentifier<?>> getLogicalSwitchDependencies(Identifiable data) {
+    public List<InstanceIdentifier<?>> getLogicalSwitchDependencies(KeyAware data) {
         return Collections.emptyList();
     }
 
     @Override
-    public List<InstanceIdentifier<?>> getTerminationPointDependencies(Identifiable data) {
+    public List<InstanceIdentifier<?>> getTerminationPointDependencies(KeyAware data) {
         return Collections.emptyList();
     }
 }
index 8bb0626cf6233a8f38f2f62f2af09fa1afa268a3..aa7401b1cc6cf1dc201ca9bc58617e3f6ad9fecd 100644 (file)
@@ -54,8 +54,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 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.TerminationPointKey;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -69,9 +69,9 @@ public class HwvtepOperationalState {
     HashMap<InstanceIdentifier<TerminationPoint>, UUID> inflightLocators = new HashMap<>();
     private final HwvtepDeviceInfo deviceInfo;
     private final HwvtepConnectionInstance connectionInstance;
-    private final Map<Class<? extends Identifiable>, Map<InstanceIdentifier, UUID>> currentTxUUIDs =
+    private final Map<Class<? extends KeyAware>, Map<InstanceIdentifier, UUID>> currentTxUUIDs =
             new ConcurrentHashMap<>();
-    private final Map<Class<? extends Identifiable>, Map<InstanceIdentifier, Boolean>> currentTxDeletedKeys =
+    private final Map<Class<? extends KeyAware>, Map<InstanceIdentifier, Boolean>> currentTxDeletedKeys =
             new ConcurrentHashMap<>();
 
     /* stores the modified and deleted data for each child type of each node id
@@ -80,8 +80,8 @@ public class HwvtepOperationalState {
        child type is the child of hwvtep Global augmentation
      */
     private Map<InstanceIdentifier<Node>,
-            Pair<Map<Class<? extends Identifiable>, List<Identifiable>>,
-                    Map<Class<? extends Identifiable>, List<Identifiable>>>> modifiedData = new HashMap<>();
+            Pair<Map<Class<? extends KeyAware>, List<KeyAware>>,
+                    Map<Class<? extends KeyAware>, List<KeyAware>>>> modifiedData = new HashMap<>();
     private boolean inReconciliation = false;
     private final DataBroker db;
     private final Collection<DataTreeModification<Node>> changes;
@@ -307,33 +307,33 @@ public class HwvtepOperationalState {
         return deviceInfo;
     }
 
-    public void updateCurrentTxData(final Class<? extends Identifiable> cls, final InstanceIdentifier key,
+    public void updateCurrentTxData(final Class<? extends KeyAware> cls, final InstanceIdentifier key,
             final UUID uuid) {
         HwvtepSouthboundUtil.updateData(currentTxUUIDs, cls, key, uuid);
     }
 
-    public void updateCurrentTxDeleteData(final Class<? extends Identifiable> cls, final InstanceIdentifier key) {
+    public void updateCurrentTxDeleteData(final Class<? extends KeyAware> cls, final InstanceIdentifier key) {
         HwvtepSouthboundUtil.updateData(currentTxDeletedKeys, cls, key, Boolean.TRUE);
     }
 
-    public UUID getUUIDFromCurrentTx(final Class<? extends Identifiable> cls, final InstanceIdentifier key) {
+    public UUID getUUIDFromCurrentTx(final Class<? extends KeyAware> cls, final InstanceIdentifier key) {
         return HwvtepSouthboundUtil.getData(currentTxUUIDs, cls, key);
     }
 
-    public boolean isKeyPartOfCurrentTx(final Class<? extends Identifiable> cls, final InstanceIdentifier key) {
+    public boolean isKeyPartOfCurrentTx(final Class<? extends KeyAware> cls, final InstanceIdentifier key) {
         return HwvtepSouthboundUtil.containsKey(currentTxUUIDs, cls, key);
     }
 
-    public Set<InstanceIdentifier> getDeletedKeysInCurrentTx(final Class<? extends Identifiable> cls) {
+    public Set<InstanceIdentifier> getDeletedKeysInCurrentTx(final Class<? extends KeyAware> cls) {
         if (currentTxDeletedKeys.containsKey(cls)) {
             return currentTxDeletedKeys.get(cls).keySet();
         }
         return Collections.emptySet();
     }
 
-    public List<? extends Identifiable> getUpdatedData(final InstanceIdentifier<Node> key,
-                                                       final Class<? extends Identifiable> cls) {
-        List<Identifiable> result = null;
+    public List<? extends KeyAware> getUpdatedData(final InstanceIdentifier<Node> key,
+                                                   final Class<? extends KeyAware> cls) {
+        List<KeyAware> result = null;
         if (modifiedData.get(key) != null && modifiedData.get(key).getLeft() != null) {
             result = modifiedData.get(key).getLeft().get(cls);
         }
@@ -343,9 +343,9 @@ public class HwvtepOperationalState {
         return result;
     }
 
-    public List<? extends Identifiable> getDeletedData(final InstanceIdentifier<Node> key,
-                                                       final Class<? extends Identifiable> cls) {
-        List<Identifiable> result = null;
+    public List<? extends KeyAware> getDeletedData(final InstanceIdentifier<Node> key,
+                                                   final Class<? extends KeyAware> cls) {
+        List<KeyAware> result = null;
         if (modifiedData.get(key) != null && modifiedData.get(key).getRight() != null) {
             result = modifiedData.get(key).getRight().get(cls);
         }
@@ -356,8 +356,8 @@ public class HwvtepOperationalState {
     }
 
     public void setModifiedData(final Map<InstanceIdentifier<Node>,
-            Pair<Map<Class<? extends Identifiable>, List<Identifiable>>,
-                    Map<Class<? extends Identifiable>, List<Identifiable>>>> modifiedData) {
+            Pair<Map<Class<? extends KeyAware>, List<KeyAware>>,
+                    Map<Class<? extends KeyAware>, List<KeyAware>>>> modifiedData) {
         this.modifiedData = modifiedData;
     }
 
index eb3dcda5c7080ac0c1f0298d5465fbcc7f0ea6a1..19841eed87723d1279a2cd4b70657caa977bb01f 100644 (file)
@@ -5,13 +5,12 @@
  * 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.hwvtepsouthbound.transact;
 
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
-public class MdsalUpdate<T extends Identifiable> {
+public class MdsalUpdate<T extends KeyAware> {
 
     private InstanceIdentifier key;
     private T newData;
index a0cb88ee3946bcc14df30ec39a25f60a270c723e..d9358167efcf2ab131ae84adbad2e227d16c7664 100644 (file)
@@ -5,15 +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.hwvtepsouthbound.transact;
 
 import org.opendaylight.ovsdb.lib.operations.TransactionBuilder;
 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.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
-public interface TransactCommand<T extends Identifiable> {
+public interface TransactCommand<T extends KeyAware> {
 
     void execute(TransactionBuilder transaction);
 
index 2a232f20f3c947499e631e8d7d5a9e05369ab32b..7191bba0b63f7ff1371336f6a6fdb57c1422a942 100644 (file)
@@ -24,8 +24,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacs;
 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.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,8 +41,8 @@ public class TransactCommandAggregator implements TransactCommand {
        child type is the child of hwvtep Global augmentation
      */
     private final Map<InstanceIdentifier<Node>,
-            Pair<Map<Class<? extends Identifiable>, List<Identifiable>>,
-                Map<Class<? extends Identifiable>, List<Identifiable>>>> modifiedData = new HashMap<>();
+            Pair<Map<Class<? extends KeyAware>, List<KeyAware>>,
+                Map<Class<? extends KeyAware>, List<KeyAware>>>> modifiedData = new HashMap<>();
 
 
     public TransactCommandAggregator(HwvtepOperationalState state, Collection<DataTreeModification<Node>> changes) {
@@ -76,13 +76,13 @@ public class TransactCommandAggregator implements TransactCommand {
     }
 
     @Override
-    public void onConfigUpdate(TransactionBuilder transaction, InstanceIdentifier nodeIid, Identifiable data,
+    public void onConfigUpdate(TransactionBuilder transaction, InstanceIdentifier nodeIid, KeyAware data,
                                InstanceIdentifier key,
                                Object... extraData) {
     }
 
     @Override
-    public void doDeviceTransaction(TransactionBuilder transaction, InstanceIdentifier nodeIid, Identifiable data,
+    public void doDeviceTransaction(TransactionBuilder transaction, InstanceIdentifier nodeIid, KeyAware data,
                                     InstanceIdentifier key,
                                     Object... extraData) {
     }
@@ -92,8 +92,8 @@ public class TransactCommandAggregator implements TransactCommand {
         for (DataTreeModification<Node> change : changes) {
             final InstanceIdentifier<Node> key = change.getRootPath().getRootIdentifier();
             final DataObjectModification<Node> mod = change.getRootNode();
-            final Map<Class<? extends Identifiable>, List<Identifiable>> updatedData = new HashMap<>();
-            final Map<Class<? extends Identifiable>, List<Identifiable>> deletedData = new HashMap<>();
+            final Map<Class<? extends KeyAware>, List<KeyAware>> updatedData = new HashMap<>();
+            final Map<Class<? extends KeyAware>, List<KeyAware>> deletedData = new HashMap<>();
             extractDataChanged(key, mod, updatedData, deletedData);
             modifiedData.put(key, Pair.of(updatedData, deletedData));
             operationalState.setModifiedData(modifiedData);
@@ -106,16 +106,16 @@ public class TransactCommandAggregator implements TransactCommand {
         }
     }
 
-    private static boolean isMacOnlyUpdate(final Map<Class<? extends Identifiable>, List<Identifiable>> updatedData,
-                                           final Map<Class<? extends Identifiable>, List<Identifiable>> deletedData) {
+    private static boolean isMacOnlyUpdate(final Map<Class<? extends KeyAware>, List<KeyAware>> updatedData,
+                                           final Map<Class<? extends KeyAware>, List<KeyAware>> deletedData) {
         return updatedData.containsKey(RemoteUcastMacs.class) && updatedData.size() == 1
                 || deletedData.containsKey(RemoteUcastMacs.class) && deletedData.size() == 1;
     }
 
     private static void extractDataChanged(final InstanceIdentifier<Node> key,
                                            final DataObjectModification<Node> mod,
-                                           final Map<Class<? extends Identifiable>, List<Identifiable>> updatedData,
-                                           final Map<Class<? extends Identifiable>, List<Identifiable>> deletedData) {
+                                           final Map<Class<? extends KeyAware>, List<KeyAware>> updatedData,
+                                           final Map<Class<? extends KeyAware>, List<KeyAware>> deletedData) {
 
         extractDataChanged(mod.getModifiedChildren(), updatedData, deletedData);
         DataObjectModification<HwvtepGlobalAugmentation> aug = mod.getModifiedAugmentation(
@@ -132,18 +132,18 @@ public class TransactCommandAggregator implements TransactCommand {
 
     private static void extractDataChanged(
             final Collection<? extends DataObjectModification<? extends DataObject>> children,
-                    final Map<Class<? extends Identifiable>, List<Identifiable>> updatedData,
-                    final Map<Class<? extends Identifiable>, List<Identifiable>> deletedData) {
+                    final Map<Class<? extends KeyAware>, List<KeyAware>> updatedData,
+                    final Map<Class<? extends KeyAware>, List<KeyAware>> deletedData) {
         if (children == null) {
             return;
         }
         for (DataObjectModification<? extends DataObject> child : children) {
-            Class<? extends Identifiable> childClass = (Class<? extends Identifiable>) child.getDataType();
+            Class<? extends KeyAware> childClass = (Class<? extends KeyAware>) child.getDataType();
             switch (child.getModificationType()) {
                 case WRITE:
                 case SUBTREE_MODIFIED:
                     DataObject dataAfter = child.getDataAfter();
-                    if (!(dataAfter instanceof Identifiable)) {
+                    if (!(dataAfter instanceof KeyAware)) {
                         continue;
                     }
                     DataObject before = child.getDataBefore();
@@ -155,15 +155,15 @@ public class TransactCommandAggregator implements TransactCommand {
                          */
                         continue;
                     }
-                    Identifiable identifiable = (Identifiable) dataAfter;
+                    KeyAware identifiable = (KeyAware) dataAfter;
                     addToUpdatedData(updatedData, childClass, identifiable);
                     break;
                 case DELETE:
                     DataObject dataBefore = child.getDataBefore();
-                    if (!(dataBefore instanceof Identifiable)) {
+                    if (!(dataBefore instanceof KeyAware)) {
                         continue;
                     }
-                    addToUpdatedData(deletedData, childClass, (Identifiable)dataBefore);
+                    addToUpdatedData(deletedData, childClass, (KeyAware)dataBefore);
                     break;
                 default:
                     break;
@@ -171,8 +171,8 @@ public class TransactCommandAggregator implements TransactCommand {
         }
     }
 
-    private static void addToUpdatedData(Map<Class<? extends Identifiable>, List<Identifiable>> updatedData,
-                                         Class<? extends Identifiable> childClass, Identifiable identifiable) {
+    private static void addToUpdatedData(Map<Class<? extends KeyAware>, List<KeyAware>> updatedData,
+                                         Class<? extends KeyAware> childClass, KeyAware identifiable) {
         updatedData.computeIfAbsent(childClass, (cls) -> new ArrayList<>());
         updatedData.get(childClass).add(identifiable);
     }
@@ -192,6 +192,4 @@ public class TransactCommandAggregator implements TransactCommand {
     public boolean retry() {
         return retryCount.decrementAndGet() > 0;
     }
-
-
 }
index 3200f9e1bf875b83cbee44f23420985af7db99d6..d6e5f82633d752a72340e43c9808ef1b5c71fe69 100644 (file)
@@ -20,13 +20,13 @@ import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepSouthboundUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitches;
 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.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 /**
  * Utility class to retrieve the unmet dependencies (config/operational) of the given object.
  */
-public abstract class UnMetDependencyGetter<T extends Identifiable> {
+public abstract class UnMetDependencyGetter<T extends KeyAware> {
 
     private final ConfigDependencyGetter configDependencyGetter = new ConfigDependencyGetter();
     private final InTransitDependencyGetter inTransitDependencyGetter = new InTransitDependencyGetter();
@@ -39,7 +39,7 @@ public abstract class UnMetDependencyGetter<T extends Identifiable> {
      * @param data The data object
      * @return The depenencies
      */
-    public Map<Class<? extends Identifiable>, List<InstanceIdentifier>> getInTransitDependencies(
+    public Map<Class<? extends KeyAware>, List<InstanceIdentifier>> getInTransitDependencies(
             HwvtepOperationalState opState, T data) {
         return inTransitDependencyGetter.retrieveUnMetDependencies(opState, opState.getDeviceInfo(), data);
     }
@@ -52,23 +52,23 @@ public abstract class UnMetDependencyGetter<T extends Identifiable> {
      * @param data The data object
      * @return the      depenencies
      */
-    public Map<Class<? extends Identifiable>, List<InstanceIdentifier>> getUnMetConfigDependencies(
+    public Map<Class<? extends KeyAware>, List<InstanceIdentifier>> getUnMetConfigDependencies(
             HwvtepOperationalState opState, T data) {
         return configDependencyGetter.retrieveUnMetDependencies(opState, opState.getDeviceInfo(), data);
     }
 
     abstract class DependencyGetter {
 
-        Map<Class<? extends Identifiable>, List<InstanceIdentifier>> retrieveUnMetDependencies(
+        Map<Class<? extends KeyAware>, List<InstanceIdentifier>> retrieveUnMetDependencies(
                 HwvtepOperationalState opState, HwvtepDeviceInfo deviceInfo, T data) {
 
-            Map<Class<? extends Identifiable>, List<InstanceIdentifier>> result = new HashMap<>();
-            Map<Class<? extends Identifiable>, List<InstanceIdentifier<?>>> allKeys = new HashMap<>();
+            Map<Class<? extends KeyAware>, List<InstanceIdentifier>> result = new HashMap<>();
+            Map<Class<? extends KeyAware>, List<InstanceIdentifier<?>>> allKeys = new HashMap<>();
             allKeys.put(LogicalSwitches.class, getLogicalSwitchDependencies(data));
             allKeys.put(TerminationPoint.class, getTerminationPointDependencies(data));
 
-            for (Entry<Class<? extends Identifiable>, List<InstanceIdentifier<?>>> entry : allKeys.entrySet()) {
-                Class<? extends Identifiable> cls = entry.getKey();
+            for (Entry<Class<? extends KeyAware>, List<InstanceIdentifier<?>>> entry : allKeys.entrySet()) {
+                Class<? extends KeyAware> cls = entry.getKey();
                 List<InstanceIdentifier<? extends DataObject>> keysToCheck = entry.getValue();
                 for (InstanceIdentifier<? extends DataObject> key : keysToCheck) {
                     if (!isDependencyMet(opState, deviceInfo, cls, key)) {
@@ -79,9 +79,9 @@ public abstract class UnMetDependencyGetter<T extends Identifiable> {
             return result;
         }
 
-        Map<Class<? extends Identifiable>, List<InstanceIdentifier>> addToResultMap(
-                Map<Class<? extends Identifiable>, List<InstanceIdentifier>> result,
-                Class<? extends Identifiable> cls, InstanceIdentifier<? extends DataObject> key) {
+        Map<Class<? extends KeyAware>, List<InstanceIdentifier>> addToResultMap(
+                Map<Class<? extends KeyAware>, List<InstanceIdentifier>> result,
+                Class<? extends KeyAware> cls, InstanceIdentifier<? extends DataObject> key) {
             if (null == result) {
                 result = new HashMap<>();
             }
@@ -93,18 +93,18 @@ public abstract class UnMetDependencyGetter<T extends Identifiable> {
         }
 
         abstract boolean isDependencyMet(HwvtepOperationalState opState, HwvtepDeviceInfo deviceInfo,
-                Class<? extends Identifiable> cls, InstanceIdentifier<? extends DataObject> key);
+                Class<? extends KeyAware> cls, InstanceIdentifier<? extends DataObject> key);
     }
 
     class ConfigDependencyGetter extends DependencyGetter {
         @Override
         boolean isDependencyMet(HwvtepOperationalState opState, HwvtepDeviceInfo deviceInfo,
-                                Class<? extends Identifiable> cls, InstanceIdentifier<? extends DataObject> key) {
+                                Class<? extends KeyAware> cls, InstanceIdentifier<? extends DataObject> key) {
             return deviceInfo.isConfigDataAvailable(cls, key) || isConfigDataAvailable(opState, cls, key);
         }
 
         boolean isConfigDataAvailable(HwvtepOperationalState opState,
-                                      Class<? extends Identifiable> cls,
+                                      Class<? extends KeyAware> cls,
                                       InstanceIdentifier<? extends DataObject> key) {
             DataBroker db = opState.getConnectionInstance().getDataBroker();
             Optional data = HwvtepSouthboundUtil.readNode(db, LogicalDatastoreType.CONFIGURATION, key);
@@ -119,7 +119,7 @@ public abstract class UnMetDependencyGetter<T extends Identifiable> {
     class InTransitDependencyGetter extends DependencyGetter {
         @Override
         boolean isDependencyMet(HwvtepOperationalState opState, HwvtepDeviceInfo deviceInfo,
-                Class<? extends Identifiable> cls, InstanceIdentifier<? extends DataObject> key) {
+                Class<? extends KeyAware> cls, InstanceIdentifier<? extends DataObject> key) {
             return opState.isKeyPartOfCurrentTx(cls, key) || !deviceInfo.isKeyInTransit(cls, key);
         }
     }
index ae6545ce7e0ec5048314294d17984026e04ecad9..ef433a09b2fa67ed0f0ffcb3795c775da52d4b3a 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.hwvtepsouthbound.transactions.md;
 
 import java.util.HashSet;
@@ -21,8 +20,8 @@ import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
 import org.opendaylight.ovsdb.utils.mdsal.utils.TransactionType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.ConnectionInfo;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -32,8 +31,8 @@ public abstract class AbstractTransactionCommand<T extends DataObject> implement
     private final TableUpdates updates;
     private final DatabaseSchema dbSchema;
     protected final HwvtepConnectionInstance key;
-    protected Set<Pair<Class<? extends Identifiable>, InstanceIdentifier>> addedKeys = new HashSet<>();
-    protected Set<Pair<Class<? extends Identifiable>, InstanceIdentifier>> deletedKeys = new HashSet<>();
+    protected Set<Pair<Class<? extends KeyAware>, InstanceIdentifier>> addedKeys = new HashSet<>();
+    protected Set<Pair<Class<? extends KeyAware>, InstanceIdentifier>> deletedKeys = new HashSet<>();
     protected HwvtepDeviceInfo deviceInfo;
 
 
@@ -70,11 +69,11 @@ public abstract class AbstractTransactionCommand<T extends DataObject> implement
         deviceInfo.addToDeviceUpdate(transactionType, element);
     }
 
-    public void clearDeviceOpUUID(Class<? extends Identifiable> cls, InstanceIdentifier iid, UUID uuid) {
+    public void clearDeviceOpUUID(Class<? extends KeyAware> cls, InstanceIdentifier iid, UUID uuid) {
         deviceInfo.clearDeviceOperUUID(cls, iid, uuid);
     }
 
-    public void addToDeleteTx(ReadWriteTransaction tx, Class<? extends Identifiable> cls, InstanceIdentifier iid,
+    public void addToDeleteTx(ReadWriteTransaction tx, Class<? extends KeyAware> cls, InstanceIdentifier iid,
                               UUID uuid) {
         if (deviceInfo.isAvailableInOperDs(cls, iid)) {
             tx.delete(LogicalDatastoreType.OPERATIONAL, iid);
@@ -83,7 +82,7 @@ public abstract class AbstractTransactionCommand<T extends DataObject> implement
         clearDeviceOpUUID(cls, iid, uuid);
     }
 
-    public void addToUpdateTx(Class<? extends Identifiable> cls, InstanceIdentifier iid, UUID uuid,
+    public void addToUpdateTx(Class<? extends KeyAware> cls, InstanceIdentifier iid, UUID uuid,
                               Object southboundData) {
         addedKeys.add(Pair.of(cls, iid));
         deviceInfo.updateDeviceOperData(cls, iid, uuid, southboundData);
index dff2c7153c90460b192b31bc22702175022d5100..55796e6562dc4f0705c2304bf3d206a519c12f67 100644 (file)
@@ -28,8 +28,8 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.ChildOf;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -78,7 +78,7 @@ public class HwvtepOperationalDataChangeListener implements ClusteredDataTreeCha
     }
 
     private void updateDeviceOpData(InstanceIdentifier<Node> key, DataObjectModification<? extends DataObject> mod) {
-        Class<? extends Identifiable> childClass = (Class<? extends Identifiable>) mod.getDataType();
+        Class<? extends KeyAware> childClass = (Class<? extends KeyAware>) mod.getDataType();
         InstanceIdentifier instanceIdentifier = getKey(key, mod, mod.getDataAfter());
         switch (mod.getModificationType()) {
             case WRITE:
index 068b0d57227a6715cd0a54b0a37d2a214ac43d56..aeef2444cb83312e9ab180a723b1a745f58920d8 100644 (file)
@@ -29,8 +29,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacsKey;
 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.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class DependencyQueueTest extends DataChangeListenerTestBase {
@@ -45,7 +45,7 @@ public class DependencyQueueTest extends DataChangeListenerTestBase {
     RemoteMcastMacs mac;
     InstanceIdentifier<RemoteMcastMacs> macIid;
     InstanceIdentifier<LogicalSwitches> lsIid;
-    Map<Class<? extends Identifiable>, List<InstanceIdentifier>> unMetDependencies;
+    Map<Class<? extends KeyAware>, List<InstanceIdentifier>> unMetDependencies;
 
     void setupForTest() throws Exception {
         mcastMacDataValidator = McastMacsRemoteUpdateCommand.MCAST_MAC_DATA_VALIDATOR;
index 9191eebee770b5ed897430454556d2108d350ab9..b6b475e6e7a36fb49629f38372ca02be93595442 100644 (file)
@@ -24,8 +24,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitchesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs;
 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.Identifiable;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class UnMetDependencyGetterTest extends DataChangeListenerTestBase {
@@ -34,7 +34,7 @@ public class UnMetDependencyGetterTest extends DataChangeListenerTestBase {
     HwvtepOperationalState opState;
     RemoteMcastMacs mac;
     InstanceIdentifier<LogicalSwitches> lsIid;
-    Map<Class<? extends Identifiable>, List<InstanceIdentifier>> unMetDependencies;
+    Map<Class<? extends KeyAware>, List<InstanceIdentifier>> unMetDependencies;
 
     void setupForTest() {
         mcastMacDataValidator = McastMacsRemoteUpdateCommand.MCAST_MAC_DATA_VALIDATOR;
index 19c37a11a30f7b492ad946cc7c7a048360218fe7..e9c786aa35c6bc3168b5a2d9a24dcff7dc98c29c 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index ca783abb8240cd56a92d2f042b2c1a3ebd5f10f8..9f4154b436efcd90c3f6d65b44d7a1d1586b3289 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index 7f9c1985cd65ae427d2e9e22162a9fa57fb1db76..11b529bba6824e916795e876388ca376cdbb2702 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index bbbb624885f5f37d5ed227855d41352ef911de41..dc48e4a0987938c56c2ee06e57299666f0301a28 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index 9e3b8b26f65470ad4e83c18ef923cecfbbcd79f0..3104c53507cd20ec528870709a7345a0801aed13 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>12.0.3</version>
+        <version>13.0.3</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.17.7</version>
+            <version>0.18.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 7bd0ccdf4ccda45f1c6de4fc2b6db7decda4ac00..330ca230ff1a0ce300ed42544409f1448585917c 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="[12,13)">odl-jackson-2</feature>
-        <feature version="[12,13)">odl-netty-4</feature>
-        <feature version="[0.17,1)">odl-aaa-cert</feature>
+        <feature version="[13,14)">odl-jackson-2</feature>
+        <feature version="[13,14)">odl-netty-4</feature>
+        <feature version="[0.18,1)">odl-aaa-cert</feature>
         <configfile finalname="etc/org.opendaylight.ovsdb.library.cfg">
             mvn:org.opendaylight.ovsdb/library/${project.version}/cfg/config
         </configfile>
index 9d1b920ed7d11e3d0d4008d15e79cee079a82b70..d0f7ea22f6412c353555157ec1ce9f73c2129da7 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.ovsdb</groupId>
index 5c789fd3c9d29a90700b7f2f1acba3a7e10db04c..be5320368b4f56f270284995bf0d65386da39df7 100644 (file)
@@ -50,6 +50,11 @@ 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>com.github.spotbugs</groupId>
+      <artifactId>spotbugs-annotations</artifactId>
+      <optional>true</optional>
+    </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
index 677b9c71a7d2aabd804847e913412a125e5aab09..eb64eb3ce55206077fa4dd31dac3c2532499f1fa 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index da9df8dcac59781b96747f947fab4e459e9f2257..432aed698cf262518f821b6f86c82337c1a6b9fb 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
diff --git a/pom.xml b/pom.xml
index 135181da5b4f1120fba2ec8e760022b6c84b4aec..08071ae86a2dd5d8e488e49a68bee3f3de1f56a5 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index a7e77732cd7474ccec439d3f8d9a2cda9e4aa501..3440d8184c98167f0098515269f273c24bbd7288 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index 9d514daa9c3fcae30f484f72c6361ae2c574b0ec..382e2efd96f63be62e57480dfc65689494c57679 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index 47c316f64dbd71e5479e4271d7fec6a3b08e18c9..81588dbaada90969ca6806bbf97d2a94d4ca19ab 100644 (file)
@@ -34,7 +34,11 @@ 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.binding.model.ietf</groupId>
+      <artifactId>rfc6991-ietf-yang-types</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.mdsal.model</groupId>
index e3d36442e7996b7106ce16fdca2f36f015d14bc4..7678889bed34b6fa3f2a2657a3bc4105c73cce85 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index f6a6d3fe8fa32a730df00cc12c99023edd6c87b1..49b95ee000cadcfc43d73399305c0c655f7d829b 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index 0e68d8db64e1a08676aedd73542ce64e1cdac0e3..41a5a3bcbf09dd4f48f8b049b42320b950594b09 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>12.0.3</version>
+        <version>13.0.3</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>11.0.7</version>
+                <version>12.0.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index de7b2b0e57ba0c87a97f72843ca67b04535d7095..d7ad71b2ab1858e4e02ed97ede3105c59e391f03 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="[11,12)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
-        <feature version="[11,12)">odl-mdsal-model-odl-l2-types</feature>
+        <feature version="[12,13)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
+        <feature version="[12,13)">odl-mdsal-model-odl-l2-types</feature>
     </feature>
 </features>
index 30c92144c244d162e2810ce259eefd3fbcb333f0..5951bcc33b4b82414cbe5c253133b284778ee619 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>12.0.3</version>
+        <version>13.0.3</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>5.0.4</version>
+            <version>6.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 7831e7dcdb70563f21a2185b3b17eb4655a71630..52af5074bb6942a4240d6441c55c4b3c8214a0b6 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
@@ -35,8 +35,8 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         </dependency>
         <dependency>
             <groupId>org.opendaylight.netconf</groupId>
-            <artifactId>odl-mdsal-apidocs</artifactId>
-            <version>5.0.4</version>
+            <artifactId>odl-restconf-openapi</artifactId>
+            <version>6.0.0</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index 1eb3657c3665af9b68263b042154871cc4b483b8..1e51dd843287ea151c41ae5f6f3501bc98953337 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>12.0.3</version>
+        <version>13.0.3</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>5.0.3</version>
+                <version>6.0.1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 5fe078ea815d6fec981ff137fe4a3c3bdf4a671a..34df3df987cd2fd02be105150f6a67b27c52e195 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="[12,13)">odl-jackson-2</feature>
-        <feature version="[5,6)">odl-infrautils-diagstatus</feature>
-        <feature version="[5,6)">odl-infrautils-ready</feature>
+        <feature version="[13,14)">odl-jackson-2</feature>
+        <feature version="[6,7)">odl-infrautils-diagstatus</feature>
+        <feature version="[6,7)">odl-infrautils-ready</feature>
         <configfile finalname="etc/org.opendaylight.ovsdb.southbound.cfg">
             mvn:org.opendaylight.ovsdb/southbound-impl/${project.version}/cfg/config
         </configfile>
index 8de0f6f560d04965bc047e442c1cd9997a105b7c..2a58badd706c991906aed76fe6a9542d746a03f1 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index aa9eb5af329ebce604cbba4357c7a1d2aba96468..c3342c9aad52b0697c73da702bda37b88c42e1fc 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>12.0.3</version>
+        <version>13.0.3</version>
         <relativePath/>
     </parent>
 
index 9fce121328c5f930e6e4f4dde211a5acca33c941..419aac125e2813597f4a0b9cfc241c69e03b76dd 100644 (file)
@@ -92,6 +92,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.infrautils</groupId>
       <artifactId>diagstatus-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>com.github.spotbugs</groupId>
+      <artifactId>spotbugs-annotations</artifactId>
+      <optional>true</optional>
+    </dependency>
     <dependency>
       <groupId>com.guicedee.services</groupId>
       <artifactId>javax.inject</artifactId>
index feb6ae8684dd9ea3e8e523db72867dc43fc0c752..b57d56ffc5afa053f2bf028c23a5c70241478b92 100644 (file)
@@ -9,29 +9,27 @@ package org.opendaylight.ovsdb.southbound;
 
 import org.opendaylight.infrautils.diagstatus.DiagStatusService;
 import org.opendaylight.infrautils.diagstatus.ServiceDescriptor;
+import org.opendaylight.infrautils.diagstatus.ServiceRegistration;
 import org.opendaylight.infrautils.diagstatus.ServiceState;
 import org.opendaylight.infrautils.diagstatus.ServiceStatusProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class OvsdbDiagStatusProvider implements ServiceStatusProvider {
-
     private static final Logger LOG = LoggerFactory.getLogger(OvsdbDiagStatusProvider.class);
     private static final String OVSDB_SERVICE_NAME = "OVSDB";
 
-    private final DiagStatusService diagStatusService;
+    private final ServiceRegistration reg;
     private volatile ServiceDescriptor serviceDescriptor;
 
     public OvsdbDiagStatusProvider(final DiagStatusService diagStatusService) {
-        this.diagStatusService = diagStatusService;
-        diagStatusService.register(OVSDB_SERVICE_NAME);
+        reg = diagStatusService.register(OVSDB_SERVICE_NAME);
     }
 
-
     public void reportStatus(final ServiceState serviceState, final String description) {
         LOG.debug("reporting status as {} for {}", serviceState, OVSDB_SERVICE_NAME);
         serviceDescriptor = new ServiceDescriptor(OVSDB_SERVICE_NAME, serviceState, description);
-        diagStatusService.report(serviceDescriptor);
+        reg.report(serviceDescriptor);
     }
 
     @Override
@@ -39,4 +37,8 @@ public class OvsdbDiagStatusProvider implements ServiceStatusProvider {
         // TODO Check 6640 port status to report dynamic status
         return serviceDescriptor;
     }
+
+    void close() {
+        reg.close();
+    }
 }
index 26b9a26ca176ca265f92a81fbd198e41c4a45bff..24148cd41b94e307945bbfa68a13ab12fa963987 100644 (file)
@@ -156,7 +156,7 @@ public final class SouthboundMapper {
     }
 
     public static IpAddress createIpAddress(final Inet4Address address) {
-        return IetfInetUtil.INSTANCE.ipAddressFor(address);
+        return IetfInetUtil.ipAddressFor(address);
     }
 
     public static IpAddress createIpAddress(final Inet6Address address) {
index c82fd17059eae8d2b2fbff83c5fa5cc91dedaec8..540a64064ffc103c5eec3fbe8eae91c48b82e44e 100644 (file)
@@ -154,6 +154,7 @@ public class SouthboundProvider implements ClusteredDataTreeChangeListener<Topol
             operTopologyRegistration = null;
         }
         ovsdbStatusProvider.reportStatus(ServiceState.UNREGISTERED, "OVSDB Service stopped");
+        ovsdbStatusProvider.close();
     }
 
     private static void initializeOvsdbTopology(final @NonNull LogicalDatastoreType type) {
index 47117ecee81d3afb2c448b954c0dba4948cb74ed..0e656ffc4b24a794c97b736f310a9c88aecc2ffb 100644 (file)
@@ -43,9 +43,9 @@ import org.opendaylight.ovsdb.southbound.SouthboundMapper;
 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.ChildOf;
 import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
-import org.opendaylight.yangtools.yang.binding.Identifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Key;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 // This class needs to be mocked
 @SuppressWarnings("checkstyle:FinalClass")
@@ -340,7 +340,7 @@ public class TransactUtils {
      * @param child The child modification to include.
      * @return The extended path.
      */
-    private static <N extends Identifiable<K> & ChildOf<? super T>, K extends Identifier<N>, T extends DataObject>
+    private static <N extends KeyAware<K> & ChildOf<? super T>, K extends Key<N>, T extends DataObject>
         InstanceIdentifier<? extends DataObject> extendPath(
             InstanceIdentifier<T> path,
             DataObjectModification<?> child) {
index 8f1c7a37b7b0d1337e0ba30e04fe2540507ce549..bc97d8a411b96a66cc1adc6602fb723e72ca64d8 100644 (file)
@@ -26,6 +26,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.opendaylight.infrautils.diagstatus.DiagStatusService;
+import org.opendaylight.infrautils.diagstatus.ServiceRegistration;
 import org.opendaylight.infrautils.ready.testutils.TestSystemReadyMonitor;
 import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
@@ -48,8 +49,8 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 
 public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest {
-
     private EntityOwnershipService entityOwnershipService;
+    private DiagStatusService diagStatusService;
 
     public SouthboundProviderTest() {
         super(true);
@@ -62,6 +63,9 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest {
                 mock(EntityOwnershipListenerRegistration.class));
         when(entityOwnershipService.registerCandidate(any(Entity.class))).thenReturn(mock(
                 EntityOwnershipCandidateRegistration.class));
+
+        diagStatusService = Mockito.mock(DiagStatusService.class);
+        when(diagStatusService.register(any())).thenReturn(Mockito.mock(ServiceRegistration.class));
     }
 
     @Test
@@ -77,7 +81,7 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest {
                 Mockito.mock(DOMSchemaService.class),
                 Mockito.mock(BindingNormalizedNodeSerializer.class),
                 new TestSystemReadyMonitor(IMMEDIATE),
-                Mockito.mock(DiagStatusService.class))) {
+                diagStatusService)) {
 
             // Initiate the session
             southboundProvider.init();
@@ -104,7 +108,7 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest {
                 Mockito.mock(DOMSchemaService.class),
                 Mockito.mock(BindingNormalizedNodeSerializer.class),
                 new TestSystemReadyMonitor(IMMEDIATE),
-                Mockito.mock(DiagStatusService.class))) {
+                diagStatusService)) {
 
             // Initiate the session
             southboundProvider.init();
@@ -133,7 +137,7 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest {
                 Mockito.mock(DOMSchemaService.class),
                 Mockito.mock(BindingNormalizedNodeSerializer.class),
                 new TestSystemReadyMonitor(IMMEDIATE),
-                Mockito.mock(DiagStatusService.class))) {
+                diagStatusService)) {
 
             southboundProvider.init();
 
@@ -157,7 +161,7 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest {
                 Mockito.mock(DOMSchemaService.class),
                 Mockito.mock(BindingNormalizedNodeSerializer.class),
                 new TestSystemReadyMonitor(IMMEDIATE),
-                Mockito.mock(DiagStatusService.class))) {
+                diagStatusService)) {
 
             southboundProvider.init();
 
index 41ef41fa852393459525e2ed9d2ddd8313d361d8..1819e9a707ee8e5ac248e4978c86e807433d0643 100644 (file)
@@ -160,9 +160,9 @@ 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.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.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
-import org.opendaylight.yangtools.yang.binding.Identifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Key;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint16;
@@ -1445,7 +1445,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
         }
     }
 
-    private static <I extends Identifier<T>, T extends Identifiable<I>> void assertExpectedExist(
+    private static <I extends Key<T>, T extends KeyAware<I>> void assertExpectedExist(
             final Map<I, T> expected, final Map<I, T> test) {
         if (expected != null && test != null) {
             for (T exp : expected.values()) {
@@ -1454,7 +1454,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
         }
     }
 
-    private interface SouthboundTerminationPointHelper<I extends Identifier<T>, T extends Identifiable<I>> {
+    private interface SouthboundTerminationPointHelper<I extends Key<T>, T extends KeyAware<I>> {
         void writeValues(OvsdbTerminationPointAugmentationBuilder builder, Map<I, T> values);
 
         Map<I, T> readValues(OvsdbTerminationPointAugmentation augmentation);
@@ -1465,7 +1465,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
      *
      * @see <code>SouthboundIT.generatePortExternalIdsTestCases()</code> for specific test case information
      */
-    private static <I extends Identifier<T>, T extends Identifiable<I>> void testCRUDTerminationPoint(
+    private static <I extends Key<T>, T extends KeyAware<I>> void testCRUDTerminationPoint(
             final KeyValueBuilder<T> builder, final String prefix, final SouthboundTerminationPointHelper<I, T> helper)
             throws InterruptedException {
         final int terminationPointTestIndex = 0;
@@ -2016,13 +2016,13 @@ public class SouthboundIT extends AbstractMdsalTestBase {
                 new BridgeOtherConfigsSouthboundHelper());
     }
 
-    private interface SouthboundBridgeHelper<I extends Identifier<T>, T extends Identifiable<I>> {
+    private interface SouthboundBridgeHelper<I extends Key<T>, T extends KeyAware<I>> {
         void writeValues(OvsdbBridgeAugmentationBuilder builder, Map<I, T> values);
 
         Map<I, T> readValues(OvsdbBridgeAugmentation augmentation);
     }
 
-    private static <I extends Identifier<T>, T extends Identifiable<I>> void testCRUDBridge(final String prefix,
+    private static <I extends Key<T>, T extends KeyAware<I>> void testCRUDBridge(final String prefix,
             final KeyValueBuilder<T> builder, final SouthboundBridgeHelper<I, T> helper) throws InterruptedException {
         ConnectionInfo connectionInfo = getConnectionInfo(addressStr, portNumber);
         // updateFromTestCases represent the original test case value.  updateToTestCases represent the new value after
@@ -2172,7 +2172,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
         }
     }
 
-    private interface SouthboundQueueHelper<I extends Identifier<T>, T extends Identifiable<I>> {
+    private interface SouthboundQueueHelper<I extends Key<T>, T extends KeyAware<I>> {
         void writeValues(QueuesBuilder builder, Map<I, T> values);
 
         Map<I, T> readValues(Queues queue);
@@ -2213,7 +2213,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
         }
     }
 
-    private interface SouthboundQosHelper<I extends Identifier<T>, T extends Identifiable<I>> {
+    private interface SouthboundQosHelper<I extends Key<T>, T extends KeyAware<I>> {
         void writeValues(QosEntriesBuilder builder, Map<I, T> values);
 
         Map<I, T> readValues(QosEntries qos);
@@ -2228,7 +2228,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
         return null;
     }
 
-    private static <I extends Identifier<T>, T extends Identifiable<I>> void testCRUDQueue(
+    private static <I extends Key<T>, T extends KeyAware<I>> void testCRUDQueue(
             final KeyValueBuilder<T> builder, final String prefix, final SouthboundQueueHelper<I, T> helper)
             throws InterruptedException {
 
@@ -2360,7 +2360,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
 
     }
 
-    private static <I extends Identifier<T>, T extends Identifiable<I>> void testCRUDQos(
+    private static <I extends Key<T>, T extends KeyAware<I>> void testCRUDQos(
             final KeyValueBuilder<T> builder, final String prefix, final SouthboundQosHelper<I, T> helper)
             throws InterruptedException {
 
@@ -2580,7 +2580,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
      *
      * @param <T> The type of data used for the test case.
      */
-    private static final class SouthboundTestCase<I extends Identifier<T>, T extends Identifiable<I>> {
+    private static final class SouthboundTestCase<I extends Key<T>, T extends KeyAware<I>> {
         private final String name;
         private final Map<I, T> inputValues;
         private final Map<I, T> expectedValues;
@@ -2604,7 +2604,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
      *
      * @param <T> The type of data used for the test case.
      */
-    private static final class SouthboundTestCaseBuilder<I extends Identifier<T>, T extends Identifiable<I>> {
+    private static final class SouthboundTestCaseBuilder<I extends Key<T>, T extends KeyAware<I>> {
         private String name;
         private List<T> inputValues;
         private List<T> expectedValues;
@@ -2873,7 +2873,7 @@ public class SouthboundIT extends AbstractMdsalTestBase {
      * Generates the test cases involved in testing key-value-based data.  See inline comments for descriptions of
      * the particular cases considered.
      */
-    private static <I extends Identifier<T>, T extends Identifiable<I>> List<SouthboundTestCase<I, T>>
+    private static <I extends Key<T>, T extends KeyAware<I>> List<SouthboundTestCase<I, T>>
             generateKeyValueTestCases(final KeyValueBuilder<T> builder, final String testName) {
         List<SouthboundTestCase<I, T>> testCases = new ArrayList<>();
 
index c5cfef115a94adadf31f5aff15af0b31ddd73fff..6f668b48f5bf6a7b3e35cb623c761386a7179a34 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
index ceb7c86e7a1988b984cfb2503450e2c3f1e42d96..e83b3a3acfc68a558cc4ee3aecfbbb07859845f4 100644 (file)
@@ -28,6 +28,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>mdsal-binding-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>com.github.spotbugs</groupId>
+      <artifactId>spotbugs-annotations</artifactId>
+      <optional>true</optional>
+    </dependency>
     <dependency>
       <groupId>com.guicedee.services</groupId>
       <artifactId>javax.inject</artifactId>
index 6c40f17ac0621e5aeb6a9d52142aab7e8befc4c0..e094cb93fca64e99d6d5862b8d27640b2d7fa2cc 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>12.0.3</version>
+        <version>13.0.3</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>7.0.4</version>
+                <version>8.0.0</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index e139be454f70c53965dd1f0f4fd7f646d3b53119..3bef28ef398fd32e0903970b426ea58f6b2ad8e9 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="[7,8)">odl-mdsal-broker</feature>
+        <feature version="[8,9)">odl-mdsal-broker</feature>
     </feature>
 </features>
index 87627f83989ae55dde66afae8309eb62e7b1e29b..c6575faa22e6d5510e0f4823ad9cb5b6e54c18fe 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>12.0.3</version>
+    <version>13.0.3</version>
     <relativePath/>
   </parent>
 
index 25f49bd6b597702191991c7c3eefece7036ecebe..dde8b6822c60f95406a2337f6b3db980fe4c60b8 100644 (file)
@@ -115,11 +115,11 @@ 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.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.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Identifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument;
+import org.opendaylight.yangtools.yang.binding.Key;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.common.Uint32;
@@ -335,7 +335,7 @@ public class SouthboundUtils {
     }
 
     public static IpAddress createIpAddress(Inet4Address address) {
-        return IetfInetUtil.INSTANCE.ipAddressFor(address);
+        return IetfInetUtil.ipAddressFor(address);
     }
 
     public static IpAddress createIpAddress(Inet6Address address) {
@@ -1034,7 +1034,7 @@ public class SouthboundUtils {
         InstanceIdentifier<?> bridgeIid = managedNode.getBridgeRef().getValue();
         for (PathArgument bridgeIidPathArg : bridgeIid.getPathArguments()) {
             if (bridgeIidPathArg instanceof IdentifiableItem<?, ?> identifiableItem) {
-                Identifier<?> key = identifiableItem.getKey();
+                Key<?> key = identifiableItem.getKey();
                 if (key instanceof NodeKey nodeKey) {
                     if (nodeKey.getNodeId().getValue().contains(bridgeName)) {
                         return true;
@@ -1042,8 +1042,8 @@ public class SouthboundUtils {
                 } else if (key.toString().contains(bridgeName)) {
                     return true;
                 }
-            } else if (bridgeIidPathArg instanceof Item<?>) {
-                if (((Item<?>) bridgeIidPathArg).getType().getName().contains(bridgeName)) {
+            } else if (bridgeIidPathArg instanceof Item<?> item) {
+                if (item.getType().getName().contains(bridgeName)) {
                     return true;
                 }
             } else {
index 0c8573e5b26cb2d2ffe4eac9398e773b08efdcdc..95ab354397f3050874c623b388a5a758d7e78872 100644 (file)
@@ -14,8 +14,8 @@ import java.util.Map;
 import java.util.function.Function;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yangtools.yang.binding.Identifiable;
-import org.opendaylight.yangtools.yang.binding.Identifier;
+import org.opendaylight.yangtools.yang.binding.Key;
+import org.opendaylight.yangtools.yang.binding.KeyAware;
 
 /**
  * YANG utility functions.
@@ -65,7 +65,7 @@ public final class YangUtils {
      * @param <V> The value type.
      * @return The map.
      */
-    public static <I extends Identifier<T>, T extends Identifiable<I>, K, V>
+    public static <I extends Key<T>, T extends KeyAware<I>, K, V>
             @NonNull Map<K, V> copyYangKeyValueListToMap(@NonNull Map<K, V> map,
             @Nullable Map<I, T> yangList, @NonNull Function<T, K> keyExtractor,
             @NonNull Function<T, V> valueExtractor) {
@@ -102,7 +102,7 @@ public final class YangUtils {
      * @param <V> The value type.
      * @return The map.
      */
-    public static <I extends Identifier<T>, T extends Identifiable<I>, K, V> @NonNull Map<K, V>
+    public static <I extends Key<T>, T extends KeyAware<I>, K, V> @NonNull Map<K, V>
             convertYangKeyValueListToMap(@Nullable Map<I, T> yangList,
             @NonNull Function<T, K> keyExtractor, @NonNull Function<T, V> valueExtractor) {
         return copyYangKeyValueListToMap(new HashMap<>(), yangList, keyExtractor, valueExtractor);