X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Ftest%2Futil%2FBindingTestContext.java;h=9cdf70322c772568ad4f69f811711a9a5a5c39ac;hb=cc91da381bbe5bc49b3c234d562fe72bd542964f;hp=2e43b885531b40f1f302bb4fb67d1d0e7be721c4;hpb=43d7c8702fc7a89ca5acdeefb4696c91b2963b38;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java index 2e43b88553..9cdf70322c 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java @@ -17,7 +17,9 @@ import java.util.concurrent.Future; import javassist.ClassPool; +import org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; import org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl; import org.opendaylight.controller.md.sal.dom.broker.impl.compat.BackwardsCompatibleDataBroker; import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore; @@ -107,11 +109,19 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider private final List schemaListeners = new ArrayList<>(); + private DataProviderService baData; + + private DOMDataBroker newDOMDataBroker; + @Override public SchemaContext getSchemaContext() { return schemaContext; } + public DOMDataBroker getDomAsyncDataBroker() { + return newDOMDataBroker; + } + protected BindingTestContext(final ListeningExecutorService executor, final ClassPool classPool, final boolean startWithSchema) { this.executor = executor; this.classPool = classPool; @@ -152,9 +162,9 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider .put(LogicalDatastoreType.CONFIGURATION, configStore) .build(); - DOMDataBrokerImpl newBiDataImpl = new DOMDataBrokerImpl(newDatastores, executor); + newDOMDataBroker = new DOMDataBrokerImpl(newDatastores, executor); - biCompatibleBroker = new BackwardsCompatibleDataBroker(newBiDataImpl); + biCompatibleBroker = new BackwardsCompatibleDataBroker(newDOMDataBroker); schemaListeners.add(configStore); schemaListeners.add(operStore); @@ -166,24 +176,25 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider checkState(executor != null, "Executor needs to be set"); baDataImpl = new DataBrokerImpl(); baDataImpl.setExecutor(executor); + baData = baDataImpl; } public void startBindingBroker() { checkState(executor != null, "Executor needs to be set"); - checkState(baDataImpl != null, "Binding Data Broker must be started"); + checkState(baData != null, "Binding Data Broker must be started"); checkState(baNotifyImpl != null, "Notification Service must be started"); baBrokerImpl = new DomForwardedBindingBrokerImpl("test"); baBrokerImpl.getMountManager().setDataCommitExecutor(executor); baBrokerImpl.getMountManager().setNotificationExecutor(executor); baBrokerImpl.setRpcBroker(new RpcProviderRegistryImpl("test")); - baBrokerImpl.setDataBroker(baDataImpl); + baBrokerImpl.setDataBroker(baData); baBrokerImpl.setNotificationBroker(baNotifyImpl); baBrokerImpl.start(); } public void startForwarding() { - checkState(baDataImpl != null, "Binding Data Broker needs to be started"); + checkState(baData != null, "Binding Data Broker needs to be started"); checkState(biDataLegacyBroker != null, "DOM Data Broker needs to be started."); checkState(mappingServiceImpl != null, "DOM Mapping Service needs to be started."); @@ -315,19 +326,27 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider } public void start() { - startBindingDataBroker(); - startBindingNotificationBroker(); - startBindingBroker(); startNewDomDataBroker(); startDomBroker(); startDomMountPoint(); startBindingToDomMappingService(); + startNewBindingDataBroker(); + + startBindingNotificationBroker(); + startBindingBroker(); + startForwarding(); if (startWithSchema) { loadYangSchemaFromClasspath(); } } + public void startNewBindingDataBroker() { + ForwardedBackwardsCompatibleDataBroker forwarded = new ForwardedBackwardsCompatibleDataBroker(newDOMDataBroker, mappingServiceImpl, executor); + schemaListeners.add(forwarded); + baData = forwarded; + } + private void startDomMountPoint() { biMountImpl = new MountPointManagerImpl(); biMountImpl.setDataBroker(getDomDataBroker()); @@ -336,7 +355,6 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider private void startDomBroker() { checkState(executor != null); biBrokerImpl = new BrokerImpl(); - biBrokerImpl.setExecutor(executor); biBrokerImpl.setRouter(new SchemaAwareRpcBroker("/", this)); } @@ -353,7 +371,7 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider } public DataProviderService getBindingDataBroker() { - return baDataImpl; + return baData; } public org.opendaylight.controller.sal.core.api.data.DataProviderService getDomDataBroker() {