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