Make sure we set the key in the linkstate route entry
[bgpcep.git] / bgp / linkstate / src / main / java / org / opendaylight / protocol / bgp / linkstate / LinkstateAdjRIBsIn.java
index 826ba1c87b2fc8bb98ea61293048c0bfd3ed94dd..7760d7541510c19e7a77710d438dc42df9ed9269 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.protocol.bgp.linkstate;
 
-import java.util.Comparator;
-
 import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction;
 import org.opendaylight.protocol.bgp.rib.RibReference;
 import org.opendaylight.protocol.bgp.rib.spi.AbstractAdjRIBsIn;
@@ -61,7 +59,7 @@ import com.google.common.base.Preconditions;
 final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination, LinkstateRoute> {
 
        private abstract static class LinkstateRIBEntryData<A extends LinkStateAttribute> extends
-                       RIBEntryData<CLinkstateDestination, LinkstateRoute> {
+       RIBEntryData<CLinkstateDestination, LinkstateRoute> {
                private final A lsattr;
 
                protected LinkstateRIBEntryData(final PathAttributes attributes, final A lsattr) {
@@ -74,9 +72,10 @@ final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination,
                protected abstract ObjectType createObject(CLinkstateDestination key);
 
                @Override
-               protected final LinkstateRoute getDataObject(final CLinkstateDestination key) {
+               protected final LinkstateRoute getDataObject(final CLinkstateDestination key, final InstanceIdentifier<LinkstateRoute> id) {
                        final LinkstateRouteBuilder builder = new LinkstateRouteBuilder();
 
+                       builder.setKey(InstanceIdentifier.keyOf(id));
                        builder.setIdentifier(key.getIdentifier());
                        builder.setProtocolId(key.getProtocolId());
                        builder.setDistinguisher(key.getDistinguisher());
@@ -95,13 +94,12 @@ final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination,
 
        private static final Logger LOG = LoggerFactory.getLogger(LinkstateAdjRIBsIn.class);
 
-       LinkstateAdjRIBsIn(final DataModificationTransaction trans, final RibReference rib, final Comparator<PathAttributes> comparator,
-                       final TablesKey key) {
-               super(trans, rib, comparator, key);
+       LinkstateAdjRIBsIn(final DataModificationTransaction trans, final RibReference rib, final TablesKey key) {
+               super(trans, rib, key);
        }
 
        @Override
-       public InstanceIdentifier<?> identifierForKey(final InstanceIdentifier<Tables> basePath, final CLinkstateDestination key) {
+       public InstanceIdentifier<LinkstateRoute> identifierForKey(final InstanceIdentifier<Tables> basePath, final CLinkstateDestination key) {
                return InstanceIdentifier.builder(basePath).child(LinkstateRoutes.class).child(LinkstateRoute.class,
                                new LinkstateRouteKey(LinkstateNlriParser.serializeNlri(key))).toInstance();
        }