BUG-6497: fixup augmentation lookup 98/44998/2
authorRobert Varga <rovarga@cisco.com>
Wed, 31 Aug 2016 21:41:05 +0000 (23:41 +0200)
committerRobert Varga <nite@hq.sk>
Fri, 2 Sep 2016 10:10:15 +0000 (10:10 +0000)
This fixes the augmentations being looked up so they correspond
to the model. It also makes sure we squash them to minimum required
interface, as that is all we require.

Change-Id: I227e35a3cba596d41bcedaddf3b0196c18b0874b
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit 2cdf4dece347e8570241fbc78638f7a7ba577bbf)

bgp/openconfig-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/impl/BGPOpenConfigMappingServiceImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeer.java

index 7e2cd6a233b2f11d2d33ba60a07ad4e29034c640..5576b5b4ca7a2238dda62e397242f8bbd52ab7ad 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.protocol.bgp.mode.impl.add.n.paths.AddPathBestNPathSelec
 import org.opendaylight.protocol.bgp.openconfig.impl.util.OpenConfigUtil;
 import org.opendaylight.protocol.bgp.openconfig.spi.BGPOpenConfigMappingService;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafi;
+import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.BgpNeighborAddPathsConfig;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base.AfiSafisBuilder;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base.ConfigBuilder;
 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.RouteReflectorBuilder;
@@ -94,10 +95,10 @@ public final class BGPOpenConfigMappingServiceImpl implements BGPOpenConfigMappi
     public Map<BgpTableType, PathSelectionMode> toPathSelectionMode(final List<AfiSafi> afiSafis) {
         final Map<BgpTableType, PathSelectionMode> pathSelectionModes = new HashMap<>();
         for (final AfiSafi afiSafi : afiSafis) {
-            final AfiSafi1 afiSafi1 = afiSafi.getAugmentation(AfiSafi1.class);
+            final BgpNeighborAddPathsConfig afiSafi2 = afiSafi.getAugmentation(AfiSafi2.class);
             final Optional<BgpTableType> bgpTableType = OpenConfigUtil.toBgpTableType(afiSafi.getAfiSafiName());
-            if (afiSafi1 != null && bgpTableType.isPresent()) {
-                final Short sendMax = afiSafi1.getSendMax();
+            if (afiSafi2 != null && bgpTableType.isPresent()) {
+                final Short sendMax = afiSafi2.getSendMax();
                 final PathSelectionMode selectionMode;
                 if (sendMax > 1) {
                     selectionMode = new AddPathBestNPathSelection(sendMax.longValue());
@@ -124,18 +125,18 @@ public final class BGPOpenConfigMappingServiceImpl implements BGPOpenConfigMappi
     public List<AddressFamilies> toAddPathCapability(final List<AfiSafi> afiSafis) {
         final List<AddressFamilies> addPathCapability = new ArrayList<>();
         for (final AfiSafi afiSafi : afiSafis) {
-            final AfiSafi2 afiSafi2 = afiSafi.getAugmentation(AfiSafi2.class);
+            final BgpNeighborAddPathsConfig afiSafi1 = afiSafi.getAugmentation(AfiSafi1.class);
             final Optional<BgpTableType> bgpTableType = OpenConfigUtil.toBgpTableType(afiSafi.getAfiSafiName());
-            if (afiSafi2 != null && bgpTableType.isPresent()) {
+            if (afiSafi1 != null && bgpTableType.isPresent()) {
                 final AddressFamiliesBuilder builder = new AddressFamiliesBuilder(bgpTableType.get());
-                builder.setSendReceive(toSendReceiveMode(afiSafi2));
+                builder.setSendReceive(toSendReceiveMode(afiSafi1));
                 addPathCapability.add(builder.build());
             }
         }
         return addPathCapability;
     }
 
-    private static SendReceive toSendReceiveMode(final AfiSafi2 addPath) {
+    private static SendReceive toSendReceiveMode(final BgpNeighborAddPathsConfig addPath) {
         if (addPath.isReceive() && addPath.getSendMax() != null) {
             return SendReceive.Both;
         }
index cc6a802e31836b16228e31440f5dc68f951387dc..97247230c97d17a8a5b3c12758dd3994246ff908 100644 (file)
@@ -56,7 +56,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.mp.capabilities.AddPathCapabilityBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.mp.capabilities.MultiprotocolCapabilityBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.mp.capabilities.add.path.capability.AddressFamilies;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev160614.AfiSafi2;
 import org.osgi.framework.ServiceRegistration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;