BUG-2383: RibReference should expose the key 18/16418/3
authorRobert Varga <rovarga@cisco.com>
Thu, 12 Mar 2015 22:27:44 +0000 (23:27 +0100)
committerRobert Varga <rovarga@cisco.com>
Fri, 13 Mar 2015 09:25:59 +0000 (10:25 +0100)
RibKey will be needed to simply convert the reference into a
YangInstanceIdentifier.

Change-Id: Id5d2c79cad02b85648a359764d70e2c9eecb59ef
Signed-off-by: Robert Varga <rovarga@cisco.com>
bgp/rib-api/src/main/java/org/opendaylight/protocol/bgp/rib/DefaultRibReference.java
bgp/rib-api/src/main/java/org/opendaylight/protocol/bgp/rib/RibReference.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AdjacencyRIBsInTest.java
bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilderTest.java

index 2e2146a5a5d2ccb236ba09e4bc07f4c07ea3eb58..b736a953efeaec15ae27384804735563915441db 100644 (file)
@@ -7,15 +7,23 @@
  */
 package org.opendaylight.protocol.bgp.rib;
 
-import org.opendaylight.protocol.concepts.DefaultInstanceReference;
+import com.google.common.base.Preconditions;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.Rib;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.RibKey;
+import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 
 /**
  *
  */
-public class DefaultRibReference extends DefaultInstanceReference<Rib> implements RibReference {
-    public DefaultRibReference(final InstanceIdentifier<Rib> instanceIdentifier) {
-        super(instanceIdentifier);
+public class DefaultRibReference implements RibReference {
+    private final KeyedInstanceIdentifier<Rib, RibKey> instanceIdentifier;
+
+    public DefaultRibReference(final KeyedInstanceIdentifier<Rib, RibKey> instanceIdentifier) {
+        this.instanceIdentifier = Preconditions.checkNotNull(instanceIdentifier);
+    }
+
+    @Override
+    public final KeyedInstanceIdentifier<Rib, RibKey> getInstanceIdentifier() {
+        return instanceIdentifier;
     }
 }
index 4dbb997ae79c0004629bc9cc6ba4b9fc3e3d68e4..d59da47cce84c1533bab1c517e54d54f3e4051da 100644 (file)
@@ -9,10 +9,13 @@ package org.opendaylight.protocol.bgp.rib;
 
 import org.opendaylight.protocol.concepts.InstanceReference;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.Rib;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.RibKey;
+import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 
 /**
  * A reference to a Rib instance.
  */
 public interface RibReference extends InstanceReference<Rib> {
-
+    @Override
+    KeyedInstanceIdentifier<Rib, RibKey> getInstanceIdentifier();
 }
index 7f22e920cb191665345f3a3bc6a880591d9c68c0..932dadff7b5a46f020a13379b0232b9237634ab9 100644 (file)
@@ -148,7 +148,7 @@ public final class RIBImpl extends DefaultRibReference implements AutoCloseable,
     public RIBImpl(final RibId ribId, final AsNumber localAs, final Ipv4Address localBgpId, final RIBExtensionConsumerContext extensions,
         final BGPDispatcher dispatcher, final ReconnectStrategyFactory tcpStrategyFactory,
         final ReconnectStrategyFactory sessionStrategyFactory, final DataBroker dps, final List<BgpTableType> localTables) {
-        super(InstanceIdentifier.builder(BgpRib.class).child(Rib.class, new RibKey(Preconditions.checkNotNull(ribId))).build());
+        super(InstanceIdentifier.create(BgpRib.class).child(Rib.class, new RibKey(Preconditions.checkNotNull(ribId))));
         this.chain = dps.createTransactionChain(this);
         this.localAs = Preconditions.checkNotNull(localAs);
         this.comparator = new BGPObjectComparator(localAs);
index 38f2e91bb64457092da08b169721d820fe94e300..3d5c39aa39e5bb5cb044fab1efb6018fcfe9f34c 100644 (file)
@@ -11,7 +11,6 @@ package org.opendaylight.protocol.bgp.rib.impl;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-
 import com.google.common.collect.Lists;
 import org.junit.After;
 import org.junit.Before;
@@ -59,7 +58,7 @@ public class AdjacencyRIBsInTest extends AbstractDataBrokerTest {
 
     private WriteTransaction trans;
 
-    private final DefaultRibReference rib = new DefaultRibReference(InstanceIdentifier.builder(BgpRib.class).child(Rib.class, new RibKey(new RibId("test"))).build());
+    private final DefaultRibReference rib = new DefaultRibReference(InstanceIdentifier.create(BgpRib.class).child(Rib.class, new RibKey(new RibId("test"))));
 
     private final RIBActivator act = new RIBActivator();
 
index 07da88cbd1dfff478d04b3b1d5cb1d582253fe4a..936899e4734e70e7b7123d0e5509fc830e2c6b75 100644 (file)
@@ -36,7 +36,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 public abstract class AbstractTopologyBuilderTest extends AbstractDataBrokerTest {
 
     protected static final TopologyId TEST_TOPOLOGY_ID = new TopologyId("test-topo");
-    protected static RibReference LOC_RIB_REF = new DefaultRibReference(InstanceIdentifier.builder(BgpRib.class).child(Rib.class, new RibKey(Preconditions.checkNotNull(new RibId("test-rib")))).build());
+    protected static RibReference LOC_RIB_REF = new DefaultRibReference(InstanceIdentifier.create(BgpRib.class).child(Rib.class, new RibKey(Preconditions.checkNotNull(new RibId("test-rib")))));
 
     protected ListenerRegistration<DataChangeListener> reg;