Provide Add Path support for all AFI/SAFI
[bgpcep.git] / bgp / l3vpn / src / main / java / org / opendaylight / protocol / bgp / l3vpn / AbstractVpnRIBSupport.java
index 381b98de614ed5f0d41901a1ee4b204afda493d9..434037f4174616aa0268d2f90c85682bcedee70d 100644 (file)
@@ -28,8 +28,8 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev171207.PathId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev171207.path.attributes.Attributes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev171207.destination.DestinationType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.Route;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.rib.tables.Routes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Route;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.tables.Routes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.MplsLabeledVpnSubsequentAddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.RouteDistinguisher;
@@ -57,7 +57,6 @@ import org.slf4j.LoggerFactory;
 
 public abstract class AbstractVpnRIBSupport extends AbstractRIBSupport<VpnRoute, VpnRouteKey> {
     private static final Logger LOG = LoggerFactory.getLogger(AbstractVpnRIBSupport.class);
-    private static final String ROUTE_KEY = "route-key";
     private final NodeIdentifier nlriRoutesListNid;
     private final NodeIdentifier prefixTypeNid;
     private final NodeIdentifier labelStackNid;
@@ -79,7 +78,7 @@ public abstract class AbstractVpnRIBSupport extends AbstractRIBSupport<VpnRoute,
             final Class<? extends DataObject> containerClass, final Class<? extends Route> listClass,
         final Class<? extends AddressFamily> afiClass, final QName vpnDstContainerClassQname) {
         super(cazeClass, containerClass, listClass, afiClass,
-                MplsLabeledVpnSubsequentAddressFamily.class, ROUTE_KEY, vpnDstContainerClassQname);
+                MplsLabeledVpnSubsequentAddressFamily.class, vpnDstContainerClassQname);
         final QName classQname = BindingReflections.findQName(containerClass).intern();
         this.routeKey = QName.create(routeQName(), ROUTE_KEY).intern();
         final QName vpnDstClassQname = QName.create(classQname, VpnDestination.QNAME.getLocalName());
@@ -193,7 +192,7 @@ public abstract class AbstractVpnRIBSupport extends AbstractRIBSupport<VpnRoute,
     }
 
     @Override
-    public final VpnRoute createRoute(final VpnRoute route, final VpnRouteKey vpnRouteKey,
+    public final VpnRoute createRoute(final VpnRoute route, final String vpnRouteKey,
             final long pathId, final Attributes attributes) {
         final VpnRouteBuilder builder;
         if (route != null) {
@@ -201,12 +200,11 @@ public abstract class AbstractVpnRIBSupport extends AbstractRIBSupport<VpnRoute,
         } else {
             builder = new VpnRouteBuilder();
         }
-        return builder.setRouteKey(vpnRouteKey.getRouteKey()).setPathId(new PathId(pathId))
-                .setAttributes(attributes).build();
+        return builder.setKey(new VpnRouteKey(new PathId(pathId), vpnRouteKey)).setAttributes(attributes).build();
     }
 
     @Override
-    public VpnRouteKey createNewRouteKey(final long pathId, final VpnRouteKey vpnRouteKey) {
-        return new VpnRouteKey(new PathId(pathId), vpnRouteKey.getRouteKey());
+    public VpnRouteKey createRouteListKey(final long pathId, final String vpnRouteKey) {
+        return new VpnRouteKey(new PathId(pathId), vpnRouteKey);
     }
 }