From: Robert Varga Date: Sun, 9 Mar 2014 18:48:01 +0000 (+0100) Subject: Use ObjectRegistration instead of Registration X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~334^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=14e8d743c943ad12db055bd857e2e63daa9cecf3 Use ObjectRegistration instead of Registration Registration is becoming a generic concept, not tied to a particular object. ObjectRegistration succeeds it for uses where you need to a getInstance() object to get the associated object back. Migrate to using that to get rid of deprecation warnings. Drive-by: - fix raw type use of ServiceRegistration Change-Id: Ieaf77ab25e5b284a39fa9a6da7b3b101eb3b9e46 Signed-off-by: Robert Varga --- diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java index 90131fee98..c075b09df7 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java @@ -18,7 +18,7 @@ import org.opendaylight.controller.config.manager.impl.jmx.ConfigRegistryJMXRegi import org.opendaylight.controller.config.manager.impl.osgi.mapping.ModuleInfoBundleTracker; import org.opendaylight.controller.config.manager.impl.osgi.mapping.RuntimeGeneratedMappingServiceActivator; import org.opendaylight.controller.config.spi.ModuleFactory; -import org.opendaylight.yangtools.concepts.Registration; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; import org.opendaylight.yangtools.yang.data.impl.codec.CodecRegistry; import org.osgi.framework.BundleActivator; @@ -31,13 +31,11 @@ import org.slf4j.LoggerFactory; public class ConfigManagerActivator implements BundleActivator { private static final Logger logger = LoggerFactory.getLogger(ConfigManagerActivator.class); - private ExtensibleBundleTracker>> bundleTracker; + private final MBeanServer configMBeanServer = ManagementFactory.getPlatformMBeanServer(); + private ExtensibleBundleTracker>> bundleTracker; private ConfigRegistryImpl configRegistry; private ConfigRegistryJMXRegistrator configRegistryJMXRegistrator; private ServiceRegistration configRegistryServiceRegistration; - - private final MBeanServer configMBeanServer = ManagementFactory.getPlatformMBeanServer(); - private RuntimeGeneratedMappingServiceActivator mappingServiceActivator; @Override diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/mapping/ModuleInfoBundleTracker.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/mapping/ModuleInfoBundleTracker.java index a8fdfda7d7..7680f72612 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/mapping/ModuleInfoBundleTracker.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/mapping/ModuleInfoBundleTracker.java @@ -7,8 +7,16 @@ */ package org.opendaylight.controller.config.manager.impl.osgi.mapping; +import static java.lang.String.format; + +import java.io.InputStream; +import java.net.URL; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; + import org.apache.commons.io.IOUtils; -import org.opendaylight.yangtools.concepts.Registration; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy; import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext; import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider; @@ -19,39 +27,31 @@ import org.osgi.util.tracker.BundleTrackerCustomizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.InputStream; -import java.net.URL; -import java.util.Collection; -import java.util.LinkedList; -import java.util.List; - -import static java.lang.String.format; - /** * Tracks bundles and attempts to retrieve YangModuleInfo. */ -public final class ModuleInfoBundleTracker implements BundleTrackerCustomizer>> { +public final class ModuleInfoBundleTracker implements BundleTrackerCustomizer>> { private static final Logger logger = LoggerFactory.getLogger(ModuleInfoBundleTracker.class); public static final String GET_MODULE_INFO_METHOD = "getModuleInfo"; public static final String MODULE_INFO_PROVIDER_PATH_PREFIX = "META-INF/services/"; - private ModuleInfoBackedContext moduleInfoLoadingStrategy = ModuleInfoBackedContext.create(); + private final ModuleInfoBackedContext moduleInfoLoadingStrategy = ModuleInfoBackedContext.create(); public GeneratedClassLoadingStrategy getModuleInfoLoadingStrategy() { return moduleInfoLoadingStrategy; } @Override - public Collection> addingBundle(Bundle bundle, BundleEvent event) { + public Collection> addingBundle(Bundle bundle, BundleEvent event) { URL resource = bundle.getEntry(MODULE_INFO_PROVIDER_PATH_PREFIX + YangModelBindingProvider.class.getName()); if(resource==null) { return null; } - List> registrations = new LinkedList<>(); + List> registrations = new LinkedList<>(); try (InputStream inputStream = resource.openStream()) { List lines = IOUtils.readLines(inputStream); @@ -70,17 +70,17 @@ public final class ModuleInfoBundleTracker implements BundleTrackerCustomizer> object) { + public void modifiedBundle(Bundle bundle, BundleEvent event, Collection> object) { // NOOP } @Override - public void removedBundle(Bundle bundle, BundleEvent event, Collection> regs) { + public void removedBundle(Bundle bundle, BundleEvent event, Collection> regs) { if(regs == null) { return; } - for (Registration reg : regs) { + for (ObjectRegistration reg : regs) { try { reg.close(); } catch (Exception e) {