[FELIX-4942] Do not use an intermediary list inside calculateExportedPackages
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1690722 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java b/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java
index 70d890d..93388a8 100644
--- a/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java
+++ b/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java
@@ -1486,7 +1486,7 @@
List<Capability> caps = (wiring != null)
? wiring.getResourceCapabilities(null)
: resource.getCapabilities(null);
- Map<String, Capability> exports = new HashMap<String, Capability>(caps.size());
+ Map<String, Blame> exports = packages.m_exportedPkgs;
for (Capability cap : caps)
{
if (cap.getNamespace().equals(PackageNamespace.PACKAGE_NAMESPACE))
@@ -1497,7 +1497,7 @@
}
exports.put(
(String) cap.getAttributes().get(PackageNamespace.PACKAGE_NAMESPACE),
- cap);
+ new Blame(cap, null));
}
}
// Remove substitutable exports that were imported.
@@ -1522,13 +1522,6 @@
}
}
}
-
- // Add all non-substituted exports to the resources's package space.
- for (Entry<String, Capability> entry : exports.entrySet())
- {
- packages.m_exportedPkgs.put(
- entry.getKey(), new Blame(entry.getValue(), null));
- }
}
resourcePkgMap.put(resource, packages);