[OBR] Properly translate service requirements between OBR and spec compliant namespaces
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1592462 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapter.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapter.java
index 6617479..22e6231 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapter.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapter.java
@@ -79,8 +79,8 @@
* (3) objectClass capitalised
* (4) The namespaces must be translated.
*/
- String filter = requirement.getFilter().replaceAll("\\(mandatory\\:\\<\\*[^\\)]*\\)", "")
- .replaceAll("\\(service\\=[^\\)]*\\)", "").replaceAll("objectclass", "objectClass");
+ String filter = requirement.getFilter().replaceAll("\\(mandatory\\:\\<\\*[^\\)]*\\)", "").
+ replaceAll("objectclass", "objectClass");
for (String ns : NamespaceTranslator.getTranslatedFelixNamespaces())
{
diff --git a/bundlerepository/src/test/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapterTest.java b/bundlerepository/src/test/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapterTest.java
index c37855d..ca909e1 100644
--- a/bundlerepository/src/test/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapterTest.java
+++ b/bundlerepository/src/test/java/org/apache/felix/bundlerepository/impl/FelixRequirementAdapterTest.java
@@ -36,6 +36,7 @@
assertFilter("(package=x.y.z)", "(osgi.wiring.package=x.y.z)");
// TODO should this be symbolicname?
assertFilter("( bundle = abc )", "(osgi.wiring.bundle= abc )");
+ assertFilter("(service=xyz)", "(osgi.service=xyz)");
assertFilter("(|(bundle=x)(&(bundle=y)(fragment=z)))",
"(|(osgi.wiring.bundle=x)(&(osgi.wiring.bundle=y)(osgi.wiring.host=z)))");
}