You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by da...@apache.org on 2014/05/13 17:57:22 UTC
svn commit: r1594257 - in /felix/trunk/framework/src:
main/java/org/apache/felix/framework/BundleRevisionImpl.java
test/java/org/apache/felix/framework/RequirementsCapabilitiesTest.java
Author: davidb
Date: Tue May 13 15:57:21 2014
New Revision: 1594257
URL: http://svn.apache.org/r1594257
Log:
[FELIX-4515] BundleRevision for system extension has no capabilities
This commit should address the issue.
Also added a unit test.
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
felix/trunk/framework/src/test/java/org/apache/felix/framework/RequirementsCapabilitiesTest.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java?rev=1594257&r1=1594256&r2=1594257&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java Tue May 13 15:57:21 2014
@@ -28,6 +28,7 @@ import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
+
import org.apache.felix.framework.cache.Content;
import org.apache.felix.framework.util.FelixConstants;
import org.apache.felix.framework.util.SecureAction;
@@ -126,7 +127,7 @@ public class BundleRevisionImpl implemen
// system bundle directly later on.
m_manifestVersion = mp.getManifestVersion();
m_version = mp.getBundleVersion();
- m_declaredCaps = mp.isExtension() ? Collections.EMPTY_LIST : mp.getCapabilities();
+ m_declaredCaps = mp.getCapabilities();
m_declaredReqs = mp.getRequirements();
m_declaredNativeLibs = mp.getLibraries();
m_declaredActivationPolicy = mp.getActivationPolicy();
Modified: felix/trunk/framework/src/test/java/org/apache/felix/framework/RequirementsCapabilitiesTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/test/java/org/apache/felix/framework/RequirementsCapabilitiesTest.java?rev=1594257&r1=1594256&r2=1594257&view=diff
==============================================================================
--- felix/trunk/framework/src/test/java/org/apache/felix/framework/RequirementsCapabilitiesTest.java (original)
+++ felix/trunk/framework/src/test/java/org/apache/felix/framework/RequirementsCapabilitiesTest.java Tue May 13 15:57:21 2014
@@ -192,6 +192,30 @@ public class RequirementsCapabilitiesTes
assertCapsEquals(expectedFWCap, bwpCaps2.get(0));
}
+ public void testIdentityCapabilityFrameworkExtension() throws Exception
+ {
+ String femf = "Bundle-SymbolicName: fram.ext\n"
+ + "Bundle-Version: 1.2.3.test\n"
+ + "Fragment-Host: system.bundle; extension:=framework\n"
+ + "Bundle-ManifestVersion: 2\n"
+ + "Export-Package: org.foo.bar;version=\"2.0.0\"\n";
+ File feFile = createBundle(femf);
+
+ Bundle fe = felix.getBundleContext().installBundle(feFile.toURI().toASCIIString());
+
+ BundleRevision fbr = fe.adapt(BundleRevision.class);
+
+ List<Capability> feCaps = fbr.getCapabilities("osgi.identity");
+ assertEquals(1, feCaps.size());
+ Map<String, Object> expectedFEAttrs = new HashMap<String, Object>();
+ expectedFEAttrs.put("osgi.identity", "fram.ext");
+ expectedFEAttrs.put("type", "osgi.fragment");
+ expectedFEAttrs.put("version", Version.parseVersion("1.2.3.test"));
+ Capability expectedFICap = new TestCapability("osgi.identity",
+ expectedFEAttrs, Collections.<String, String>emptyMap());
+ assertCapsEquals(expectedFICap, feCaps.get(0));
+ }
+
private File createBundle(String manifest) throws IOException
{
File f = File.createTempFile("felix-bundle", ".jar", tempDir);