Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2013-11-19 21:19:45 +0000
committerThomas Watson2013-11-21 15:52:37 +0000
commit56378517e2131c04a5e5804fb27db5fd80b54dc3 (patch)
treedb9d0a95f13323d467f2e54654c9f771a20d7424
parenta1bf47f33cb8e37c97b8aee5325adc4fffba0a21 (diff)
downloadrt.equinox.framework-56378517e2131c04a5e5804fb27db5fd80b54dc3.tar.gz
rt.equinox.framework-56378517e2131c04a5e5804fb27db5fd80b54dc3.tar.xz
rt.equinox.framework-56378517e2131c04a5e5804fb27db5fd80b54dc3.zip
Bug 421706 - Can't start Eclipse M3 after installing "everything"
- Fix to not wrap the identity capability
-rw-r--r--bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java
index 0555ce12e..a652ddcd5 100644
--- a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java
+++ b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java
@@ -31,6 +31,7 @@ import java.util.Set;
import java.util.TreeMap;
import org.osgi.framework.Version;
import org.osgi.framework.namespace.HostNamespace;
+import org.osgi.framework.namespace.IdentityNamespace;
import org.osgi.framework.namespace.PackageNamespace;
import org.osgi.resource.Capability;
import org.osgi.resource.Requirement;
@@ -433,18 +434,23 @@ class Candidates
{
for (Capability fragCand : fragmentCands)
{
+ String fragCandName = fragCand.getNamespace();
+ if (IdentityNamespace.IDENTITY_NAMESPACE.equals(fragCandName)) {
+ // no need to wrap identity namespace ever
+ continue;
+ }
// Only necessary for resolved fragments.
Wiring wiring = rc.getWirings().get(fragCand.getResource());
if (wiring != null)
{
// Fragments only have host wire, so each wire represents
// an attached host.
- for (Wire wire : wiring.getRequiredResourceWires(null))
+ for (Wire wire : wiring.getRequiredResourceWires(HostNamespace.HOST_NAMESPACE))
{
// If the capability is a package, then make sure the
// host actually provides it in its resolved capabilities,
// since it may be a substitutable export.
- if (!fragCand.getNamespace().equals(PackageNamespace.PACKAGE_NAMESPACE)
+ if (!fragCandName.equals(PackageNamespace.PACKAGE_NAMESPACE)
|| rc.getWirings().get(wire.getProvider())
.getResourceCapabilities(null).contains(fragCand))
{

Back to the top