4 * Generated from: yang module name: opendaylight-sal-dom-broker-impl yang module local name: dom-inmemory-data-broker
5 * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
6 * Generated at: Fri Mar 28 17:32:48 CET 2014
8 * Do not modify this file unless it is present under src/main directory
10 package org.opendaylight.controller.config.yang.md.sal.dom.impl;
12 import java.util.Hashtable;
13 import java.util.concurrent.Executors;
15 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
16 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
17 import org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl;
18 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore;
19 import org.opendaylight.controller.sal.core.spi.data.DOMStore;
20 import org.osgi.framework.BundleContext;
22 import com.google.common.collect.ImmutableMap;
23 import com.google.common.util.concurrent.ListeningExecutorService;
24 import com.google.common.util.concurrent.MoreExecutors;
29 public final class DomInmemoryDataBrokerModule extends
30 org.opendaylight.controller.config.yang.md.sal.dom.impl.AbstractDomInmemoryDataBrokerModule {
32 private BundleContext bundleContext;
34 public DomInmemoryDataBrokerModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
35 final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
36 super(identifier, dependencyResolver);
39 public DomInmemoryDataBrokerModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
40 final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
41 final DomInmemoryDataBrokerModule oldModule, final java.lang.AutoCloseable oldInstance) {
43 super(identifier, dependencyResolver, oldModule, oldInstance);
47 protected void customValidation() {
48 // Add custom validation for module attributes here.
52 public java.lang.AutoCloseable createInstance() {
53 ListeningExecutorService storeExecutor = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(2));
54 InMemoryDOMDataStore operStore = new InMemoryDOMDataStore("DOM-OPER", storeExecutor);
55 InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("DOM-CFG", storeExecutor);
56 ImmutableMap<LogicalDatastoreType, DOMStore> datastores = ImmutableMap
57 .<LogicalDatastoreType, DOMStore> builder().put(LogicalDatastoreType.OPERATIONAL, operStore)
58 .put(LogicalDatastoreType.CONFIGURATION, configStore).build();
60 DOMDataBrokerImpl newDataBroker = new DOMDataBrokerImpl(datastores, MoreExecutors.sameThreadExecutor());
62 getBundleContext().registerService(DOMDataBroker.class, newDataBroker, new Hashtable<String, String>());
64 getSchemaServiceDependency().registerSchemaServiceListener(operStore);
65 getSchemaServiceDependency().registerSchemaServiceListener(configStore);
70 private BundleContext getBundleContext() {
74 void setBundleContext(final BundleContext ctx) {