Merge "Remove System.out from netconf tests"
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / config / yang / md / sal / binding / impl / BindingBrokerImplModule.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-broker-impl\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 org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder;\r
13 import org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker;\r
14 import org.opendaylight.controller.sal.binding.impl.RpcProviderRegistryImpl;\r
15 import org.opendaylight.controller.sal.binding.impl.forward.DomForwardedBindingBrokerImpl;\r
16 import org.opendaylight.controller.sal.binding.impl.forward.DomForwardingUtils;\r
17 import org.osgi.framework.BundleContext;\r
18 \r
19 import com.google.common.util.concurrent.MoreExecutors;\r
20 \r
21 /**\r
22 *\r
23 */\r
24 public final class BindingBrokerImplModule extends\r
25         org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractBindingBrokerImplModule {\r
26 \r
27     private BundleContext bundleContext;\r
28 \r
29     public BindingBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,\r
30             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {\r
31         super(identifier, dependencyResolver);\r
32     }\r
33 \r
34     public BindingBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,\r
35             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,\r
36             BindingBrokerImplModule oldModule, java.lang.AutoCloseable oldInstance) {\r
37         super(identifier, dependencyResolver, oldModule, oldInstance);\r
38     }\r
39 \r
40     @Override\r
41     public void validate() {\r
42         super.validate();\r
43     }\r
44 \r
45     @Override\r
46     public java.lang.AutoCloseable createInstance() {\r
47 \r
48         RootBindingAwareBroker broker;\r
49         if (DomForwardingUtils.isDomForwardedBroker(getDataBrokerDependency())) {\r
50             broker = createForwardedBroker();\r
51         } else {\r
52             broker = createStandaloneBroker();\r
53         }\r
54         broker.start();\r
55         return broker;\r
56     }\r
57 \r
58     private RootBindingAwareBroker createStandaloneBroker() {\r
59         RootBindingAwareBroker broker = new RootBindingAwareBroker(getIdentifier().getInstanceName());\r
60 \r
61         broker.setDataBroker(getDataBrokerDependency());\r
62         broker.setNotificationBroker(getNotificationServiceDependency());\r
63         broker.setRpcBroker(new RpcProviderRegistryImpl(broker.getIdentifier()));\r
64         return broker;\r
65     }\r
66 \r
67     private RootBindingAwareBroker createForwardedBroker() {\r
68         DomForwardedBindingBrokerImpl broker = new DomForwardedBindingBrokerImpl(getIdentifier().getInstanceName());\r
69 \r
70         broker.setDataBroker(getDataBrokerDependency());\r
71         broker.setNotificationBroker(getNotificationServiceDependency());\r
72         broker.setRpcBroker(new RpcProviderRegistryImpl(broker.getIdentifier()));\r
73 \r
74         broker.getMountManager().setDataCommitExecutor(SingletonHolder.getDefaultCommitExecutor());\r
75         broker.getMountManager().setNotificationExecutor(SingletonHolder.getDefaultNotificationExecutor());\r
76 \r
77 \r
78         DomForwardingUtils.reuseForwardingFrom(broker, broker.getDataBroker());\r
79         broker.startForwarding();\r
80         return broker;\r
81     }\r
82 \r
83     public BundleContext getBundleContext() {\r
84         return bundleContext;\r
85     }\r
86 \r
87     public void setBundleContext(BundleContext bundleContext) {\r
88         this.bundleContext = bundleContext;\r
89     }\r
90 }\r