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));
}