Author: davidb
Date: Fri Apr 1 14:01:35 2016
New Revision: 1737391
URL: http://svn.apache.org/viewvc?rev=1737391&view=rev
Log:
Fixes FELIX-5230 - Better handling of effective attribute on Requirements
Patch applied on behalf of PK Søreide with many thanks.
This closes #62
Modified:
felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/SpecXMLPullParser.java
Modified:
felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/SpecXMLPullParser.java
URL:
http://svn.apache.org/viewvc/felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/SpecXMLPullParser.java?rev=1737391&r1=1737390&r2=1737391&view=diff
==============================================================================
---
felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/SpecXMLPullParser.java
(original)
+++
felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/SpecXMLPullParser.java
Fri Apr 1 14:01:35 2016
@@ -102,7 +102,9 @@ public class SpecXMLPullParser
else if (REQUIREMENT.equals(element))
{
Requirement requirement = parseRequirement(reader);
- resource.addRequire(requirement);
+ if (requirement != null) {
+ resource.addRequire(requirement);
+ }
}
else
{
@@ -328,6 +330,11 @@ public class SpecXMLPullParser
parseAttributesDirectives(reader, attributes, directives, REQUIREMENT);
requirement.setAttributes(attributes);
+ String effective = directives.get("effective");
+ if (effective != null && !effective.equals("resolve")) {
+ return null;
+ }
+
String filter =
directives.remove(Namespace.REQUIREMENT_FILTER_DIRECTIVE);
for (String ns : NamespaceTranslator.getTranslatedOSGiNamespaces())
{