Merge "increased test coverage"
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / config / yang / md / sal / binding / impl / DataBrokerImplModule.java
index 8cbfbb6da2b48cf8f9198d31533a290889ffedff..185b37bab53a2789763979525f9455e73aaee8d3 100644 (file)
@@ -1,83 +1,99 @@
-/**
- * Generated file
-
- * Generated from: yang module name: opendaylight-sal-binding-broker-impl  yang module local name: binding-data-broker
- * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
- * Generated at: Wed Nov 20 17:33:01 CET 2013
- *
- * Do not modify this file unless it is present under src/main directory
- */
-package org.opendaylight.controller.config.yang.md.sal.binding.impl;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-
-import org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter;
-import org.opendaylight.controller.sal.binding.impl.DataBrokerImpl;
-import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentDataServiceConnector;
-import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentMappingService;
-import org.opendaylight.controller.sal.core.api.Broker;
-import org.opendaylight.controller.sal.core.api.data.DataProviderService;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.osgi.framework.BundleContext;
-
-import com.google.common.util.concurrent.MoreExecutors;
-
-/**
-*
-*/
-public final class DataBrokerImplModule extends
-        org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractDataBrokerImplModule {
-
-    private BundleContext bundleContext;
-
-    public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
-            org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
-        super(identifier, dependencyResolver);
-    }
-
-    public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
-            org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
-            DataBrokerImplModule oldModule, java.lang.AutoCloseable oldInstance) {
-        super(identifier, dependencyResolver, oldModule, oldInstance);
-    }
-
-    @Override
-    public void validate() {
-        super.validate();
-    }
-
-    @Override
-    public java.lang.AutoCloseable createInstance() {
-        DataBrokerImpl dataBindingBroker = new DataBrokerImpl();
-        
-        // FIXME: obtain via dependency management
-        ExecutorService executor = Executors.newCachedThreadPool();
-        ExecutorService listeningExecutor = MoreExecutors.listeningDecorator(executor);
-        dataBindingBroker.setExecutor(listeningExecutor);
-
-        
-        
-        Broker domBroker = getDomBrokerDependency();
-        BindingIndependentMappingService mappingService = getMappingServiceDependency();
-        
-        if (domBroker != null && mappingService != null) {
-            BindingIndependentDataServiceConnector runtimeMapping = new BindingIndependentDataServiceConnector();
-            runtimeMapping.setMappingService(mappingService);
-            runtimeMapping.setBaDataService(dataBindingBroker);
-            domBroker.registerProvider(runtimeMapping, getBundleContext());
-        }
-
-        return dataBindingBroker;
-    }
-
-    public BundleContext getBundleContext() {
-        return bundleContext;
-    }
-
-    public void setBundleContext(BundleContext bundleContext2) {
-        this.bundleContext = bundleContext2;
-    }
-}
+/**\r
+ * Generated file\r
+\r
+ * Generated from: yang module name: opendaylight-sal-binding-broker-impl  yang module local name: binding-data-broker\r
+ * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator\r
+ * Generated at: Wed Nov 20 17:33:01 CET 2013\r
+ *\r
+ * Do not modify this file unless it is present under src/main directory\r
+ */\r
+package org.opendaylight.controller.config.yang.md.sal.binding.impl;\r
+\r
+import java.util.concurrent.ExecutorService;\r
+import java.util.concurrent.Executors;\r
+import java.util.concurrent.ScheduledExecutorService;\r
+\r
+import org.opendaylight.controller.md.sal.common.impl.routing.AbstractDataReadRouter;\r
+import org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder;\r
+import org.opendaylight.controller.sal.binding.impl.DataBrokerImpl;\r
+import org.opendaylight.controller.sal.binding.impl.RootDataBrokerImpl;\r
+import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingDomConnectorDeployer;\r
+import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector;\r
+import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentMappingService;\r
+import org.opendaylight.controller.sal.binding.impl.forward.DomForwardedDataBrokerImpl;\r
+import org.opendaylight.controller.sal.core.api.Broker;\r
+import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;\r
+import org.opendaylight.controller.sal.core.api.data.DataProviderService;\r
+import org.opendaylight.yangtools.yang.binding.DataObject;\r
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
+import org.osgi.framework.BundleContext;\r
+\r
+import com.google.common.util.concurrent.MoreExecutors;\r
+\r
+/**\r
+*\r
+*/\r
+public final class DataBrokerImplModule extends\r
+        org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractDataBrokerImplModule {\r
+\r
+    private BundleContext bundleContext;\r
+\r
+    public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,\r
+            org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {\r
+        super(identifier, dependencyResolver);\r
+    }\r
+\r
+    public DataBrokerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,\r
+            org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,\r
+            DataBrokerImplModule oldModule, java.lang.AutoCloseable oldInstance) {\r
+        super(identifier, dependencyResolver, oldModule, oldInstance);\r
+    }\r
+\r
+    @Override\r
+    public void validate() {\r
+        super.validate();\r
+    }\r
+\r
+    @Override\r
+    public java.lang.AutoCloseable createInstance() {\r
+        RootDataBrokerImpl dataBindingBroker;\r
+        \r
+        \r
+        ExecutorService listeningExecutor = SingletonHolder.getDefaultCommitExecutor();\r
+        \r
+        if (getDomBrokerDependency() != null && getMappingServiceDependency() != null) {\r
+            \r
+            dataBindingBroker = createDomConnectedBroker(listeningExecutor);\r
+        } else {\r
+            dataBindingBroker = createStandAloneBroker(listeningExecutor);\r
+        }\r
+        dataBindingBroker.registerRuntimeBean(getRootRuntimeBeanRegistratorWrapper());\r
+\r
+        return dataBindingBroker;\r
+    }\r
+    private RootDataBrokerImpl createStandAloneBroker(ExecutorService listeningExecutor) {\r
+        RootDataBrokerImpl broker = new RootDataBrokerImpl();\r
+        broker.setExecutor(listeningExecutor);\r
+        return broker;\r
+    }\r
+\r
+    private RootDataBrokerImpl createDomConnectedBroker(ExecutorService listeningExecutor) {\r
+        DomForwardedDataBrokerImpl forwardedBroker = new DomForwardedDataBrokerImpl();\r
+        forwardedBroker.setExecutor(listeningExecutor);\r
+        BindingIndependentConnector connector = BindingDomConnectorDeployer.createConnector(getMappingServiceDependency());\r
+        getDomBrokerDependency().registerProvider(forwardedBroker, getBundleContext());\r
+        ProviderSession domContext = forwardedBroker.getDomProviderContext();\r
+        forwardedBroker.setConnector(connector);\r
+        forwardedBroker.setDomProviderContext(domContext);\r
+        forwardedBroker.startForwarding();\r
+        return forwardedBroker;\r
+    }\r
+\r
+    public BundleContext getBundleContext() {\r
+        return bundleContext;\r
+    }\r
+\r
+    public void setBundleContext(BundleContext bundleContext2) {\r
+        this.bundleContext = bundleContext2;\r
+    }\r
+}\r