Net-virt-sfc Data Change Listener code first pass.
[netvirt.git] / openstack / net-virt-sfc / impl / src / main / java / org / opendaylight / yang / gen / v1 / urn / opendaylight / params / xml / ns / yang / netvirt / sfc / rev141210 / NetvirtSfcModuleFactory.java
index 26e2fd5e53d972f13a020bc35b5d765826495519..6bbc36823822daa2a6278a038859a203119f3674 100644 (file)
@@ -8,6 +8,45 @@
 * Do not modify this file unless it is present under src/main directory
 */
 package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.sfc.rev141210;
+
+import org.opendaylight.controller.config.api.DependencyResolver;
+import org.opendaylight.controller.config.api.DynamicMBeanWithInstance;
+import org.opendaylight.controller.config.spi.Module;
+import org.osgi.framework.BundleContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class NetvirtSfcModuleFactory extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.sfc.rev141210.AbstractNetvirtSfcModuleFactory {
+    private static final Logger LOG = LoggerFactory.getLogger(NetvirtSfcModuleFactory.class);
+
+    @Override
+    public Module createModule(String instanceName,
+                               DependencyResolver dependencyResolver,
+                               DynamicMBeanWithInstance old, BundleContext bundleContext)
+            throws Exception {
+        Module module =  super.createModule(instanceName, dependencyResolver, old, bundleContext);
+        LOG.info("Created NetvirtSfcModule1= {}!!", (module instanceof NetvirtSfcModule));
+        setModuleBundleContext(bundleContext, module);
+        return module;
+    }
+
+    @Override
+    public Module createModule(String instanceName,
+                               DependencyResolver dependencyResolver, BundleContext bundleContext) {
+        Module module = super.createModule(instanceName, dependencyResolver, bundleContext);
+        LOG.info("Created NetvirtSfcModule2= {}!!", (module instanceof NetvirtSfcModule));
+        setModuleBundleContext(bundleContext, module);
+        return module;
+    }
 
+    private void setModuleBundleContext(BundleContext bundleContext,
+                                        Module module) {
+        if (module instanceof NetvirtSfcModule) {
+            LOG.info("Setting Bundle Context for NetvirtSfcModule!!");
+            ((NetvirtSfcModule)module).setBundleContext(bundleContext);
+        } else {
+            LOG.warn("Module is of type {} expected type {}",
+                    module.getClass(), NetvirtSfcModule.class);
+        }
+    }
 }