Author: jwross
Date: Tue Jun 11 15:45:34 2013
New Revision: 1491849

URL: http://svn.apache.org/r1491849
Log:
[aries-1072] Fix subsystem with satisfied BREE requirement does not install.

Requirements with the osgi.ee namespace were being ignored while computing the 
Require-Capability header for
an application's subsystem manifest. Consequently, osgi.ee capabilities were 
not allowed by the region's
sharing policy.

Modified:
    
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/RawSubsystemResource.java

Modified: 
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/RawSubsystemResource.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/RawSubsystemResource.java?rev=1491849&r1=1491848&r2=1491849&view=diff
==============================================================================
--- 
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/RawSubsystemResource.java
 (original)
+++ 
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/RawSubsystemResource.java
 Tue Jun 11 15:45:34 2013
@@ -49,6 +49,7 @@ import org.apache.aries.util.manifest.Ma
 import org.apache.aries.util.manifest.ManifestProcessor;
 import org.osgi.framework.Version;
 import org.osgi.framework.namespace.BundleNamespace;
+import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
 import org.osgi.framework.namespace.IdentityNamespace;
 import org.osgi.framework.namespace.PackageNamespace;
 import org.osgi.namespace.service.ServiceNamespace;
@@ -350,7 +351,10 @@ public class RawSubsystemResource implem
                        return null;
                ArrayList<RequireCapabilityHeader.Clause> clauses = new 
ArrayList<RequireCapabilityHeader.Clause>();
                for (Requirement requirement : requirements) {
-                       if (requirement.getNamespace().startsWith("osgi."))
+                       String namespace = requirement.getNamespace();
+                       if (namespace.startsWith("osgi.") && 
+                                       // Don't filter out the osgi.ee 
namespace.
+                                       
!namespace.equals(ExecutionEnvironmentNamespace.EXECUTION_ENVIRONMENT_NAMESPACE))
                                continue;
                        clauses.add(new 
RequireCapabilityHeader.Clause(requirement));
                }


Reply via email to