FELIX-2140: The Requirement#isSatisfied() method should actually check the capability/requirement namespace

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@916766 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/Requirement.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/Requirement.java
index f360537..c45549b 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/Requirement.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/Requirement.java
@@ -49,6 +49,12 @@
 
     String getComment();
 
+    /**
+     * Check if the given capability satisfied this requirement.
+     *
+     * @param capability the capability to check
+     * @return <code>true</code> is the capability satisfies this requirement, <code>false</code> otherwise
+     */
     boolean isSatisfied(Capability capability);
 
     /**
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RequirementImpl.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RequirementImpl.java
index 7e75a1b..4ccc4da 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RequirementImpl.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/RequirementImpl.java
@@ -71,7 +71,7 @@
 
     public synchronized boolean isSatisfied(Capability capability)
     {
-        return m_filter.matchCase(capability.getProperties());
+        return m_name.equals(capability.getName()) && m_filter.matchCase(capability.getProperties());
     }
 
     public synchronized boolean isExtend()
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java
index d0706fe..b5bc169 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java
@@ -340,8 +340,7 @@
             Capability[] caps = resource.getCapabilities();
             for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++)
             {
-                if (caps[capIdx].getName().equals(req.getName())
-                    && req.isSatisfied(caps[capIdx]))
+                if (req.isSatisfied(caps[capIdx]))
                 {
                     // The requirement is already satisfied an existing
                     // resource, return the resource.
@@ -371,8 +370,7 @@
                 Capability[] caps = resources[resIdx].getCapabilities();
                 for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++)
                 {
-                    if (caps[capIdx].getName().equals(req.getName())
-                            && req.isSatisfied(caps[capIdx]))
+                    if (req.isSatisfied(caps[capIdx]))
                     {
                         matchingCapabilities.add(caps[capIdx]);
                     }