Filter out certain properties when propagating them (adapters on aspects went wrong as the aspect properties were copied).

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@988580 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java
index e4f6b25..761c877 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java
@@ -25,6 +25,7 @@
 import org.apache.felix.dm.DependencyManager;
 import org.apache.felix.dm.Service;
 import org.apache.felix.dm.ServiceStateListener;
+import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 
 /**
@@ -63,7 +64,13 @@
             Properties props = new Properties();
             String[] keys = ref.getPropertyKeys();
             for (int i = 0; i < keys.length; i++) {
-                props.put(keys[i], ref.getProperty(keys[i]));
+                String key = keys[i];
+                if (key.equals(Constants.SERVICE_ID) || key.equals(Constants.SERVICE_RANKING) || key.equals(DependencyManager.ASPECT) || key.equals(Constants.OBJECTCLASS)) {
+                    // do not copy these
+                }
+                else {
+                    props.put(key, ref.getProperty(key));
+                }
             }
             if (m_serviceProperties != null) {
                 Enumeration e = m_serviceProperties.keys();