4 * Generated from: yang module name: opendaylight-sal-binding-broker-impl yang module local name: binding-data-broker
\r
5 * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
\r
6 * Generated at: Wed Nov 20 17:33:01 CET 2013
\r
8 * Do not modify this file unless it is present under src/main directory
\r
10 package org.opendaylight.controller.config.yang.md.sal.binding.impl;
\r
12 import java.util.concurrent.ExecutorService;
\r
13 import java.util.concurrent.Executors;
\r
14 import java.util.concurrent.ScheduledExecutorService;
\r
16 import org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter;
\r
17 import org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder;
\r
18 import org.opendaylight.controller.sal.binding.impl.DataBrokerImpl;
\r
19 import org.opendaylight.controller.sal.binding.impl.RootDataBrokerImpl;
\r
20 import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingDomConnectorDeployer;
\r
21 import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector;
\r
22 import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentMappingService;
\r
23 import org.opendaylight.controller.sal.binding.impl.forward.DomForwardedDataBrokerImpl;
\r
24 import org.opendaylight.controller.sal.core.api.Broker;
\r
25 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
\r
26 import org.opendaylight.controller.sal.core.api.data.DataProviderService;
\r
27 import org.opendaylight.yangtools.yang.binding.DataObject;
\r
28 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
\r
29 import org.osgi.framework.BundleContext;
\r
31 import com.google.common.util.concurrent.MoreExecutors;
\r
36 public final class DataBrokerImplModule extends
\r
37 org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractDataBrokerImplModule {
\r
39 private BundleContext bundleContext;
\r
41 public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
\r
42 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
\r
43 super(identifier, dependencyResolver);
\r
46 public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
\r
47 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
\r
48 DataBrokerImplModule oldModule, java.lang.AutoCloseable oldInstance) {
\r
49 super(identifier, dependencyResolver, oldModule, oldInstance);
\r
53 public void validate() {
\r
58 public java.lang.AutoCloseable createInstance() {
\r
59 RootDataBrokerImpl dataBindingBroker;
\r
62 ExecutorService listeningExecutor = SingletonHolder.getDefaultCommitExecutor();
\r
64 if (getDomBrokerDependency() != null && getMappingServiceDependency() != null) {
\r
66 dataBindingBroker = createDomConnectedBroker(listeningExecutor);
\r
68 dataBindingBroker = createStandAloneBroker(listeningExecutor);
\r
70 dataBindingBroker.registerRuntimeBean(getRootRuntimeBeanRegistratorWrapper());
\r
72 return dataBindingBroker;
\r
74 private RootDataBrokerImpl createStandAloneBroker(ExecutorService listeningExecutor) {
\r
75 RootDataBrokerImpl broker = new RootDataBrokerImpl();
\r
76 broker.setExecutor(listeningExecutor);
\r
80 private RootDataBrokerImpl createDomConnectedBroker(ExecutorService listeningExecutor) {
\r
81 DomForwardedDataBrokerImpl forwardedBroker = new DomForwardedDataBrokerImpl();
\r
82 forwardedBroker.setExecutor(listeningExecutor);
\r
83 BindingIndependentConnector connector = BindingDomConnectorDeployer.createConnector(getMappingServiceDependency());
\r
84 getDomBrokerDependency().registerProvider(forwardedBroker, getBundleContext());
\r
85 ProviderSession domContext = forwardedBroker.getDomProviderContext();
\r
86 forwardedBroker.setConnector(connector);
\r
87 forwardedBroker.setDomProviderContext(domContext);
\r
88 forwardedBroker.startForwarding();
\r
89 return forwardedBroker;
\r
92 public BundleContext getBundleContext() {
\r
93 return bundleContext;
\r
96 public void setBundleContext(BundleContext bundleContext2) {
\r
97 this.bundleContext = bundleContext2;
\r