Author: rombert Date: Tue Oct 13 12:10:34 2015 New Revision: 1708362 URL: http://svn.apache.org/viewvc?rev=1708362&view=rev Log: SLING-5139 - Better return type for PluginLoggerRegistrar
Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/PluginLoggerRegistrar.java sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/Activator.java sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/Activator.java sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/Activator.java Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/PluginLoggerRegistrar.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/PluginLoggerRegistrar.java?rev=1708362&r1=1708361&r2=1708362&view=diff ============================================================================== --- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/PluginLoggerRegistrar.java (original) +++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/PluginLoggerRegistrar.java Tue Oct 13 12:10:34 2015 @@ -39,12 +39,17 @@ public class PluginLoggerRegistrar { * @param plugin the plugin to register for * @return the service registration */ - public static ServiceRegistration<?> register(Plugin plugin) { + public static ServiceRegistration<Logger> register(Plugin plugin) { Dictionary<String, Object> props = new Hashtable<>(); props.put(DebugOptions.LISTENER_SYMBOLICNAME, plugin.getBundle().getSymbolicName()); BundleContext ctx = plugin.getBundle().getBundleContext(); - return ctx.registerService(new String[] { DebugOptionsListener.class.getName(), Logger.class.getName() }, + + // safe to downcast since we are registering the Tracer which implements Logger + @SuppressWarnings("unchecked") + ServiceRegistration<Logger> serviceRegistration = (ServiceRegistration<Logger>) ctx.registerService(new String[] { DebugOptionsListener.class.getName(), Logger.class.getName() }, new Tracer(plugin), props); + + return serviceRegistration; } } Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java?rev=1708362&r1=1708361&r2=1708362&view=diff ============================================================================== --- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java (original) +++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java Tue Oct 13 12:10:34 2015 @@ -31,7 +31,6 @@ import org.apache.sling.ide.transport.Co import org.apache.sling.ide.transport.RepositoryFactory; import org.eclipse.core.runtime.Plugin; import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; import org.osgi.service.event.Event; import org.osgi.service.event.EventAdmin; @@ -59,10 +58,10 @@ public class Activator extends Plugin { private ServiceTracker<FilterLocator, FilterLocator> filterLocator; private ServiceTracker<OsgiClientFactory, OsgiClientFactory> osgiClientFactory; private ServiceTracker<EmbeddedArtifactLocator, EmbeddedArtifactLocator> artifactLocator; - private ServiceTracker<?, ?> tracer; + private ServiceTracker<Logger, Logger> tracer; private ServiceTracker<BatcherFactory, BatcherFactory> batcherFactoryLocator; - private ServiceRegistration<?> tracerRegistration; + private ServiceRegistration<Logger> tracerRegistration; public void start(BundleContext context) throws Exception { super.start(context); @@ -90,9 +89,7 @@ public class Activator extends Plugin { artifactLocator = new ServiceTracker<>(context, EmbeddedArtifactLocator.class, null); artifactLocator.open(); - // ugh - ServiceReference<Object> reference = (ServiceReference<Object>) tracerRegistration.getReference(); - tracer = new ServiceTracker<>(context, reference, null); + tracer = new ServiceTracker<>(context, tracerRegistration.getReference(), null); tracer.open(); batcherFactoryLocator = new ServiceTracker<>(context, BatcherFactory.class, null); Modified: sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/Activator.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/Activator.java?rev=1708362&r1=1708361&r2=1708362&view=diff ============================================================================== --- sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/Activator.java (original) +++ sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/Activator.java Tue Oct 13 12:10:34 2015 @@ -23,7 +23,6 @@ import org.apache.sling.ide.log.Logger; import org.apache.sling.ide.osgi.OsgiClientFactory; import org.eclipse.core.runtime.Plugin; import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; import org.osgi.util.tracker.ServiceTracker; @@ -35,8 +34,8 @@ public class Activator extends Plugin { private ServiceTracker<EmbeddedArtifactLocator, EmbeddedArtifactLocator> artifactLocator; private ServiceTracker<OsgiClientFactory, OsgiClientFactory> osgiClientFactory; - private ServiceRegistration<?> tracerRegistration; - private ServiceTracker<Object, Object> tracer; + private ServiceRegistration<Logger> tracerRegistration; + private ServiceTracker<Logger, Logger> tracer; public static Activator getDefault() { return INSTANCE; @@ -57,9 +56,7 @@ public class Activator extends Plugin { tracerRegistration = PluginLoggerRegistrar.register(this); - // ugh - ServiceReference<Object> reference = (ServiceReference<Object>) tracerRegistration.getReference(); - tracer = new ServiceTracker<>(context, reference, null); + tracer = new ServiceTracker<>(context, tracerRegistration.getReference(), null); tracer.open(); } Modified: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/Activator.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/Activator.java?rev=1708362&r1=1708361&r2=1708362&view=diff ============================================================================== --- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/Activator.java (original) +++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/Activator.java Tue Oct 13 12:10:34 2015 @@ -25,7 +25,6 @@ import org.apache.sling.ide.osgi.OsgiCli import org.apache.sling.ide.serialization.SerializationManager; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; import org.osgi.service.event.EventAdmin; import org.osgi.util.tracker.ServiceTracker; @@ -40,9 +39,9 @@ public class Activator extends AbstractU private ServiceTracker<EventAdmin, EventAdmin> eventAdmin; private ServiceTracker<EmbeddedArtifactLocator, EmbeddedArtifactLocator> artifactLocator; private ServiceTracker<OsgiClientFactory, OsgiClientFactory> osgiClientFactory; - private ServiceTracker<Object, Object> tracer; + private ServiceTracker<Logger, Logger> tracer; - private ServiceRegistration<?> tracerRegistration; + private ServiceRegistration<Logger> tracerRegistration; public static Activator getDefault() { @@ -72,9 +71,7 @@ public class Activator extends AbstractU null); osgiClientFactory.open(); - // ugh - ServiceReference<Object> reference = (ServiceReference<Object>) tracerRegistration.getReference(); - tracer = new ServiceTracker<>(context, reference, null); + tracer = new ServiceTracker<>(context, tracerRegistration.getReference(), null); tracer.open(); INSTANCE = this; Modified: sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/Activator.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/Activator.java?rev=1708362&r1=1708361&r2=1708362&view=diff ============================================================================== --- sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/Activator.java (original) +++ sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/Activator.java Tue Oct 13 12:10:34 2015 @@ -21,7 +21,6 @@ import org.apache.sling.ide.eclipse.core import org.apache.sling.ide.log.Logger; import org.eclipse.core.runtime.Plugin; import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; import org.osgi.util.tracker.ServiceTracker; @@ -41,9 +40,9 @@ public class Activator extends Plugin { // The shared instance private static Activator plugin; - private ServiceTracker<?, ?> tracer; + private ServiceTracker<Logger, Logger> tracer; - private ServiceRegistration<?> tracerRegistration; + private ServiceRegistration<Logger> tracerRegistration; public void start(BundleContext context) throws Exception { super.start(context); @@ -51,9 +50,7 @@ public class Activator extends Plugin { tracerRegistration = PluginLoggerRegistrar.register(this); - // ugh - ServiceReference<Object> reference = (ServiceReference<Object>) tracerRegistration.getReference(); - tracer = new ServiceTracker<>(context, reference, null); + tracer = new ServiceTracker<>(context, tracerRegistration.getReference(), null); tracer.open(); }