X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fosgi%2FBeanToOsgiServiceManager.java;h=3d93a9df7dee72bb450af215bd7dea97f24199a5;hp=67475dacf86dde967fbf1877d5892678836a0d28;hb=f2ea11b45c819121a3d6fb8914172148ac3994a3;hpb=ed6019236d78a69577888f60064c3714eaa80f6a diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java index 67475dacf8..3d93a9df7d 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/BeanToOsgiServiceManager.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.config.manager.impl.osgi; import static com.google.common.base.Preconditions.checkState; - import java.util.Dictionary; import java.util.HashSet; import java.util.Hashtable; @@ -72,7 +71,14 @@ public class BeanToOsgiServiceManager { Map serviceNamesToAnnotations) { Set> serviceRegistrations = new HashSet<>(); for (Entry entry : serviceNamesToAnnotations.entrySet()) { - Class requiredInterface = entry.getKey().osgiRegistrationType(); + ServiceInterfaceAnnotation annotation = entry.getKey(); + Class requiredInterface = annotation.osgiRegistrationType(); + + if(!annotation.registerToOsgi()) { + LOG.debug("registerToOsgi for service interface {} is false - not registering", requiredInterface); + continue; + } + checkState(requiredInterface.isInstance(instance), instance.getClass().getName() + " instance should implement " + requiredInterface.getName()); Dictionary propertiesForOsgi = createProps(entry.getValue());