X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Ftest%2Futil%2FBindingTestContext.java;h=1ea56381ef1cf9a4b248d2be2795d6c290f81c0d;hp=d6d87bac84b307d388147cc3bd44c0346b5afa77;hb=1f6daaf007e78df276604baa4c515a50037a649d;hpb=1745f92957146128e8a4a111adb7ed830f737e0a 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 d6d87bac84..1ea56381ef 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 @@ -48,7 +48,6 @@ import org.opendaylight.controller.sal.dom.broker.impl.DataStoreStatsWrapper; import org.opendaylight.controller.sal.dom.broker.impl.HashMapDataStore; import org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter; import org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker; -import org.opendaylight.controller.sal.dom.broker.impl.SchemaContextProvider; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl; import org.opendaylight.yangtools.yang.common.QName; @@ -57,7 +56,6 @@ import org.opendaylight.yangtools.yang.data.api.CompositeNode; import org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.model.api.SchemaContextListener; import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; import org.reflections.Reflections; import org.reflections.scanners.ResourcesScanner; @@ -68,9 +66,10 @@ import com.google.common.base.Predicate; import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.MutableClassToInstanceMap; import com.google.common.util.concurrent.ListeningExecutorService; -public class BindingTestContext implements AutoCloseable, SchemaContextProvider { +public class BindingTestContext implements AutoCloseable { public static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier TREE_ROOT = org.opendaylight.yangtools.yang.data.api.InstanceIdentifier .builder().toInstance(); @@ -101,21 +100,22 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider private MountPointManagerImpl biMountImpl; - private SchemaContext schemaContext; + private ImmutableMap newDatastores; private BackwardsCompatibleDataBroker biCompatibleBroker; - private final List schemaListeners = new ArrayList<>(); - private DataProviderService baData; private DOMDataBroker newDOMDataBroker; - @Override - public SchemaContext getSchemaContext() { - return schemaContext; + private final MockSchemaService mockSchemaService = new MockSchemaService(); + + + + public DOMDataBroker getDomAsyncDataBroker() { + return newDOMDataBroker; } protected BindingTestContext(final ListeningExecutorService executor, final ClassPool classPool, final boolean startWithSchema) { @@ -124,6 +124,7 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider this.startWithSchema = startWithSchema; } + @Deprecated public void startDomDataStore() { checkState(dataStore == null, "DataStore already started."); checkState(biDataImpl != null, "Dom Data Broker not present"); @@ -136,7 +137,7 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider } else { dataStore = schemaAwareDataStore; } - + mockSchemaService.registerSchemaServiceListener(schemaAwareDataStore); biDataImpl.registerConfigurationReader(TREE_ROOT, dataStore); biDataImpl.registerOperationalReader(TREE_ROOT, dataStore); biDataImpl.registerCommitHandler(TREE_ROOT, dataStore); @@ -160,11 +161,10 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider newDOMDataBroker = new DOMDataBrokerImpl(newDatastores, executor); - biCompatibleBroker = new BackwardsCompatibleDataBroker(newDOMDataBroker); + biCompatibleBroker = new BackwardsCompatibleDataBroker(newDOMDataBroker,mockSchemaService); - schemaListeners.add(configStore); - schemaListeners.add(operStore); - schemaListeners.add(biCompatibleBroker); + mockSchemaService.registerSchemaServiceListener(configStore); + mockSchemaService.registerSchemaServiceListener(operStore); biDataLegacyBroker = biCompatibleBroker; } @@ -184,7 +184,7 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider baBrokerImpl.getMountManager().setDataCommitExecutor(executor); baBrokerImpl.getMountManager().setNotificationExecutor(executor); baBrokerImpl.setRpcBroker(new RpcProviderRegistryImpl("test")); - baBrokerImpl.setDataBroker(baData); + baBrokerImpl.setLegacyDataBroker(baData); baBrokerImpl.setNotificationBroker(baNotifyImpl); baBrokerImpl.start(); } @@ -263,23 +263,12 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider public void startBindingToDomMappingService() { checkState(classPool != null, "ClassPool needs to be present"); - mappingServiceImpl = new RuntimeGeneratedMappingServiceImpl(); - mappingServiceImpl.setPool(classPool); - mappingServiceImpl.init(); + mappingServiceImpl = new RuntimeGeneratedMappingServiceImpl(classPool); + mockSchemaService.registerSchemaServiceListener(mappingServiceImpl); } public void updateYangSchema(final String[] files) { - schemaContext = getContext(files); - - if (schemaAwareDataStore != null) { - schemaAwareDataStore.onGlobalContextUpdated(schemaContext); - } - if (mappingServiceImpl != null) { - mappingServiceImpl.onGlobalContextUpdated(schemaContext); - } - for(SchemaContextListener listener : schemaListeners) { - listener.onGlobalContextUpdated(schemaContext); - } + mockSchemaService.changeSchema(getContext(files)); } public static String[] getAllYangFilesOnClasspath() { @@ -338,8 +327,7 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider } public void startNewBindingDataBroker() { - ForwardedBackwardsCompatibleDataBroker forwarded = new ForwardedBackwardsCompatibleDataBroker(newDOMDataBroker, mappingServiceImpl, executor); - schemaListeners.add(forwarded); + ForwardedBackwardsCompatibleDataBroker forwarded = new ForwardedBackwardsCompatibleDataBroker(newDOMDataBroker, mappingServiceImpl,mockSchemaService, executor); baData = forwarded; } @@ -350,8 +338,10 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider private void startDomBroker() { checkState(executor != null); - biBrokerImpl = new BrokerImpl(); - biBrokerImpl.setRouter(new SchemaAwareRpcBroker("/", this)); + + SchemaAwareRpcBroker router = new SchemaAwareRpcBroker("/", mockSchemaService); + ClassToInstanceMap services = MutableClassToInstanceMap.create(); + biBrokerImpl = new BrokerImpl(router,services); } @@ -427,4 +417,6 @@ public class BindingTestContext implements AutoCloseable, SchemaContextProvider public MountProvisionService getDomMountProviderService() { return biMountImpl; } + + }