X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2FClassBasedModuleFactory.java;h=451d85f7805030ee363554ea3b007e455914133c;hp=f0ad562940b2e6a7fa1c3b266c6f9e3feeedf82f;hb=cbcc2b61265e903959f11d44c292771e76b3926e;hpb=2c6fd09ad16f5c2968390a674865efbbe5f1fcec diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/ClassBasedModuleFactory.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/ClassBasedModuleFactory.java index f0ad562940..451d85f780 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/ClassBasedModuleFactory.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/ClassBasedModuleFactory.java @@ -7,23 +7,22 @@ */ package org.opendaylight.controller.config.manager.impl; +import com.google.common.base.Preconditions; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; - import org.opendaylight.controller.config.api.DependencyResolver; import org.opendaylight.controller.config.api.DependencyResolverFactory; 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.manager.impl.util.InterfacesHelper; import org.opendaylight.controller.config.spi.Module; import org.opendaylight.controller.config.spi.ModuleFactory; - -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; +import org.osgi.framework.BundleContext; /** * Creates new modules by reflection. Provided class must have this constructor: @@ -43,8 +42,8 @@ public class ClassBasedModuleFactory implements ModuleFactory { * This class must implement Module interface and all exported * interfaces. */ - public ClassBasedModuleFactory(String implementationName, - Class configBeanClass) { + public ClassBasedModuleFactory(final String implementationName, + final Class configBeanClass) { this.implementationName = implementationName; this.configBeanClass = configBeanClass; } @@ -55,20 +54,20 @@ public class ClassBasedModuleFactory implements ModuleFactory { } @Override - public Module createModule(String instanceName, - DependencyResolver dependencyResolver, DynamicMBeanWithInstance old) + public Module createModule(final String instanceName, + final DependencyResolver dependencyResolver, final DynamicMBeanWithInstance old, final BundleContext bundleContext) throws Exception { Preconditions.checkNotNull(old); return constructModule(instanceName, dependencyResolver, old); } - private Module constructModule(String instanceName, DependencyResolver dependencyResolver, DynamicMBeanWithInstance old) throws InstantiationException, IllegalAccessException, InvocationTargetException { + private Module constructModule(final String instanceName, final DependencyResolver dependencyResolver, final DynamicMBeanWithInstance old) throws InstantiationException, IllegalAccessException, InvocationTargetException { Preconditions.checkNotNull(dependencyResolver); ModuleIdentifier moduleIdentifier = new ModuleIdentifier(implementationName, instanceName); Constructor declaredConstructor; try { declaredConstructor = configBeanClass.getDeclaredConstructor(DynamicMBeanWithInstance.class, ModuleIdentifier.class); - } catch (NoSuchMethodException e) { + } catch (final NoSuchMethodException e) { throw new IllegalStateException( "Did not find constructor with parameters (DynamicMBeanWithInstance) in " + configBeanClass, e); @@ -78,8 +77,8 @@ public class ClassBasedModuleFactory implements ModuleFactory { } @Override - public Module createModule(String instanceName, - DependencyResolver dependencyResolver) { + public Module createModule(final String instanceName, + final DependencyResolver dependencyResolver, final BundleContext bundleContext) { try { return constructModule(instanceName, dependencyResolver, null); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { @@ -89,7 +88,7 @@ public class ClassBasedModuleFactory implements ModuleFactory { @Override public boolean isModuleImplementingServiceInterface( - Class serviceInterface) { + final Class serviceInterface) { Class[] classes = configBeanClass.getInterfaces(); List> ifc = Arrays.asList(classes); if (ifc.contains(serviceInterface)) { @@ -105,7 +104,12 @@ public class ClassBasedModuleFactory implements ModuleFactory { } @Override - public Set getDefaultModules(DependencyResolverFactory dependencyResolverFactory) { - return new HashSet(); + public Set getDefaultModules(final DependencyResolverFactory dependencyResolverFactory, final BundleContext bundleContext) { + return new HashSet<>(); + } + + @Override + public Set> getImplementedServiceIntefaces() { + return InterfacesHelper.getAllAbstractServiceClasses(configBeanClass); } }