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=d3852d28c5ba1ff9d6191f135cbcaba0c88ad2b4;hb=6a6c284cdf7e2f01e1a375a9b0f3fb8acf23d482;hp=ad0de54bc035bf49863ef350cdc045af2fd35f48;hpb=3b38f7ab02985255a6112f7a418667a5d6c35391;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..d3852d28c5 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,9 +7,9 @@ */ package org.opendaylight.controller.config.yang.md.sal.dom.impl; -import java.util.Hashtable; -import java.util.concurrent.Executors; - +import com.google.common.collect.ImmutableMap; +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; 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; @@ -17,9 +17,8 @@ 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; -import com.google.common.util.concurrent.MoreExecutors; +import java.util.Hashtable; +import java.util.concurrent.Executors; /** * @@ -49,8 +48,22 @@ 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().registerSchemaServiceListener((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().registerSchemaServiceListener((InMemoryDOMDataStore)configStore); + } ImmutableMap datastores = ImmutableMap . builder().put(LogicalDatastoreType.OPERATIONAL, operStore) .put(LogicalDatastoreType.CONFIGURATION, configStore).build(); @@ -59,8 +72,6 @@ public final class DomInmemoryDataBrokerModule extends getBundleContext().registerService(DOMDataBroker.class, newDataBroker, new Hashtable()); - getSchemaServiceDependency().registerSchemaServiceListener(operStore); - getSchemaServiceDependency().registerSchemaServiceListener(configStore); return newDataBroker; }