Bug 509: Fixed incorrect merging of Data Store Writes / Events
[controller.git] / opendaylight / config / yang-jmx-generator-plugin / src / main / java / org / opendaylight / controller / config / yangjmxgenerator / plugin / ftl / AbstractFactoryTemplate.java
index b9245a497b75d991ef815a8f0bd4b24d8e6dacdc..35dc7a36007c8fb31a0ecc05239b1b8986335c07 100644 (file)
@@ -7,21 +7,22 @@
  */
 package org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl;
 
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.collect.Lists;
 import org.opendaylight.controller.config.api.DependencyResolver;
 import org.opendaylight.controller.config.api.DynamicMBeanWithInstance;
 import org.opendaylight.controller.config.api.ModuleIdentifier;
 import org.opendaylight.controller.config.api.annotations.AbstractServiceInterface;
 import org.opendaylight.controller.config.spi.Module;
 import org.opendaylight.controller.config.spi.ModuleFactory;
+import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Constructor;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Field;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Header;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.MethodDefinition;
+import org.osgi.framework.BundleContext;
 
-import com.google.common.collect.Lists;
+import java.util.Collections;
+import java.util.List;
 
 /**
  *
@@ -33,11 +34,12 @@ public class AbstractFactoryTemplate extends GeneralClassTemplate {
 
     private final String globallyUniqueName, moduleInstanceType;
     private final List<String> providedServices;
+    private final ModuleMXBeanEntry mbe;
 
     public AbstractFactoryTemplate(Header header, String packageName,
-            String abstractFactoryName, String globallyUniqueName,
-            String moduleInstanceType, List<Field> fields,
-            List<String> providedServices) {
+                                   String abstractFactoryName, String globallyUniqueName,
+                                   String moduleInstanceType, List<Field> fields,
+                                   List<String> providedServices, ModuleMXBeanEntry mbe) {
         super(header, packageName, abstractFactoryName, Collections
                 .<String> emptyList(), implementedIfcs, fields, Collections
                 .<MethodDefinition> emptyList(), true, false, Collections
@@ -45,6 +47,7 @@ public class AbstractFactoryTemplate extends GeneralClassTemplate {
         this.globallyUniqueName = globallyUniqueName;
         this.moduleInstanceType = moduleInstanceType;
         this.providedServices = providedServices;
+        this.mbe = mbe;
     }
 
     public String getGloballyUniqueName() {
@@ -83,9 +86,16 @@ public class AbstractFactoryTemplate extends GeneralClassTemplate {
         return DynamicMBeanWithInstance.class.getCanonicalName();
     }
 
+    public String getBundleContextType() {
+        return BundleContext.class.getCanonicalName();
+    }
+
     @Override
     public String getFtlTempleteLocation() {
         return "factory_abs_template.ftl";
     }
 
+    public ModuleMXBeanEntry getMbe() {
+        return mbe;
+    }
 }