diff options
3 files changed, 5 insertions, 3 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 61fa97b9e..6b946df8e 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 @@ -1060,6 +1060,8 @@ class Candidates if (actual == null) { actual = new ArrayList<Requirement>(); + if (resVersion == null) + resVersion = new Version(0, 0, 0); fragmentVersions.put(resVersion, actual); } actual.add(req); diff --git a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java index a34115dc3..21721006d 100644 --- a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java +++ b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java @@ -1531,7 +1531,7 @@ public class ResolverImpl implements Resolver for (Candidates existingPerm : permutations) { List<Capability> existingPermCands = existingPerm.getCandidates(req); - if (!existingPermCands.get(0).equals(candidates.get(0))) + if (existingPermCands != null && !existingPermCands.get(0).equals(candidates.get(0))) { permutated = true; } diff --git a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java index 693e8bbcd..e37d23458 100644 --- a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java +++ b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java @@ -58,7 +58,7 @@ class WrappedResource implements Resource List<Capability> caps = new ArrayList<Capability>(); // Wrap host capabilities. - for (Capability cap : m_host.getCapabilities(null)) + for (Capability cap : m_host.getCapabilities(namespace)) { caps.add(new WrappedCapability(this, cap)); } @@ -68,7 +68,7 @@ class WrappedResource implements Resource { for (Resource fragment : m_fragments) { - for (Capability cap : fragment.getCapabilities(null)) + for (Capability cap : fragment.getCapabilities(namespace)) { // Filter out identity capabilities, since they // are not part of the fragment payload. |