Merge "Simplify method isMutualExclusive in Subnet. Remove redundant 'if' statements."
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / config / yang / md / sal / binding / impl / DataBrokerImplModule.java
1 /**\r
2  * Generated file\r
3 \r
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
7  *\r
8  * Do not modify this file unless it is present under src/main directory\r
9  */\r
10 package org.opendaylight.controller.config.yang.md.sal.binding.impl;\r
11 \r
12 import java.util.concurrent.ExecutorService;\r
13 import java.util.concurrent.Executors;\r
14 import java.util.concurrent.ScheduledExecutorService;\r
15 \r
16 import org.opendaylight.controller.config.yang.md.sal.binding.statistics.DataBrokerRuntimeMXBeanImpl;\r
17 import org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter;\r
18 import org.opendaylight.controller.sal.binding.impl.DataBrokerImpl;\r
19 import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector;\r
20 import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentMappingService;\r
21 import org.opendaylight.controller.sal.core.api.Broker;\r
22 import org.opendaylight.controller.sal.core.api.data.DataProviderService;\r
23 import org.opendaylight.yangtools.yang.binding.DataObject;\r
24 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
25 import org.osgi.framework.BundleContext;\r
26 \r
27 import com.google.common.util.concurrent.MoreExecutors;\r
28 \r
29 /**\r
30 *\r
31 */\r
32 public final class DataBrokerImplModule extends\r
33         org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractDataBrokerImplModule {\r
34 \r
35     private BundleContext bundleContext;\r
36 \r
37     public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,\r
38             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {\r
39         super(identifier, dependencyResolver);\r
40     }\r
41 \r
42     public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,\r
43             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,\r
44             DataBrokerImplModule oldModule, java.lang.AutoCloseable oldInstance) {\r
45         super(identifier, dependencyResolver, oldModule, oldInstance);\r
46     }\r
47 \r
48     @Override\r
49     public void validate() {\r
50         super.validate();\r
51     }\r
52 \r
53     @Override\r
54     public java.lang.AutoCloseable createInstance() {\r
55         DataBrokerRuntimeMXBeanImpl dataBindingBroker = new DataBrokerRuntimeMXBeanImpl();\r
56         \r
57         // FIXME: obtain via dependency management\r
58         ExecutorService executor = Executors.newCachedThreadPool();\r
59         ExecutorService listeningExecutor = MoreExecutors.listeningDecorator(executor);\r
60         dataBindingBroker.setExecutor(listeningExecutor);\r
61 \r
62         Broker domBroker = getDomBrokerDependency();\r
63         BindingIndependentMappingService mappingService = getMappingServiceDependency();\r
64         \r
65         if (domBroker != null && mappingService != null) {\r
66             BindingIndependentConnector runtimeMapping = new BindingIndependentConnector();\r
67             runtimeMapping.setMappingService(mappingService);\r
68             runtimeMapping.setBaDataService(dataBindingBroker);\r
69             domBroker.registerProvider(runtimeMapping, getBundleContext());\r
70         }\r
71         getRootRuntimeBeanRegistratorWrapper().register(dataBindingBroker);\r
72         return dataBindingBroker;\r
73     }\r
74 \r
75     public BundleContext getBundleContext() {\r
76         return bundleContext;\r
77     }\r
78 \r
79     public void setBundleContext(BundleContext bundleContext2) {\r
80         this.bundleContext = bundleContext2;\r
81     }\r
82 }\r