Modified OBR to correctly consider the namespace attribute when matching
capabilities to requirements. (FELIX-638)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@678443 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResolverImpl.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResolverImpl.java
index 1b02c27..5f30718 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResolverImpl.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResolverImpl.java
@@ -270,7 +270,8 @@
             Capability[] caps = resource.getCapabilities();
             for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++)
             {
-                if (req.isSatisfied(caps[capIdx]))
+                if (caps[capIdx].getName().equals(req.getName())
+                    && req.isSatisfied(caps[capIdx]))
                 {
                     // The requirement is already satisfied an existing
                     // resource, return the resource.
@@ -291,7 +292,8 @@
             Capability[] caps = resources[resIdx].getCapabilities();
             for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++)
             {
-                if (req.isSatisfied(caps[capIdx]))
+                if (caps[capIdx].getName().equals(req.getName())
+                    && req.isSatisfied(caps[capIdx]))
                 {
                     return resources[resIdx];
                 }
@@ -315,7 +317,8 @@
             Capability[] caps = resources[resIdx].getCapabilities();
             for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++)
             {
-                if (req.isSatisfied(caps[capIdx]))
+                if (caps[capIdx].getName().equals(req.getName())
+                    && req.isSatisfied(caps[capIdx]))
                 {
                     matchingCandidates.add(resources[resIdx]);
                 }
@@ -343,7 +346,8 @@
                 Capability[] caps = resources[resIdx].getCapabilities();
                 for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++)
                 {
-                    if (req.isSatisfied(caps[capIdx]))
+                    if (caps[capIdx].getName().equals(req.getName())
+                        && req.isSatisfied(caps[capIdx]))
                     {
                         matchingCandidates.add(resources[resIdx]);
                     }