BUG-2383: wire DOMDataBroker into RIBImpl 19/16419/4
authorRobert Varga <rovarga@cisco.com>
Thu, 12 Mar 2015 22:32:54 +0000 (23:32 +0100)
committerDana Kutenicsova <dkutenic@cisco.com>
Mon, 16 Mar 2015 14:08:39 +0000 (15:08 +0100)
We will need DOMDataBroker, so let's be sure to wire it in.

Change-Id: I04dafd0e394291c9146c19a0bb88e9cf6410efdc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
bgp/rib-impl/src/main/java/org/opendaylight/controller/config/yang/bgp/rib/impl/RIBImplModule.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java
bgp/rib-impl/src/main/yang/odl-bgp-rib-impl-cfg.yang
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/AbstractRIBImplModuleTest.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeerTest.java
bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/ParserToSalTest.java

index 1500453a0a30799eb9c14e1b2f2733fdb070c6a2..821bc5c59a712f7bf49cffd9cd358ed5952c55cf 100644 (file)
@@ -51,6 +51,8 @@ public final class RIBImplModule extends org.opendaylight.controller.config.yang
 
     @Override
     public java.lang.AutoCloseable createInstance() {
-        return new RIBImpl(getRibId(), new AsNumber(getLocalAs()), getBgpRibId(), getExtensionsDependency(), getBgpDispatcherDependency(), getTcpReconnectStrategyDependency(), getSessionReconnectStrategyDependency(), getDataProviderDependency(), getLocalTableDependency());
+        return new RIBImpl(getRibId(), new AsNumber(getLocalAs()), getBgpRibId(), getExtensionsDependency(),
+            getBgpDispatcherDependency(), getTcpReconnectStrategyDependency(), getSessionReconnectStrategyDependency(),
+            getDataProviderDependency(), getDomDataProviderDependency(), getLocalTableDependency());
     }
 }
index a68282392e71f44cc6f6f605cef392a10424def3..c2cf319b09248f8aea55bb5c64cf19dee8bdb680 100644 (file)
@@ -32,6 +32,8 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionChain;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
+import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
+import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
 import org.opendaylight.protocol.bgp.rib.DefaultRibReference;
 import org.opendaylight.protocol.bgp.rib.impl.spi.AdjRIBsOut;
 import org.opendaylight.protocol.bgp.rib.impl.spi.AdjRIBsOutRegistration;
@@ -118,6 +120,7 @@ public final class RIBImpl extends DefaultRibReference implements AutoCloseable,
     private final RIBTables tables;
     private final BlockingQueue<Peer> peers;
     private final DataBroker dataBroker;
+    private final DOMDataBroker domDataBroker;
 
     private final Runnable scheduler = new Runnable() {
         @Override
@@ -151,7 +154,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) {
+        final ReconnectStrategyFactory sessionStrategyFactory, final DataBroker dps, final DOMDataBroker domDataBroker, final List<BgpTableType> localTables) {
         super(InstanceIdentifier.create(BgpRib.class).child(Rib.class, new RibKey(Preconditions.checkNotNull(ribId))));
         this.chain = dps.createTransactionChain(this);
         this.localAs = Preconditions.checkNotNull(localAs);
@@ -164,6 +167,7 @@ public final class RIBImpl extends DefaultRibReference implements AutoCloseable,
         this.tables = new RIBTables(extensions);
         this.peers = new LinkedBlockingQueue<>();
         this.dataBroker = dps;
+        this.domDataBroker = Preconditions.checkNotNull(domDataBroker);
 
         LOG.debug("Instantiating RIB table {} at {}", ribId, getInstanceIdentifier());
 
@@ -440,4 +444,9 @@ public final class RIBImpl extends DefaultRibReference implements AutoCloseable,
         }
         return 0;
     }
+
+    @Override
+    public DOMTransactionChain createPeerChain(final TransactionChainListener listener) {
+        return domDataBroker.createTransactionChain(listener);
+    }
 }
index 882ff6d669b338f0af12d03b24852ee3ad9df176..4c09213ab9c049bbf9f9a99b825826722a7616a5 100644 (file)
@@ -9,6 +9,8 @@ package org.opendaylight.protocol.bgp.rib.impl.spi;
 
 import java.util.Set;
 import javax.annotation.Nonnull;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
+import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
 import org.opendaylight.protocol.bgp.rib.spi.Peer;
 import org.opendaylight.protocol.framework.ReconnectStrategyFactory;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
@@ -48,4 +50,12 @@ public interface RIB {
     AdjRIBsOutRegistration registerRIBsOut(Peer bgpPeer, AdjRIBsOut aro);
 
     long getRoutesCount(TablesKey key);
+
+    /**
+     * Allocate a new transaction chain for use with a peer.
+     *
+     * @param listener {@link TransactionChainListener} handling recovery
+     * @return A new transaction chain.
+     */
+    DOMTransactionChain createPeerChain(TransactionChainListener listener);
 }
index 98c5f500a204e663ec88b6daf21b5feb0756ff2a..c84f70d14fc312b0094e40a09b09d79f478846dd 100644 (file)
@@ -12,6 +12,7 @@ module odl-bgp-rib-impl-cfg {
     import odl-bgp-rib-spi-cfg { prefix ribspi; revision-date 2013-11-15; }
     import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
     import opendaylight-md-sal-binding {prefix mdsb; revision-date 2013-10-28; }
+    import opendaylight-md-sal-dom {prefix sal; revision-date 2013-10-28; }
     import netty { prefix netty; revision-date 2013-11-19; }
     import config { prefix config; revision-date 2013-04-05; }
     import protocol-framework { prefix pf; revision-date 2014-03-13; }
@@ -637,6 +638,15 @@ module odl-bgp-rib-impl-cfg {
                 }
             }
 
+            container dom-data-provider {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity sal:dom-async-data-broker;
+                    }
+                }
+            }
+
             leaf local-as {
                 description "Our local AS number. Needed by best selection path attribute.";
                 type uint32;
index cc9e1b5ffa4e2bcdaa663527a9e17d9fb847e3ab..ce75133e7e8adde4ba81f605c90b3eddfb5328a1 100644 (file)
@@ -111,55 +111,55 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
 
-        List<ModuleFactory> moduleFactories = getModuleFactories();
-        super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(mockedContext, moduleFactories.toArray(new ModuleFactory[moduleFactories.size()])));
+        final List<ModuleFactory> moduleFactories = getModuleFactories();
+        super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext, moduleFactories.toArray(new ModuleFactory[moduleFactories.size()])));
 
-        Filter mockedFilter = mock(Filter.class);
-        Mockito.doReturn(mockedFilter).when(mockedContext).createFilter(Mockito.anyString());
+        final Filter mockedFilter = mock(Filter.class);
+        Mockito.doReturn(mockedFilter).when(this.mockedContext).createFilter(Mockito.anyString());
 
         final ServiceReference<?> emptyServiceReference = mock(ServiceReference.class, "Empty");
         final ServiceReference<?> classLoadingStrategySR = mock(ServiceReference.class, "ClassLoadingStrategy");
         final ServiceReference<?> dataProviderServiceReference = mock(ServiceReference.class, "Data Provider");
 
-        Mockito.doReturn(mockedFilter).when(mockedContext).createFilter(Mockito.anyString());
+        Mockito.doReturn(mockedFilter).when(this.mockedContext).createFilter(Mockito.anyString());
 
-        Mockito.doNothing().when(mockedContext).addServiceListener(any(ServiceListener.class), Mockito.anyString());
-        Mockito.doNothing().when(mockedContext).removeServiceListener(any(ServiceListener.class));
+        Mockito.doNothing().when(this.mockedContext).addServiceListener(any(ServiceListener.class), Mockito.anyString());
+        Mockito.doNothing().when(this.mockedContext).removeServiceListener(any(ServiceListener.class));
 
-        Mockito.doNothing().when(mockedContext).addBundleListener(any(BundleListener.class));
-        Mockito.doNothing().when(mockedContext).removeBundleListener(any(BundleListener.class));
+        Mockito.doNothing().when(this.mockedContext).addBundleListener(any(BundleListener.class));
+        Mockito.doNothing().when(this.mockedContext).removeBundleListener(any(BundleListener.class));
 
-        Mockito.doReturn(new Bundle[] {}).when(mockedContext).getBundles();
+        Mockito.doReturn(new Bundle[] {}).when(this.mockedContext).getBundles();
 
-        Mockito.doReturn(new ServiceReference[] {}).when(mockedContext).getServiceReferences(Matchers.anyString(), Matchers.anyString());
+        Mockito.doReturn(new ServiceReference[] {}).when(this.mockedContext).getServiceReferences(Matchers.anyString(), Matchers.anyString());
 
         Mockito.doReturn("Empty reference").when(emptyServiceReference).toString();
         Mockito.doReturn("Data Provider Service Reference").when(dataProviderServiceReference).toString();
         Mockito.doReturn("Class loading stategy reference").when(classLoadingStrategySR).toString();
 
-        Mockito.doReturn(emptyServiceReference).when(mockedContext).getServiceReference(any(Class.class));
-        Mockito.doReturn(dataProviderServiceReference).when(mockedContext).getServiceReference(DataBroker.class);
-        Mockito.doReturn(classLoadingStrategySR).when(mockedContext).getServiceReference(GeneratedClassLoadingStrategy.class);
+        Mockito.doReturn(emptyServiceReference).when(this.mockedContext).getServiceReference(any(Class.class));
+        Mockito.doReturn(dataProviderServiceReference).when(this.mockedContext).getServiceReference(DataBroker.class);
+        Mockito.doReturn(classLoadingStrategySR).when(this.mockedContext).getServiceReference(GeneratedClassLoadingStrategy.class);
 
-        Mockito.doReturn(mockedDataProvider).when(mockedContext).getService(dataProviderServiceReference);
-        Mockito.doReturn(GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy()).when(mockedContext).getService(classLoadingStrategySR);
-        Mockito.doReturn(null).when(mockedContext).getService(emptyServiceReference);
+        Mockito.doReturn(this.mockedDataProvider).when(this.mockedContext).getService(dataProviderServiceReference);
+        Mockito.doReturn(GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy()).when(this.mockedContext).getService(classLoadingStrategySR);
+        Mockito.doReturn(null).when(this.mockedContext).getService(emptyServiceReference);
 
-        Mockito.doReturn(mockedTransaction).when(mockedDataProvider).newReadWriteTransaction();
+        Mockito.doReturn(this.mockedTransaction).when(this.mockedDataProvider).newReadWriteTransaction();
 
-        Mockito.doReturn(null).when(mockedTransaction).read(Mockito.eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class));
-        Mockito.doNothing().when(mockedTransaction).put(Mockito.eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class), any(DataObject.class));
-        Mockito.doNothing().when(mockedTransaction).delete(Mockito.eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class));
+        Mockito.doReturn(null).when(this.mockedTransaction).read(Mockito.eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class));
+        Mockito.doNothing().when(this.mockedTransaction).put(Mockito.eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class), any(DataObject.class));
+        Mockito.doNothing().when(this.mockedTransaction).delete(Mockito.eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class));
 
-        Mockito.doReturn(mockedFuture).when(mockedTransaction).submit();
-        Mockito.doReturn(TRANSACTION_NAME).when(mockedTransaction).getIdentifier();
+        Mockito.doReturn(this.mockedFuture).when(this.mockedTransaction).submit();
+        Mockito.doReturn(TRANSACTION_NAME).when(this.mockedTransaction).getIdentifier();
 
-        Mockito.doReturn(null).when(mockedFuture).get();
+        Mockito.doReturn(null).when(this.mockedFuture).get();
 
-        GlobalBundleScanningSchemaServiceImpl schemaService = GlobalBundleScanningSchemaServiceImpl.createInstance(this.mockedContext);
-        YangContextParser parser = new YangParserImpl();
-        SchemaContext context = parser.parseSources(getFilesAsByteSources(getYangModelsPaths()));
-        URLSchemaContextResolver mockedContextResolver = Mockito.mock(URLSchemaContextResolver.class);
+        final GlobalBundleScanningSchemaServiceImpl schemaService = GlobalBundleScanningSchemaServiceImpl.createInstance(this.mockedContext);
+        final YangContextParser parser = new YangParserImpl();
+        final SchemaContext context = parser.parseSources(getFilesAsByteSources(getYangModelsPaths()));
+        final URLSchemaContextResolver mockedContextResolver = Mockito.mock(URLSchemaContextResolver.class);
         Mockito.doReturn(Optional.of(context)).when(mockedContextResolver).getSchemaContext();
 
         final Field contextResolverField = schemaService.getClass().getDeclaredField("contextResolver");
@@ -187,8 +187,8 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
             return new BundleContextServiceRegistrationHandler() {
                 @Override
                 public void handleServiceRegistration(final Class<?> clazz, final Object serviceInstance, final Dictionary<String, ?> props) {
-                    SchemaContextListener listener = (SchemaContextListener) serviceInstance;
-                    YangContextParser parser = new YangParserImpl();
+                    final SchemaContextListener listener = (SchemaContextListener) serviceInstance;
+                    final YangContextParser parser = new YangParserImpl();
                     final SchemaContext context;
                     try {
                         context = parser.parseSources(getFilesAsByteSources(getYangModelsPaths()));
@@ -211,25 +211,26 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
     }
 
     protected CommitStatus createInstance() throws Exception {
-        ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+        final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
         createRIBImplModuleInstance(transaction);
         return transaction.commit();
     }
 
     protected CommitStatus createRIBImplModuleInstance(final RibId ribId, final Long localAs, final Ipv4Address bgpId) throws Exception {
-        ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+        final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
         createRIBImplModuleInstance(transaction, ribId, localAs, bgpId, createAsyncDataBrokerInstance(transaction));
         return transaction.commit();
     }
 
     private ObjectName createRIBImplModuleInstance(final ConfigTransactionJMXClient transaction, final RibId ribId, final Long localAs,
             final Ipv4Address bgpId, final ObjectName dataBroker) throws Exception {
-        ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
-        RIBImplModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, RIBImplModuleMXBean.class);
-        ObjectName reconnectObjectName = TimedReconnectStrategyModuleTest.createInstance(transaction, SESSION_RS_INSTANCE_NAME);
+        final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
+        final RIBImplModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, RIBImplModuleMXBean.class);
+        final ObjectName reconnectObjectName = TimedReconnectStrategyModuleTest.createInstance(transaction, SESSION_RS_INSTANCE_NAME);
         mxBean.setSessionReconnectStrategy(reconnectObjectName);
         mxBean.setDataProvider(dataBroker);
-        ObjectName reconnectStrategyON = TimedReconnectStrategyModuleTest.createInstance(transaction, TCP_RS_INSTANCE_NAME);
+        mxBean.setDomDataProvider(lookupDomAsyncDataBroker(transaction));
+        final ObjectName reconnectStrategyON = TimedReconnectStrategyModuleTest.createInstance(transaction, TCP_RS_INSTANCE_NAME);
         mxBean.setTcpReconnectStrategy(reconnectStrategyON);
         mxBean.setBgpDispatcher(BGPDispatcherImplModuleTest.createInstance(transaction));
         mxBean.setExtensions(createRibExtensionsInstance(transaction));
@@ -260,14 +261,14 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
 
     private static ObjectName lookupDomAsyncDataBroker(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
         try {
-            return transaction.lookupConfigBean(DomInmemoryDataBrokerModuleFactory.NAME, DOM_ASYNC_DATA_BROKER_INSTANCE);
-        } catch (InstanceNotFoundException e) {
+            return transaction.lookupConfigBean(DomInmemoryDataBrokerModuleFactory.NAME, DOM_BROKER_INSTANCE_NAME);
+        } catch (final InstanceNotFoundException e) {
             try {
-                final ObjectName nameCreated = transaction.createModule(DomInmemoryDataBrokerModuleFactory.NAME, DOM_ASYNC_DATA_BROKER_INSTANCE);
+                final ObjectName nameCreated = transaction.createModule(DomInmemoryDataBrokerModuleFactory.NAME, DOM_BROKER_INSTANCE_NAME);
                 final DomInmemoryDataBrokerModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, DomInmemoryDataBrokerModuleMXBean.class);
                 mxBean.setSchemaService(lookupSchemaServiceInstance(transaction));
                 return nameCreated;
-            } catch (InstanceAlreadyExistsException e1) {
+            } catch (final InstanceAlreadyExistsException e1) {
                 throw new IllegalStateException(e1);
             }
         }
@@ -276,10 +277,10 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
     private static ObjectName lookupMappingServiceInstance(final ConfigTransactionJMXClient transaction) {
         try {
             return transaction.lookupConfigBean(RuntimeMappingModuleFactory.NAME, RuntimeMappingModuleFactory.SINGLETON_NAME);
-        } catch (InstanceNotFoundException e) {
+        } catch (final InstanceNotFoundException e) {
             try {
                 return transaction.createModule(RuntimeMappingModuleFactory.NAME, RuntimeMappingModuleFactory.SINGLETON_NAME);
-            } catch (InstanceAlreadyExistsException e1) {
+            } catch (final InstanceAlreadyExistsException e1) {
                 throw new IllegalStateException(e1);
             }
         }
@@ -288,23 +289,23 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
     private static ObjectName lookupSchemaServiceInstance(final ConfigTransactionJMXClient transaction) {
         try {
             return transaction.lookupConfigBean(SchemaServiceImplSingletonModuleFactory.NAME, SchemaServiceImplSingletonModuleFactory.SINGLETON_NAME);
-        } catch (InstanceNotFoundException e) {
+        } catch (final InstanceNotFoundException e) {
             try {
                 return transaction.createModule(SchemaServiceImplSingletonModuleFactory.NAME, SchemaServiceImplSingletonModuleFactory.SINGLETON_NAME);
-            } catch (InstanceAlreadyExistsException e1) {
+            } catch (final InstanceAlreadyExistsException e1) {
                 throw new IllegalStateException(e1);
             }
         }
     }
 
     private ObjectName createRibExtensionsInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
-        ObjectName nameCreated = transaction.createModule(RIBExtensionsImplModuleFactory.NAME, RIB_EXTENSIONS_INSTANCE_NAME);
+        final ObjectName nameCreated = transaction.createModule(RIBExtensionsImplModuleFactory.NAME, RIB_EXTENSIONS_INSTANCE_NAME);
         transaction.newMXBeanProxy(nameCreated, RIBExtensionsImplModuleMXBean.class);
         return nameCreated;
     }
 
     public List<String> getYangModelsPaths() {
-        List<String> paths = Lists.newArrayList("/META-INF/yang/bgp-rib.yang", "/META-INF/yang/ietf-inet-types.yang",
+        final List<String> paths = Lists.newArrayList("/META-INF/yang/bgp-rib.yang", "/META-INF/yang/ietf-inet-types.yang",
                 "/META-INF/yang/bgp-message.yang", "/META-INF/yang/bgp-multiprotocol.yang", "/META-INF/yang/bgp-types.yang",
                 "/META-INF/yang/network-concepts.yang", "/META-INF/yang/ieee754.yang");
         return paths;
@@ -313,9 +314,9 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
     // TODO move back to AbstractConfigTest
     private static Collection<ByteSource> getFilesAsByteSources(final List<String> paths) {
         final Collection<ByteSource> resources = new ArrayList<>();
-        List<String> failedToFind = new ArrayList<>();
-        for (String path : paths) {
-            URL url = AbstractRIBImplModuleTest.class.getResource(path);
+        final List<String> failedToFind = new ArrayList<>();
+        for (final String path : paths) {
+            final URL url = AbstractRIBImplModuleTest.class.getResource(path);
             if (url == null) {
                 failedToFind.add(path);
             } else {
index 995d48615138402899fbf9fa820a76b78bad5510..3a6ea4fe6fe04d5dc0813164198d23d9acc95e0b 100644 (file)
@@ -45,6 +45,7 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
 import org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher;
 import org.opendaylight.protocol.bgp.rib.spi.AdjRIBsIn;
@@ -128,6 +129,9 @@ public class ApplicationPeerTest {
     @Mock
     DataBroker dps;
 
+    @Mock
+    DOMDataBroker dom;
+
     @Mock
     WriteTransaction transWrite;
 
@@ -209,7 +213,7 @@ public class ApplicationPeerTest {
             }
         }).when(this.transWrite).delete(Mockito.eq(LogicalDatastoreType.OPERATIONAL), Mockito.any(InstanceIdentifier.class));
         this.r = new RIBImpl(new RibId("test"), new AsNumber(5L), new Ipv4Address("127.0.0.1"),
-            context , this.dispatcher, this.tcpStrategyFactory, this.tcpStrategyFactory, this.dps, localTables);
+            context , this.dispatcher, this.tcpStrategyFactory, this.tcpStrategyFactory, this.dps, this.dom, localTables);
         this.peer = new ApplicationPeer(new ApplicationRibId("t"), new Ipv4Address("127.0.0.1"), this.r);
         final ReadOnlyTransaction readTx = Mockito.mock(ReadOnlyTransaction.class);
         Mockito.doReturn(readTx).when(this.dps).newReadOnlyTransaction();
index 8df98253f6a4df6ba24de7720ab1548e45ffaf70..8c07f7d8fe8d76b0d8b7c412ca8f0798ee0179dd 100644 (file)
@@ -105,7 +105,7 @@ public class ParserToSalTest extends AbstractDataBrokerTest {
     }
 
     private void runTestWithTables(final List<BgpTableType> tables) {
-        final RIBImpl rib = new RIBImpl(new RibId(TEST_RIB_ID), new AsNumber(72L), new Ipv4Address("127.0.0.1"), this.ext, this.dispatcher, this.tcpStrategyFactory, this.sessionStrategy, getDataBroker(), tables);
+        final RIBImpl rib = new RIBImpl(new RibId(TEST_RIB_ID), new AsNumber(72L), new Ipv4Address("127.0.0.1"), this.ext, this.dispatcher, this.tcpStrategyFactory, this.sessionStrategy, getDataBroker(), getDomBroker(), tables);
         final BGPPeer peer = new BGPPeer("peer-" + this.mock.toString(), rib);
 
         final ListenerRegistration<?> reg = this.mock.registerUpdateListener(peer);