X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fdom%2Fimpl%2FDomInmemoryDataBrokerModule.java;h=667c0fc2826a100b2fc6ae77f4c0344a52d723f6;hb=9c3a7d1aa13908ee5f0be33b63dfd2467af551be;hp=ad0de54bc035bf49863ef350cdc045af2fd35f48;hpb=f330b481b7f70fb165f423cc566214d1efddade8;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomInmemoryDataBrokerModule.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomInmemoryDataBrokerModule.java index ad0de54bc0..667c0fc282 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomInmemoryDataBrokerModule.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomInmemoryDataBrokerModule.java @@ -7,15 +7,12 @@ */ package org.opendaylight.controller.config.yang.md.sal.dom.impl; -import java.util.Hashtable; import java.util.concurrent.Executors; 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.store.impl.InMemoryDOMDataStore; import org.opendaylight.controller.sal.core.spi.data.DOMStore; -import org.osgi.framework.BundleContext; import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.ListeningExecutorService; @@ -27,8 +24,6 @@ import com.google.common.util.concurrent.MoreExecutors; public final class DomInmemoryDataBrokerModule extends org.opendaylight.controller.config.yang.md.sal.dom.impl.AbstractDomInmemoryDataBrokerModule { - private BundleContext bundleContext; - public DomInmemoryDataBrokerModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { super(identifier, dependencyResolver); @@ -49,27 +44,28 @@ public final class DomInmemoryDataBrokerModule extends @Override public java.lang.AutoCloseable createInstance() { ListeningExecutorService storeExecutor = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(2)); - InMemoryDOMDataStore operStore = new InMemoryDOMDataStore("DOM-OPER", storeExecutor); - InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("DOM-CFG", storeExecutor); + //Initializing Operational DOM DataStore defaulting to InMemoryDOMDataStore if one is not configured + DOMStore operStore = getOperationalDataStoreDependency(); + if(operStore == null){ + //we will default to InMemoryDOMDataStore creation + operStore = new InMemoryDOMDataStore("DOM-OPER", storeExecutor); + //here we will register the SchemaContext listener + getSchemaServiceDependency().registerSchemaContextListener((InMemoryDOMDataStore)operStore); + } + + DOMStore configStore = getConfigDataStoreDependency(); + if(configStore == null){ + //we will default to InMemoryDOMDataStore creation + configStore = new InMemoryDOMDataStore("DOM-CFG", storeExecutor); + //here we will register the SchemaContext listener + getSchemaServiceDependency().registerSchemaContextListener((InMemoryDOMDataStore)configStore); + } ImmutableMap datastores = ImmutableMap . builder().put(LogicalDatastoreType.OPERATIONAL, operStore) .put(LogicalDatastoreType.CONFIGURATION, configStore).build(); DOMDataBrokerImpl newDataBroker = new DOMDataBrokerImpl(datastores, MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor())); - getBundleContext().registerService(DOMDataBroker.class, newDataBroker, new Hashtable()); - - getSchemaServiceDependency().registerSchemaServiceListener(operStore); - getSchemaServiceDependency().registerSchemaServiceListener(configStore); - return newDataBroker; } - - private BundleContext getBundleContext() { - return bundleContext; - } - - void setBundleContext(final BundleContext ctx) { - bundleContext = ctx; - } }