Use BindingReflections.getQName() 27/106627/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Jun 2023 13:04:47 +0000 (15:04 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Jun 2023 13:26:18 +0000 (15:26 +0200)
We have a purpose-defined method for extracting the QName from a
BaseIdentity instance. Use that instead of the broad findQName().

JIRA: BGPCEP-1016
Change-Id: I90e60fb337d63844be56ba1e8b208714e4822113
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupport.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RibSupportUtils.java
bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/TablesUtil.java

index 376056860b9f932faf72d0129a65cf5d1c29cb83..0c60426dad7007790303fe57738c8187a20df4ce 100644 (file)
@@ -123,15 +123,13 @@ public abstract class AbstractRIBSupport<
     private final MapEntryNode emptyTable;
     private final QName routeQname;
     private final QName routeKeyQname;
-    private final AddressFamily afiClass;
-    private final SubsequentAddressFamily safiClass;
     private final NodeIdentifier destinationNid;
     private final NodeIdentifier pathIdNid;
     private final NodeIdentifier prefixTypeNid;
     private final NodeIdentifier rdNid;
     protected final BindingNormalizedNodeSerializer mappingService;
     protected final YangInstanceIdentifier routeDefaultYii;
-    private final TablesKey tk;
+    private final @NonNull TablesKey tk;
     private final NodeIdentifierWithPredicates tablesKey;
     private final ImmutableList<PathArgument> relativeRoutesPath;
     private final ImmutableOffsetMapTemplate<QName> routeKeyTemplate;
@@ -146,8 +144,8 @@ public abstract class AbstractRIBSupport<
      * @param cazeClass        Binding class of the AFI/SAFI-specific case statement, must not be null
      * @param containerClass   Binding class of the container in routes choice, must not be null.
      * @param listClass        Binding class of the route list, nust not be null;
-     * @param afiClass         address Family Class
-     * @param safiClass        SubsequentAddressFamily
+     * @param afi              Address Family
+     * @param safi             Subsequent Address Family
      * @param destContainerQname destination Container Qname
      */
     protected AbstractRIBSupport(
@@ -155,8 +153,8 @@ public abstract class AbstractRIBSupport<
             final Class<C> cazeClass,
             final Class<S> containerClass,
             final Class<R> listClass,
-            final AddressFamily afiClass,
-            final SubsequentAddressFamily safiClass,
+            final AddressFamily afi,
+            final SubsequentAddressFamily safi,
             final QName destContainerQname) {
         final QNameModule module = BindingReflections.getQNameModule(cazeClass);
         routesContainerIdentifier = NodeIdentifier.create(
@@ -169,12 +167,9 @@ public abstract class AbstractRIBSupport<
         routeQname = BindingReflections.findQName(listClass).bindTo(module);
         routeKeyQname = QName.create(module, ROUTE_KEY).intern();
         routesListIdentifier = NodeIdentifier.create(routeQname);
-        this.afiClass = requireNonNull(afiClass);
-        this.safiClass = requireNonNull(safiClass);
-        tk = new TablesKey(afiClass, safiClass);
+        tk = new TablesKey(afi, safi);
         tablesKey = NodeIdentifierWithPredicates.of(Tables.QNAME, TABLES_KEY_TEMPLATE.instantiateWithValues(
-            BindingReflections.findQName(afiClass.implementedInterface()),
-            BindingReflections.findQName(safiClass.implementedInterface())));
+            BindingReflections.getQName(afi), BindingReflections.getQName(safi)));
 
         emptyTable = (MapEntryNode) this.mappingService
                 .toNormalizedNode(TABLES_II, new TablesBuilder().withKey(tk)
@@ -235,12 +230,12 @@ public abstract class AbstractRIBSupport<
 
     @Override
     public final AddressFamily getAfi() {
-        return afiClass;
+        return tk.getAfi();
     }
 
     @Override
     public final SubsequentAddressFamily getSafi() {
-        return safiClass;
+        return tk.getSafi();
     }
 
     /**
index 918570eef880fb7e2ddce106e58ab8a04af3fa1f..26a4bf44580968e121e88be896a1d760038f2fa0 100644 (file)
@@ -55,8 +55,7 @@ public final class RibSupportUtils {
     public static NodeIdentifierWithPredicates toYangKey(final QName id, final AddressFamily afi,
             final SubsequentAddressFamily safi) {
         return NodeIdentifierWithPredicates.of(id, AFI_SAFI_TEMPLATE.instantiateWithValues(
-            BindingReflections.findQName(afi.implementedInterface()),
-            BindingReflections.findQName(safi.implementedInterface())));
+            BindingReflections.getQName(afi), BindingReflections.getQName(safi)));
     }
 
     /**
@@ -70,8 +69,7 @@ public final class RibSupportUtils {
     public static NodeIdentifierWithPredicates toYangPathKey(final QName id, final AddressFamily afi,
             final SubsequentAddressFamily safi) {
         return NodeIdentifierWithPredicates.of(id, ADD_PATH_AFI_SAFI_TEMPLATE.instantiateWithValues(
-            BindingReflections.findQName(afi.implementedInterface()),
-            BindingReflections.findQName(safi.implementedInterface())));
+            BindingReflections.getQName(afi), BindingReflections.getQName(safi)));
     }
 
     /**
index f07e8f9a119a3222c5e6ac6188fd96bca9be2bd5..4f6dd759aa7282019262f16d2b9e6b798efbc298 100644 (file)
@@ -23,9 +23,6 @@ public final class TablesUtil {
     public static final QName BMP_AFI_QNAME = QName.create(BMP_TABLES_QNAME, "afi").intern();
     public static final QName BMP_SAFI_QNAME = QName.create(BMP_TABLES_QNAME, "safi").intern();
 
-    private static final String AFI = "afi";
-    private static final String SAFI = "safi";
-
     private TablesUtil() {
         // Hidden on purpose
     }
@@ -39,9 +36,10 @@ public final class TablesUtil {
      */
     public static NodeIdentifierWithPredicates toYangTablesKey(final AddressFamily afi,
             final SubsequentAddressFamily safi) {
-        return NodeIdentifierWithPredicates.of(BMP_TABLES_QNAME, ImmutableMap.of(
-            BMP_AFI_QNAME, BindingReflections.findQName(afi.implementedInterface()),
-            BMP_SAFI_QNAME, BindingReflections.findQName(safi.implementedInterface())));
+        return NodeIdentifierWithPredicates.of(BMP_TABLES_QNAME,
+            ImmutableMap.of(
+                BMP_AFI_QNAME, BindingReflections.getQName(afi),
+                BMP_SAFI_QNAME, BindingReflections.getQName(safi)));
     }
 
     /**
@@ -54,11 +52,10 @@ public final class TablesUtil {
      */
     public static NodeIdentifierWithPredicates toYangTablesKey(final QName nodeName,
             final AddressFamily afi, final SubsequentAddressFamily safi) {
-        final QName afiQname = QName.create(nodeName, AFI).intern();
-        final QName safiQname = QName.create(nodeName, SAFI).intern();
-        return NodeIdentifierWithPredicates.of(nodeName, ImmutableMap.of(
-            afiQname, BindingReflections.findQName(afi.implementedInterface()),
-            safiQname, BindingReflections.findQName(safi.implementedInterface())));
+        return NodeIdentifierWithPredicates.of(nodeName,
+            ImmutableMap.of(
+                BMP_AFI_QNAME.bindTo(nodeName.getModule()).intern(), BindingReflections.getQName(afi),
+                BMP_SAFI_QNAME.bindTo(nodeName.getModule()).intern(), BindingReflections.getQName(safi)));
     }
 
     /**