You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2015/01/30 16:48:24 UTC

svn commit: r1656039 [1/2] - in /felix/sandbox/pderop/dependencymanager: org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ org.apache.felix.dependency...

Author: marrs
Date: Fri Jan 30 15:48:23 2015
New Revision: 1656039

URL: http://svn.apache.org/r1656039
Log:
Removed a lot of compiler warnings. Introduced generics. Fixed an issue where a class from a private package was used in our public API. Other small fixes. Some work still to do on ServiceTracker.

Added:
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java
Removed:
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/Logger.java
Modified:
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AdapterFilterIndex.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AspectFilterIndex.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptor.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptorBase.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/FilterIndexBundleContext.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/ServiceRegistryCache.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/Filter.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/MultiPropertyFilterIndex.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/Property.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/metatype/MetaTypeProviderImpl.java
    felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/test/test/SerialExecutorTest.java

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java Fri Jan 30 15:48:23 2015
@@ -22,7 +22,6 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 
 import org.junit.Assert;
-
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.itest.util.Ensure;
@@ -83,10 +82,8 @@ public class AdapterWithoutPropagationTe
     }
     
     static class ServiceProvider implements OriginalService {
-        private final Ensure m_ensure;
         private volatile ServiceRegistration m_registration; // auto injected when started.
         public ServiceProvider(Ensure e) {
-            m_ensure = e;
         }
         public void changeServiceProperties() {
             Hashtable<String, String> props = new Hashtable<>();
@@ -96,7 +93,6 @@ public class AdapterWithoutPropagationTe
     }
     
     public static class ServiceAdapter implements AdaptedService {
-        private volatile OriginalService m_originalService;
         private final Ensure m_ensure;
         
         public ServiceAdapter(Ensure e) {
@@ -104,7 +100,6 @@ public class AdapterWithoutPropagationTe
         }
 
         public void set(OriginalService adaptee, Dictionary<String, String> props) {
-            m_originalService = adaptee;
             Assert.assertEquals("bar", props.get("foo"));
             m_ensure.step(1);
         }
@@ -116,7 +111,8 @@ public class AdapterWithoutPropagationTe
     }
 
     static class ServiceConsumer {
-        private volatile AdaptedService m_service;
+        @SuppressWarnings("unused")
+		private volatile AdaptedService m_service;
         private final Ensure m_ensure;
         
         public ServiceConsumer(Ensure e) {

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java Fri Jan 30 15:48:23 2015
@@ -20,26 +20,14 @@ package org.apache.felix.dm.itest.api;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
 
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
 
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
 public class FELIX2348_ResourceAdapterTest extends TestBase {
     public void testBasicResourceAdapter() throws Exception {
         DependencyManager m = getDM();
@@ -67,7 +55,7 @@ public class FELIX2348_ResourceAdapterTe
             Assert.assertNotNull("resource not injected", m_resource);
             m_ensure.step(2);
             try {
-                InputStream in = m_resource.openStream();
+                m_resource.openStream();
             } 
             catch (FileNotFoundException e) {
                 m_ensure.step(3);

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java Fri Jan 30 15:48:23 2015
@@ -24,25 +24,14 @@ package org.apache.felix.dm.itest.api;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
 
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
 
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes"})
 public class FilterIndexResourceAdapterTest extends TestBase {
   public void testBasicResourceAdapter() throws Exception {
       System.setProperty("org.apache.felix.dependencymanager.filterindex", "objectClass");

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java Fri Jan 30 15:48:23 2015
@@ -18,12 +18,7 @@
  */
 package org.apache.felix.dm.itest.api;
 
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.Assert;
 
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.ComponentState;
@@ -31,15 +26,9 @@ import org.apache.felix.dm.ComponentStat
 import org.apache.felix.dm.Dependency;
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
 
-@SuppressWarnings({"deprecation", "unused"})
 public class ResourceAdapterDependencyAddAndRemoveTest extends TestBase {
     public void testBasicResourceAdapter() throws Exception {
         DependencyManager m = getDM();
@@ -98,10 +87,8 @@ public class ResourceAdapterDependencyAd
     
     static class ResourceAdapter {
         protected URL m_resource; // injected by reflection.
-        private Ensure m_ensure;
         
         ResourceAdapter(Ensure e) {
-            m_ensure = e;
         }
     }
         
@@ -110,9 +97,7 @@ public class ResourceAdapterDependencyAd
     }
 
     static class ServiceProvider implements ServiceInterface {
-        private final Ensure m_ensure;
         public ServiceProvider(Ensure e) {
-            m_ensure = e;
         }
         public void invoke() {
         }

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java Fri Jan 30 15:48:23 2015
@@ -18,14 +18,8 @@
  */
 package org.apache.felix.dm.itest.api;
 
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
 import java.util.Hashtable;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
 
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.ComponentState;
@@ -33,15 +27,9 @@ import org.apache.felix.dm.ComponentStat
 import org.apache.felix.dm.Dependency;
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
 
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
 public class ResourceAdapterDependencyAddAndRemoveTest2 extends TestBase {
     public void testBasicResourceAdapter() throws Exception {
         DependencyManager m = getDM();
@@ -50,14 +38,14 @@ public class ResourceAdapterDependencyAd
         // create a resource provider
         ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
         // activate it
-        Hashtable props = new Hashtable();
+        Hashtable<String, String> props = new Hashtable<String, String>();
         props.put("id", "1");
         m.add(m.createComponent()
             .setInterface(ServiceInterface.class.getName(), props)
             .setImplementation(new ServiceProvider(e))
         );
         
-        props = new Hashtable();
+        props = new Hashtable<String, String>();
         props.put("id", "2");
         m.add(m.createComponent()
             .setInterface(ServiceInterface.class.getName(), props)
@@ -97,11 +85,9 @@ public class ResourceAdapterDependencyAd
     
     static class ResourceAdapter {
         protected URL m_resource; // injected by reflection.
-        private Ensure m_ensure;
         final Dependency m_dependency;
         
         ResourceAdapter(Ensure e, Dependency d) {
-            m_ensure = e;
             m_dependency = d;
         }
     }
@@ -111,16 +97,13 @@ public class ResourceAdapterDependencyAd
     }
 
     static class ServiceProvider implements ServiceInterface {
-        private final Ensure m_ensure;
         public ServiceProvider(Ensure e) {
-            m_ensure = e;
         }
         public void invoke() {
         }
     }    
     
     static class CallbackInstance {
-        
         private final Ensure m_ensure;
         private final Dependency m_dependency;
         
@@ -161,10 +144,7 @@ public class ResourceAdapterDependencyAd
     }
     
     static class ComponentStateListenerImpl implements ComponentStateListener {
-        private final Ensure m_ensure;
-        
         public ComponentStateListenerImpl(Ensure e) {
-            this.m_ensure = e;
         }
 
         @Override

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java Fri Jan 30 15:48:23 2015
@@ -20,26 +20,14 @@ package org.apache.felix.dm.itest.api;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
 
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
 
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
 public class ResourceAdapterTest extends TestBase {
     public void testBasicResourceAdapter() throws Exception {
         DependencyManager m = getDM();
@@ -76,7 +64,7 @@ public class ResourceAdapterTest extends
             Assert.assertNotNull("resource not injected", m_resource);
             m_ensure.step(2);
             try {
-                InputStream in = m_resource.openStream();
+                m_resource.openStream();
             } 
             catch (FileNotFoundException e) {
                 m_ensure.step(3);

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java Fri Jan 30 15:48:23 2015
@@ -23,24 +23,14 @@ import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
 
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
 
-@SuppressWarnings({"deprecation", "rawtypes", "unused"})
 public class ResourceDependencyTest extends TestBase {
     public void testResourceDependency() throws MalformedURLException {
         DependencyManager m = getDM();

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java Fri Jan 30 15:48:23 2015
@@ -23,7 +23,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.junit.Assert;
-
 import org.apache.felix.dm.ResourceHandler;
 import org.apache.felix.dm.ResourceUtil;
 import org.osgi.framework.BundleContext;
@@ -47,7 +46,8 @@ class ResourceProvider {
         }    	
     }
     
-    public void change(int resourceIndex) {
+    @SuppressWarnings("deprecation")
+	public void change(int resourceIndex) {
         Map<ResourceHandler, Filter> handlers = new HashMap<>();
         synchronized (m_handlers) {
             handlers.putAll(m_handlers);
@@ -61,7 +61,8 @@ class ResourceProvider {
         }
     }
 
-    public void add(ServiceReference ref, ResourceHandler handler) {
+    @SuppressWarnings("deprecation")
+	public void add(ServiceReference ref, ResourceHandler handler) {
         String filterString = (String) ref.getProperty("filter");
         Filter filter = null;
         if (filterString != null) {
@@ -93,7 +94,8 @@ class ResourceProvider {
         }
     }
 
-    private void removeResources(ResourceHandler handler, Filter filter) {
+    @SuppressWarnings("deprecation")
+	private void removeResources(ResourceHandler handler, Filter filter) {
             for (int i = 0; i < m_resources.length; i++) {
                 if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
                     handler.removed(m_resources[i]);

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java Fri Jan 30 15:48:23 2015
@@ -18,30 +18,18 @@
  */
 package org.apache.felix.dm.itest.api;
 
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Dictionary;
 import java.util.Enumeration;
-import java.util.HashMap;
 import java.util.Hashtable;
-import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Properties;
 
-import org.junit.Assert;
-
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
 import org.apache.felix.dm.itest.util.Ensure;
 import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
 
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes"})
 public class ServiceUpdateTest extends TestBase {
     public void testServiceUpdate() throws Exception {
         final DependencyManager m = getDM();
@@ -71,7 +59,7 @@ public class ServiceUpdateTest extends T
         // note that we can provide an actual implementation instance here because there will be only one
         // adapter, normally you'd want to specify a Class here
         CallbackInstance callbackInstance = new CallbackInstance(e);
-        Hashtable serviceProps = new Hashtable();
+        Hashtable<String, String> serviceProps = new Hashtable<String, String>();
         serviceProps.put("number", "1");
         Component component = m.createResourceAdapterService("(&(path=/path/to/*.txt)(host=localhost))", false, callbackInstance, "changed")
             .setImplementation(new ResourceAdapter(e))
@@ -150,11 +138,11 @@ public class ServiceUpdateTest extends T
             
             Properties newProps = new Properties();
             // update the component's service properties
-            Dictionary dict = component.getServiceProperties();
-            Enumeration e = dict.keys();
+            Dictionary<String, String> dict = component.getServiceProperties();
+            Enumeration<String> e = dict.keys();
             while (e.hasMoreElements()) {
-                String key = (String) e.nextElement();
-                String value = (String) dict.get(key);
+                String key = e.nextElement();
+                String value = dict.get(key);
                 newProps.setProperty(key, value);
             }
             newProps.setProperty("new-property", "2");

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java Fri Jan 30 15:48:23 2015
@@ -27,12 +27,11 @@ import java.util.List;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.Dependency;
 import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.runtime.api.ComponentFactory;
 import org.apache.felix.dm.runtime.api.ComponentInstance;
 import org.osgi.framework.Bundle;
 
 /**
- * Implemantation for our DM Runtime ComponentInstance.
+ * Implementation for our DM Runtime ComponentInstance.
  * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java Fri Jan 30 15:48:23 2015
@@ -40,8 +40,6 @@ public class Activator implements Bundle
     private final static String DEFAULT_SCOPE = "dependencymanager";
 
     public void start(BundleContext context) throws Exception {
-        // Provide DependencyManager shell commands for the Gogo Shell.
-        
         String scope = context.getProperty(SCOPE);
         if (scope == null) {
             scope = DEFAULT_SCOPE;

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java Fri Jan 30 15:48:23 2015
@@ -18,6 +18,11 @@
  */
 package org.apache.felix.dm.shell;
 
+/**
+ * Unique identification of a component based on its name, type and bundle name.
+ * 
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
 public class ComponentId implements Comparable<ComponentId> {
     private final String name;
     private final String type;
@@ -88,7 +93,8 @@ public class ComponentId implements Comp
     }
 
     public int compareTo(ComponentId o) {
+    	// TODO it is common to have compareTo use the same fields that equals does
+    	// if not for a good reason, document this
         return name.compareTo(o.name);
     }
-    
 }

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java Fri Jan 30 15:48:23 2015
@@ -54,7 +54,7 @@ import org.osgi.framework.InvalidSyntaxE
 @Descriptor("Commands used to dump all existing Dependency Manager components")
 public class DMCommand {
     /**
-     * Bundle context used to create OSGI filters.
+     * Bundle context used to create OSGi filters.
      */
     private final BundleContext m_context;
     
@@ -80,7 +80,7 @@ public class DMCommand {
     private final static String ENV_COMPACT = "dependencymanager.compact";
     
     /**
-     * Name of a specific gogo shell variable, which may be used to configure an OSGI filter, normally
+     * Name of a specific gogo shell variable, which may be used to configure an OSGi filter, normally
      * passed to the "dm services" option. It is used to display only some service providing components
      * matching the given filter. The filter can contain an "objectClass" option.
      * Example: 
@@ -165,149 +165,145 @@ public class DMCommand {
             
             @Descriptor("<Max number of top components to display (0=all)> This command displays components callbacks (init/start) times>") 
             @Parameter(names = {"top"}, absentValue = "-1") 
-            int top)
+            int top) throws Throwable
         {
         
-        try {
-            boolean comp = Boolean.parseBoolean(getParam(session, ENV_COMPACT, compact));
-            services = getParam(session, ENV_SERVICES, services);
-            String[] componentsRegex = getParams(session, ENV_COMPONENTS, components);
-            ArrayList<String> bids = new ArrayList<String>(); // list of bundle ids or bundle symbolic names
-            ArrayList<Long> cids = new ArrayList<Long>(); // list of component ids
-            
-            // Parse and check componentIds option
-            StringTokenizer tok = new StringTokenizer(componentIds, ", ");
-            while (tok.hasMoreTokens()) {
-                try {
-                    cids.add(Long.parseLong(tok.nextToken()));
-                } catch (NumberFormatException e) {
-                    System.out.println("Invalid value for componentIds option");
-                    return;
-                }
-            }
-
-            // Parse services fitler
-            Filter servicesFilter = null;
+        boolean comp = Boolean.parseBoolean(getParam(session, ENV_COMPACT, compact));
+        services = getParam(session, ENV_SERVICES, services);
+        String[] componentsRegex = getParams(session, ENV_COMPONENTS, components);
+        ArrayList<String> bids = new ArrayList<String>(); // list of bundle ids or bundle symbolic names
+        ArrayList<Long> cids = new ArrayList<Long>(); // list of component ids
+        
+        // Parse and check componentIds option
+        StringTokenizer tok = new StringTokenizer(componentIds, ", ");
+        while (tok.hasMoreTokens()) {
             try {
-                if (services != null) {
-                    servicesFilter = m_context.createFilter(services);
-                }
-            } catch (InvalidSyntaxException e) {
-                System.out.println("Invalid services OSGi filter: " + services);
-                e.printStackTrace(System.err);
+                cids.add(Long.parseLong(tok.nextToken()));
+            } catch (NumberFormatException e) {
+                System.out.println("Invalid value for componentIds option");
                 return;
             }
+        }
 
-            // Parse and check bundleIds option
-            tok = new StringTokenizer(bundleIds, ", ");
-            while (tok.hasMoreTokens()) {
-                bids.add(tok.nextToken());
-            }
-            
-            if (top != -1) {
-                showTopComponents(top);
-                return;
-            }
-            
-            if (wtf) {
-                wtf();
-                return;
+        // Parse services filter
+        Filter servicesFilter = null;
+        try {
+            if (services != null) {
+                servicesFilter = m_context.createFilter(services);
             }
+        } catch (InvalidSyntaxException e) {
+            System.out.println("Invalid services OSGi filter: " + services);
+            e.printStackTrace(System.err);
+            return;
+        }
 
-            // lookup all dependency manager service components
-            List<DependencyManager> managers = DependencyManager.getDependencyManagers();
-            Collections.sort(managers, SORTER);
-            Iterator<DependencyManager> iterator = managers.iterator();
-            long numberOfComponents = 0;
-            long numberOfDependencies = 0;
-            long lastBundleId = -1;
-            while (iterator.hasNext()) {
-                DependencyManager manager = iterator.next();
-                List<Component> complist = manager.getComponents();
-                Iterator<Component> componentIterator = complist.iterator();
-                while (componentIterator.hasNext()) {
-                    Component component = componentIterator.next();
-                    ComponentDeclaration sc = component.getComponentDeclaration();
-                    String name = sc.getName();
-                    // check if this component is enabled or disabled.
-                    if (!mayDisplay(component, servicesFilter, componentsRegex, cids)) {
-                        continue;
-                    }
-                    int state = sc.getState();
-                    Bundle bundle = sc.getBundleContext().getBundle();
-                    if (matchBundle(bundle, bids)) {
-                        long bundleId = bundle.getBundleId();
-                        if (notavail) {
-                            if (sc.getState() != ComponentDeclaration.STATE_UNREGISTERED) {
-                                continue;
-                            }
+        // Parse and check bundleIds option
+        tok = new StringTokenizer(bundleIds, ", ");
+        while (tok.hasMoreTokens()) {
+            bids.add(tok.nextToken());
+        }
+        
+        if (top != -1) {
+            showTopComponents(top);
+            return;
+        }
+        
+        if (wtf) {
+            wtf();
+            return;
+        }
+
+        // lookup all dependency manager service components
+        List<DependencyManager> managers = DependencyManager.getDependencyManagers();
+        Collections.sort(managers, SORTER);
+        Iterator<DependencyManager> iterator = managers.iterator();
+        long numberOfComponents = 0;
+        long numberOfDependencies = 0;
+        long lastBundleId = -1;
+        while (iterator.hasNext()) {
+            DependencyManager manager = iterator.next();
+            List<Component> complist = manager.getComponents();
+            Iterator<Component> componentIterator = complist.iterator();
+            while (componentIterator.hasNext()) {
+                Component component = componentIterator.next();
+                ComponentDeclaration sc = component.getComponentDeclaration();
+                String name = sc.getName();
+                // check if this component is enabled or disabled.
+                if (!mayDisplay(component, servicesFilter, componentsRegex, cids)) {
+                    continue;
+                }
+                int state = sc.getState();
+                Bundle bundle = sc.getBundleContext().getBundle();
+                if (matchBundle(bundle, bids)) {
+                    long bundleId = bundle.getBundleId();
+                    if (notavail) {
+                        if (sc.getState() != ComponentDeclaration.STATE_UNREGISTERED) {
+                            continue;
                         }
+                    }
 
-                        numberOfComponents++;
-                        if (lastBundleId != bundleId) {
-                            lastBundleId = bundleId;
-                            if (comp) {
-                                System.out.println("[" + bundleId + "] " + compactName(bundle.getSymbolicName()));
-                            } else {
-                                System.out.println("[" + bundleId + "] " + bundle.getSymbolicName());
-                            }
-                        }
+                    numberOfComponents++;
+                    if (lastBundleId != bundleId) {
+                        lastBundleId = bundleId;
                         if (comp) {
-                            System.out.print(" [" + sc.getId() + "] " + compactName(name) + " "
-                                    + compactState(ComponentDeclaration.STATE_NAMES[state]));
+                            System.out.println("[" + bundleId + "] " + compactName(bundle.getSymbolicName()));
                         } else {
-                            System.out.println(" [" + sc.getId() + "] " + name + " "
-                                    + ComponentDeclaration.STATE_NAMES[state]);
+                            System.out.println("[" + bundleId + "] " + bundle.getSymbolicName());
                         }
-                        if (!nodeps) {
-                            ComponentDependencyDeclaration[] dependencies = sc.getComponentDependencies();
-                            if (dependencies != null && dependencies.length > 0) {
-                                numberOfDependencies += dependencies.length;
-                                if (comp) {
-                                    System.out.print('(');
-                                }
-                                for (int j = 0; j < dependencies.length; j++) {
-                                    ComponentDependencyDeclaration dep = dependencies[j];
-                                    if (notavail && !isUnavailable(dep)) {
-                                        continue;
-                                    }
-                                    String depName = dep.getName();
-                                    String depType = dep.getType();
-                                    int depState = dep.getState();
-
-                                    if (comp) {
-                                        if (j > 0) {
-                                            System.out.print(' ');
-                                        }
-                                        System.out.print(compactName(depName) + " " + compactState(depType) + " "
-                                                + compactState(ComponentDependencyDeclaration.STATE_NAMES[depState]));
-                                    } else {
-                                        System.out.println("    " + depName + " " + depType + " "
-                                                + ComponentDependencyDeclaration.STATE_NAMES[depState]);
-                                    }
+                    }
+                    if (comp) {
+                        System.out.print(" [" + sc.getId() + "] " + compactName(name) + " "
+                                + compactState(ComponentDeclaration.STATE_NAMES[state]));
+                    } else {
+                        System.out.println(" [" + sc.getId() + "] " + name + " "
+                                + ComponentDeclaration.STATE_NAMES[state]);
+                    }
+                    if (!nodeps) {
+                        ComponentDependencyDeclaration[] dependencies = sc.getComponentDependencies();
+                        if (dependencies != null && dependencies.length > 0) {
+                            numberOfDependencies += dependencies.length;
+                            if (comp) {
+                                System.out.print('(');
+                            }
+                            for (int j = 0; j < dependencies.length; j++) {
+                                ComponentDependencyDeclaration dep = dependencies[j];
+                                if (notavail && !isUnavailable(dep)) {
+                                    continue;
                                 }
+                                String depName = dep.getName();
+                                String depType = dep.getType();
+                                int depState = dep.getState();
+
                                 if (comp) {
-                                    System.out.print(')');
+                                    if (j > 0) {
+                                        System.out.print(' ');
+                                    }
+                                    System.out.print(compactName(depName) + " " + compactState(depType) + " "
+                                            + compactState(ComponentDependencyDeclaration.STATE_NAMES[depState]));
+                                } else {
+                                    System.out.println("    " + depName + " " + depType + " "
+                                            + ComponentDependencyDeclaration.STATE_NAMES[depState]);
                                 }
                             }
-                        }
-                        if (comp) {
-                            System.out.println();
+                            if (comp) {
+                                System.out.print(')');
+                            }
                         }
                     }
+                    if (comp) {
+                        System.out.println();
+                    }
                 }
             }
+        }
 
-            if (stats) {
-                System.out.println("Statistics:");
-                System.out.println(" - Dependency managers: " + managers.size());
-                System.out.println(" - Components: " + numberOfComponents);
-                if (!nodeps) {
-                    System.out.println(" - Dependencies: " + numberOfDependencies);
-                }
+        if (stats) {
+            System.out.println("Statistics:");
+            System.out.println(" - Dependency managers: " + managers.size());
+            System.out.println(" - Components: " + numberOfComponents);
+            if (!nodeps) {
+                System.out.println(" - Dependencies: " + numberOfDependencies);
             }
-        } catch (Throwable t) {
-            t.printStackTrace();
         }
     }
 
@@ -557,13 +553,14 @@ public class DMCommand {
     }
 
     public void wtf() {
-        List<ComponentDeclaration> downComponents = getDependenciesThatAreDown();
+        List<ComponentDeclaration> downComponents = getComponentsThatAreUnregistered();
         if (downComponents.isEmpty()) {
             System.out.println("No missing dependencies found.");
         }
         else {
-            System.out.println(downComponents.size() + " missing dependencies found.");
-            System.out.println("-------------------------------------");
+            String message = downComponents.size() + " missing dependencies found.";
+			System.out.println(message);
+            System.out.println("----------------------------------------------------".substring(0, message.length()));
         }
         listResolvedBundles();
         listInstalledBundles();
@@ -581,20 +578,20 @@ public class DMCommand {
         return downComponentsRoot;
     }
 
-    private List<ComponentDeclaration> getDependenciesThatAreDown() {
+    private List<ComponentDeclaration> getComponentsThatAreUnregistered() {
         List<DependencyManager> dependencyManagers = DependencyManager.getDependencyManagers();
-        List<ComponentDeclaration> downComponents = new ArrayList<ComponentDeclaration>();
+        List<ComponentDeclaration> unregisteredComponents = new ArrayList<ComponentDeclaration>();
         for (DependencyManager dm : dependencyManagers) {
             List<Component> components = dm.getComponents();
-            // first create a list of all down components
+            // create a list of all components that are unregistered
             for (Component c : components) {
                 ComponentDeclaration cd = c.getComponentDeclaration();
                 if (cd.getState() == ComponentDeclaration.STATE_UNREGISTERED) {
-                    downComponents.add(cd);
+                    unregisteredComponents.add(cd);
                 }
             }
         }
-        return downComponents;
+        return unregisteredComponents;
     }
 
     private void listResolvedBundles() {
@@ -639,10 +636,10 @@ public class DMCommand {
         return headers.get("Fragment-Host") != null;
     }
 
-    private void listAllMissingConfigurations(Set<ComponentId> downComponentsRoot) {
-        if (hasMissingType(downComponentsRoot, CONFIGURATION)) {
+    private void listAllMissingConfigurations(Set<ComponentId> unregisteredComponentsRoot) {
+        if (hasMissingType(unregisteredComponentsRoot, CONFIGURATION)) {
             System.out.println("The following configuration(s) are missing: ");
-            for (ComponentId s : downComponentsRoot) {
+            for (ComponentId s : unregisteredComponentsRoot) {
                 if (CONFIGURATION.equals(s.getType())) {
                     System.out.println(" * " + s.getName() + " for bundle " + s.getBundleName());
                 }
@@ -650,10 +647,10 @@ public class DMCommand {
         }
     }
 
-    private void listAllMissingServices(List<ComponentDeclaration> downComponents, Set<ComponentId> downComponentsRoot) {
-        if (hasMissingType(downComponentsRoot, SERVICE)) {
+    private void listAllMissingServices(List<ComponentDeclaration> downComponents, Set<ComponentId> unregisteredComponentsRoot) {
+        if (hasMissingType(unregisteredComponentsRoot, SERVICE)) {
             System.out.println("The following service(s) are missing: ");
-            for (ComponentId s : downComponentsRoot) {
+            for (ComponentId s : unregisteredComponentsRoot) {
                 if (SERVICE.equals(s.getType())) {
                     System.out.print(" * " + s.getName());
                     ComponentDeclaration component = getComponentDeclaration(s.getName(), downComponents);
@@ -685,11 +682,11 @@ public class DMCommand {
     
     private List<ComponentId> getRoot(List<ComponentDeclaration> downComponents, ComponentDeclaration c, List<ComponentId> backTrace) {
         ComponentDependencyDeclaration[] componentDependencies = c.getComponentDependencies();
-        int downDeps = 0;
+        int unregisteredDeps = 0;
         List<ComponentId> result = new ArrayList<ComponentId>();
         for (ComponentDependencyDeclaration cdd : componentDependencies) {
             if (cdd.getState() == ComponentDependencyDeclaration.STATE_UNAVAILABLE_REQUIRED) {
-                downDeps++;
+                unregisteredDeps++;
                 // Detect missing configuration dependency
                 if (CONFIGURATION.equals(cdd.getType())) {
                     String bsn = c.getBundleContext().getBundle().getSymbolicName();
@@ -706,7 +703,7 @@ public class DMCommand {
                 // Detect circular dependency
                 ComponentId componentId = new ComponentId(cdd.getName(), cdd.getType(), null);
                 if (backTrace.contains(componentId)) {
-                    // We already got this one so its a circular dependency
+                    // We already got this one so it's a circular dependency
                     System.out.print("Circular dependency found:\n *");
                     for (ComponentId cid : backTrace) {
                         System.out.print(" -> " + cid.getName() + " ");
@@ -719,7 +716,7 @@ public class DMCommand {
                 return getRoot(downComponents, component, backTrace);
             }
         }
-        if (downDeps > 0 && result.isEmpty()) {
+        if (unregisteredDeps > 0 && result.isEmpty()) {
             result.add(new ComponentId(c.getName(), SERVICE, c.getBundleContext().getBundle().getSymbolicName()));
         }
         return result;

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java Fri Jan 30 15:48:23 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.felix.dm;
 
-import org.apache.felix.dm.impl.Logger;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java Fri Jan 30 15:48:23 2015
@@ -35,7 +35,6 @@ import org.apache.felix.dm.impl.Componen
 import org.apache.felix.dm.impl.ComponentScheduler;
 import org.apache.felix.dm.impl.ConfigurationDependencyImpl;
 import org.apache.felix.dm.impl.FactoryConfigurationAdapterImpl;
-import org.apache.felix.dm.impl.Logger;
 import org.apache.felix.dm.impl.ResourceAdapterImpl;
 import org.apache.felix.dm.impl.ResourceDependencyImpl;
 import org.apache.felix.dm.impl.ServiceDependencyImpl;

Added: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java?rev=1656039&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java (added)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java Fri Jan 30 15:48:23 2015
@@ -0,0 +1,321 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.felix.dm;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.apache.felix.dm.context.Log;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogService;
+
+/**
+ * This class mimics the standard OSGi <tt>LogService</tt> interface. An
+ * instance of this class is used by the dependency manager for all logging. 
+ * By default this class logs messages to standard out. The log level can be set to
+ * control the amount of logging performed, where a higher number results in
+ * more logging. A log level of zero turns off logging completely.
+ * 
+ * The log levels match those specified in the OSGi Log Service.
+ * This class also tracks log services and will use the highest ranking 
+ * log service, if present, as a back end instead of printing to standard
+ * out. The class uses reflection to invoking the log service's method to 
+ * avoid a dependency on the log interface, which is also why it does not
+ * actually implement <code>LogService</code>. This class is in many ways 
+ * similar to the one used in the system bundle for that same purpose.
+ *
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
+public class Logger implements ServiceListener, Log {
+	private static final String LOG_SINGLE_CONTEXT = "org.apache.felix.dependencymanager.singleContextLog";
+    public static final int LOG_ERROR = 1;
+    public static final int LOG_WARNING = 2;
+    public static final int LOG_INFO = 3;
+    public static final int LOG_DEBUG = 4;
+
+    private final BundleContext m_context;
+
+    private final static int LOGGER_OBJECT_IDX = 0;
+    private final static int LOGGER_METHOD_IDX = 1;
+    private static final String ENABLED_LOG_LEVEL = "org.apache.felix.dependencymanager.loglevel";
+    private ServiceReference m_logRef = null;
+    private Object[] m_logger = null;
+    private int m_enabledLevel = LogService.LOG_WARNING;
+    private String m_debugKey;
+
+    public Logger(BundleContext context) {
+    	if ("true".equals(System.getProperty(LOG_SINGLE_CONTEXT))) {
+    		m_context = FrameworkUtil.getBundle(DependencyManager.class).getBundleContext();
+    	} else {
+    		m_context = context;
+    	}
+		if (m_context != null) {
+		    String enabledLevel = m_context.getProperty(ENABLED_LOG_LEVEL);
+		    if (enabledLevel != null) {
+		        try {
+		            m_enabledLevel = Integer.valueOf(enabledLevel);
+		        } catch (NumberFormatException e) {}
+		    }
+		    startListeningForLogService();
+		}
+    }
+    
+    public final void log(int level, String msg) {
+        _log(null, level, msg, null);
+    }
+
+    public final void log(int level, String msg, Throwable throwable) {
+        _log(null, level, msg, throwable);
+    }
+
+    public final void log(ServiceReference sr, int level, String msg) {
+        _log(sr, level, msg, null);
+    }
+
+    public final void log(ServiceReference sr, int level, String msg, Throwable throwable) {
+        _log(sr, level, msg, throwable);
+    }
+
+    protected void doLog(ServiceReference sr, int level, String msg, Throwable throwable) {
+        String s = (sr == null) ? null : "SvcRef " + sr;
+        s = (s == null) ? msg : s + " " + msg;
+        s = (throwable == null) ? s : s + " (" + throwable + ")";
+        switch (level) {
+            case LOG_DEBUG:
+                System.out.println("DEBUG: " + s);
+                break;
+            case LOG_ERROR:
+                System.out.println("ERROR: " + s);
+                if (throwable != null) {
+                    if ((throwable instanceof BundleException) && (((BundleException) throwable).getNestedException() != null)) {
+                        throwable = ((BundleException) throwable).getNestedException();
+                    }
+                    throwable.printStackTrace();
+                }
+                break;
+            case LOG_INFO:
+                System.out.println("INFO: " + s);
+                break;
+            case LOG_WARNING:
+                System.out.println("WARNING: " + s);
+                break;
+            default:
+                System.out.println("UNKNOWN[" + level + "]: " + s);
+        }
+    }
+
+    private void _log(ServiceReference sr, int level, String msg, Throwable throwable) {
+        if (level <= m_enabledLevel) {
+            StringBuilder sb = new StringBuilder("[");
+            if (m_debugKey != null) {
+                sb.append(m_debugKey).append(" - ");
+            }
+            sb.append(Thread.currentThread().getName());
+            sb.append("] ");
+            sb.append(msg);
+            
+            // Save our own copy just in case it changes. We could try to do
+            // more conservative locking here, but let's be optimistic.
+            Object[] logger = m_logger;
+            // Use the log service if available.
+            if (logger != null) {
+                _logReflectively(logger, sr, level, sb.toString(), throwable);
+            }
+            // Otherwise, default logging action.
+            else {
+                doLog(sr, level, sb.toString(), throwable);
+            }
+        }
+    }
+
+    private void _logReflectively(Object[] logger, ServiceReference sr, int level, String msg, Throwable throwable) {
+        if (logger != null) {
+            Object[] params = { sr, new Integer(level), msg, throwable };
+            try {
+                ((Method) logger[LOGGER_METHOD_IDX]).invoke(logger[LOGGER_OBJECT_IDX], params);
+            }
+            catch (InvocationTargetException ex) {
+                System.err.println("Logger: " + ex);
+            }
+            catch (IllegalAccessException ex) {
+                System.err.println("Logger: " + ex);
+            }
+        }
+    }
+
+    /**
+     * This method is called when the bundle context is set;
+     * it simply adds a service listener so that the bundle can track
+     * log services to be used as the back end of the logging mechanism. It also
+     * attempts to get an existing log service, if present, but in general
+     * there will never be a log service present since the system bundle is
+     * started before every other bundle.
+     */
+    private synchronized void startListeningForLogService() {
+        try {
+            // add a service listener for log services, carefully avoiding any code dependency on it
+            m_context.addServiceListener(this, "(objectClass=org.osgi.service.log.LogService)");
+        }
+        catch (InvalidSyntaxException ex) {
+            // this will never happen since the filter is hard coded
+        }
+        // try to get an existing log service
+        m_logRef = m_context.getServiceReference("org.osgi.service.log.LogService");
+        // get the service object if available and set it in the logger
+        if (m_logRef != null) {
+            setLogger(m_context.getService(m_logRef));
+        }
+    }
+
+    /**
+     * This method implements the callback for the ServiceListener interface.
+     * It is public as a byproduct of implementing the interface and should
+     * not be called directly. This method tracks run-time changes to log
+     * service availability. If the log service being used by the framework's
+     * logging mechanism goes away, then this will try to find an alternative.
+     * If a higher ranking log service is registered, then this will switch
+     * to the higher ranking log service.
+     */
+    public final synchronized void serviceChanged(ServiceEvent event) {
+        // if no logger is in use, then grab this one
+        if ((event.getType() == ServiceEvent.REGISTERED) && (m_logRef == null)) {
+            m_logRef = event.getServiceReference();
+            // get the service object and set it in the logger
+            setLogger(m_context.getService(m_logRef));
+        }
+        // if a logger is in use, but this one has a higher ranking, then swap
+        // it for the existing logger
+        else if ((event.getType() == ServiceEvent.REGISTERED) && (m_logRef != null)) {
+            ServiceReference ref = m_context.getServiceReference("org.osgi.service.log.LogService");
+            if (!ref.equals(m_logRef)) {
+                m_context.ungetService(m_logRef);
+                m_logRef = ref;
+                setLogger(m_context.getService(m_logRef));
+            }
+        }
+        // if the current logger is going away, release it and try to
+        // find another one
+        else if ((event.getType() == ServiceEvent.UNREGISTERING) && m_logRef != null && m_logRef.equals(event.getServiceReference())) {
+            // Unget the service object.
+            m_context.ungetService(m_logRef);
+            // Try to get an existing log service.
+            m_logRef = m_context.getServiceReference("org.osgi.service.log.LogService");
+            // get the service object if available and set it in the logger
+            if (m_logRef != null) {
+                setLogger(m_context.getService(m_logRef));
+            }
+            else {
+                setLogger(null);
+            }
+        }
+    }
+
+    /**
+     * This method sets the new log service object. It also caches the method to
+     * invoke. The service object and method are stored in array to optimistically
+     * eliminate the need to locking when logging.
+     */
+    private void setLogger(Object logObj) {
+        if (logObj == null) {
+            m_logger = null;
+        }
+        else {
+            Class<?>[] formalParams = { ServiceReference.class, Integer.TYPE, String.class, Throwable.class };
+            try {
+                Method logMethod = logObj.getClass().getMethod("log", formalParams);
+                logMethod.setAccessible(true);
+                m_logger = new Object[] { logObj, logMethod };
+            }
+            catch (NoSuchMethodException ex) {
+                System.err.println("Logger: " + ex);
+                m_logger = null;
+            }
+        }
+    }
+
+    public void setEnabledLevel(int enabledLevel) {
+        m_enabledLevel = enabledLevel;
+    }
+    
+    public void setDebugKey(String debugKey) {
+        m_debugKey = debugKey;
+    }
+    
+    public String getDebugKey() {
+        return m_debugKey;
+    }
+
+    // --------------- org.apache.felix.dm.context.Log interface --------------------------------------------
+    
+    @Override
+    public void err(String format, Object... params) {
+        log(LogService.LOG_ERROR, String.format(format, params));        
+    }
+
+    @Override
+    public void err(String format, Throwable err, Object... params) {
+        log(LogService.LOG_ERROR, String.format(format, params), err);        
+    }
+
+    @Override
+    public void warn(String format, Object... params) {
+        log(LogService.LOG_WARNING, String.format(format, params));        
+    }
+
+    @Override
+    public void warn(String format, Throwable err, Object... params) {
+        log(LogService.LOG_WARNING, String.format(format, params), err);        
+    }
+
+    @Override
+    public boolean info() {
+        return m_enabledLevel >= LogService.LOG_INFO;
+    }
+
+    @Override
+    public void info(String format, Object... params) {
+        log(LogService.LOG_INFO, String.format(format, params));        
+    }
+
+    @Override
+    public void info(String format, Throwable err, Object... params) {
+        log(LogService.LOG_INFO, String.format(format, params), err);        
+    }
+
+    @Override
+    public boolean debug() {
+        return m_enabledLevel >= LogService.LOG_DEBUG;
+    }
+
+    @Override
+    public void debug(String format, Object... params) {
+        log(LogService.LOG_DEBUG, String.format(format, params));        
+    }
+
+    @Override
+    public void debug(String format, Throwable err, Object... params) {
+        log(LogService.LOG_DEBUG, String.format(format, params), err);        
+    }
+}
\ No newline at end of file

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java Fri Jan 30 15:48:23 2015
@@ -35,7 +35,6 @@ import org.osgi.framework.BundleEvent;
 import org.osgi.framework.Filter;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.service.log.LogService;
 
 /**
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java Fri Jan 30 15:48:23 2015
@@ -39,9 +39,7 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentSkipListSet;
 import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicLong;
 
@@ -52,6 +50,7 @@ import org.apache.felix.dm.ComponentStat
 import org.apache.felix.dm.ComponentStateListener;
 import org.apache.felix.dm.Dependency;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.Logger;
 import org.apache.felix.dm.context.ComponentContext;
 import org.apache.felix.dm.context.DependencyContext;
 import org.apache.felix.dm.context.EventType;

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java Fri Jan 30 15:48:23 2015
@@ -24,6 +24,7 @@ import java.util.Properties;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.felix.dm.ConfigurationDependency;
+import org.apache.felix.dm.Logger;
 import org.apache.felix.dm.PropertyMetaData;
 import org.apache.felix.dm.context.AbstractDependency;
 import org.apache.felix.dm.context.DependencyContext;
@@ -36,6 +37,11 @@ import org.osgi.framework.ServiceRegistr
 import org.osgi.service.cm.ConfigurationException;
 import org.osgi.service.cm.ManagedService;
 
+/**
+ * Implementation for a configuration dependency.
+ * 
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
 public class ConfigurationDependencyImpl extends AbstractDependency<ConfigurationDependency> implements ConfigurationDependency, ManagedService {
     private Dictionary<String, Object> m_settings;
 	private String m_pid;
@@ -167,6 +173,7 @@ public class ConfigurationDependencyImpl
         return this;
     }
     
+	@SuppressWarnings("unchecked")
 	@Override
 	public Dictionary<String, Object> getProperties() {
 		if (m_settings == null) {

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java Fri Jan 30 15:48:23 2015
@@ -22,6 +22,11 @@ import java.util.Dictionary;
 
 import org.apache.felix.dm.context.Event;
 
+/**
+ * Implementation for a configuration event.
+ * 
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
 public class ConfigurationEventImpl extends Event {
     private final String m_pid;
     
@@ -39,7 +44,8 @@ public class ConfigurationEventImpl exte
         return m_pid.compareTo(((ConfigurationEventImpl) other).m_pid);
     }
 
-    @Override
+    @SuppressWarnings("unchecked")
+	@Override
     public Dictionary<String, Object> getProperties() {
         return getEvent();
     }

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java Fri Jan 30 15:48:23 2015
@@ -23,6 +23,7 @@ import java.util.concurrent.Executor;
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.felix.dm.Logger;
 import org.osgi.service.log.LogService;
 
 /**   

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java Fri Jan 30 15:48:23 2015
@@ -27,6 +27,7 @@ import java.util.Hashtable;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.Dependency;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.Logger;
 import org.apache.felix.dm.PropertyMetaData;
 import org.apache.felix.dm.context.DependencyContext;
 import org.apache.felix.dm.impl.metatype.MetaTypeProviderImpl;

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java Fri Jan 30 15:48:23 2015
@@ -28,6 +28,7 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
+import org.apache.felix.dm.Logger;
 import org.apache.felix.dm.context.DependencyContext;
 import org.apache.felix.dm.context.Event;
 

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java Fri Jan 30 15:48:23 2015
@@ -108,7 +108,8 @@ public class FilterComponent implements
         return m_component.getClassName();
     }
     
-    public  Dictionary<String, Object> getServiceProperties() {
+    @SuppressWarnings("unchecked")
+	public Dictionary<String, Object> getServiceProperties() {
         return m_serviceProperties;
     }
 

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java Fri Jan 30 15:48:23 2015
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentLi
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicReference;
 
+import org.apache.felix.dm.Logger;
 import org.osgi.service.log.LogService;
 
 /**

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java Fri Jan 30 15:48:23 2015
@@ -42,7 +42,6 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
 
 public class ServiceDependencyImpl extends AbstractDependency<ServiceDependency> implements ServiceDependency, ServiceTrackerCustomizer {
 	protected volatile ServiceTracker m_tracker;
@@ -54,13 +53,13 @@ public class ServiceDependencyImpl exten
     private volatile Object m_defaultImplementation;
     private volatile Object m_defaultImplementationInstance;
     private volatile Object m_nullObject;
-    private boolean debug = false;
-    private String debugKey;
+    private boolean m_debug = false;
+    private String m_debugKey;
     private long m_trackedServiceReferenceId;
     
     public ServiceDependency setDebug(String debugKey) {
-    	this.debugKey = debugKey;
-    	this.debug = true;
+    	m_debugKey = debugKey;
+    	m_debug = true;
     	return this;
     }
 
@@ -219,8 +218,8 @@ public class ServiceDependencyImpl exten
         } else {
             throw new IllegalStateException("Could not create tracker for dependency, no service name specified.");
         }
-        if (debug) {
-            m_tracker.setDebug(debugKey);
+        if (m_debug) {
+            m_tracker.setDebug(m_debugKey);
         }
         m_tracker.open();
         super.start();
@@ -249,8 +248,8 @@ public class ServiceDependencyImpl exten
 
 	@Override
 	public void addedService(ServiceReference reference, Object service) {
-		if (debug) {
-			System.out.println(debugKey + " addedService: ref=" + reference + ", service=" + service);
+		if (m_debug) {
+			System.out.println(m_debugKey + " addedService: ref=" + reference + ", service=" + service);
 		}
         m_component.handleEvent(this, EventType.ADDED,
             new ServiceEventImpl(m_component.getBundle(), m_component.getBundleContext(), reference, service));
@@ -511,7 +510,7 @@ public class ServiceDependencyImpl exten
         
     public void invokeSwap(String swapMethod, ServiceReference previousReference, Object previous,
 			ServiceReference currentReference, Object current, Object[] instances) {
-    	if (debug) {
+    	if (m_debug) {
     		System.out.println("invoke swap: " + swapMethod + " on component " + m_component + ", instances: " + Arrays.toString(instances) + " - " + ((ComponentDeclaration)m_component).getState());
     	}
     	try {

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java Fri Jan 30 15:48:23 2015
@@ -76,7 +76,8 @@ public class ServiceEventImpl extends Ev
 		return m_reference;
 	}
 	    
-    @Override
+    @SuppressWarnings("unchecked")
+	@Override
     public Dictionary<String, Object> getProperties() {
         return ServiceUtil.propertiesToDictionary(m_reference);
     }

Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java Fri Jan 30 15:48:23 2015
@@ -21,20 +21,20 @@ package org.apache.felix.dm.impl.index;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
+import java.util.SortedSet;
 import java.util.TreeSet;
 
 import org.apache.felix.dm.impl.ServiceUtil;
 import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceListener;
 import org.osgi.framework.ServiceReference;
 
 /**
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
 public abstract class AbstractFactoryFilterIndex {
-
-	protected final Map /* <Long, SortedSet<ServiceReference>> */ m_sidToServiceReferencesMap = new HashMap();
-	protected final Map /* <ServiceListener, String> */ m_listenerToFilterMap = new HashMap();
+	protected final Map<Long, SortedSet<ServiceReference>> m_sidToServiceReferencesMap = new HashMap<>();
+	protected final Map <ServiceListener, String> m_listenerToFilterMap = new HashMap<>();
 
     public void addedService(ServiceReference reference, Object service) {
         add(reference);
@@ -54,12 +54,12 @@ public abstract class AbstractFactoryFil
 		removedService(reference, service);
 	}
     
-    public void add(ServiceReference reference) {
+	public void add(ServiceReference reference) {
         Long sid = ServiceUtil.getServiceIdObject(reference);
         synchronized (m_sidToServiceReferencesMap) {
-            Set list = (Set) m_sidToServiceReferencesMap.get(sid);
+            SortedSet<ServiceReference> list = m_sidToServiceReferencesMap.get(sid);
             if (list == null) {
-                list = new TreeSet();
+                list = new TreeSet<ServiceReference>();
                 m_sidToServiceReferencesMap.put(sid, list);
             }
             list.add(reference);
@@ -71,10 +71,10 @@ public abstract class AbstractFactoryFil
         add(reference);
     }
 
-    public void remove(ServiceReference reference) {
+	public void remove(ServiceReference reference) {
         Long sid = ServiceUtil.getServiceIdObject(reference);
         synchronized (m_sidToServiceReferencesMap) {
-            Set list = (Set) m_sidToServiceReferencesMap.get(sid);
+            SortedSet<ServiceReference> list = m_sidToServiceReferencesMap.get(sid);
             if (list != null) {
                 list.remove(reference);
             }
@@ -90,12 +90,12 @@ public abstract class AbstractFactoryFil
     
     /** Structure to hold internal filter data. */
     protected static class FilterData {
-        public long serviceId;
-        public String objectClass;
-        public int ranking;
+        public long m_serviceId;
+        public String m_objectClass;
+        public int m_ranking;
 
 		public String toString() {
-			return "FilterData [serviceId=" + serviceId + "]";
+			return "FilterData [serviceId=" + m_serviceId + "]";
 		}
     }
 }