diff options
author | Thomas Watson | 2016-06-01 20:30:24 +0000 |
---|---|---|
committer | Thomas Watson | 2017-06-16 12:38:08 +0000 |
commit | 943977005bfc2a3c04daca26822418310029133f (patch) | |
tree | e8accb568fea9950462ed41e23aa2f3fa2f3673a /bundles/org.eclipse.osgi/container | |
parent | c91ca50fbdc7aa849a03bad83e51ce8141c498d5 (diff) | |
download | rt.equinox.framework-943977005bfc2a3c04daca26822418310029133f.tar.gz rt.equinox.framework-943977005bfc2a3c04daca26822418310029133f.tar.xz rt.equinox.framework-943977005bfc2a3c04daca26822418310029133f.zip |
Bug 492825 - [osgi R7] Resolver specification updates for version 1.1
Implement resovlveDynamic and findRelatedResources
Change-Id: I0841246411734e191b62d24a10f7918f904f932d
Signed-off-by: Thomas Watson <tjwatson@us.ibm.com>
Diffstat (limited to 'bundles/org.eclipse.osgi/container')
-rw-r--r-- | bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java index 90321aa1e..d58c142e6 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java @@ -600,7 +600,9 @@ final class ModuleResolver { @Override public List<Capability> findProviders(Requirement requirement) { - return findProviders0(requirement, requirement); + Requirement origReq = requirement; + Requirement lookupReq = dynamicReq == null || dynamicReq.getOriginal() != requirement ? requirement : dynamicReq; + return findProviders0(origReq, lookupReq); } private List<Capability> findProviders0(Requirement origReq, Requirement lookupReq) { @@ -846,7 +848,7 @@ final class ModuleResolver { } @Override - public Collection<Resource> getOndemandResources(Resource host) { + public Collection<Resource> findRelatedResources(Resource host) { List<ModuleCapability> hostCaps = ((ModuleRevision) host).getModuleCapabilities(HostNamespace.HOST_NAMESPACE); if (hostCaps.isEmpty()) { return Collections.emptyList(); @@ -1354,8 +1356,7 @@ final class ModuleResolver { } private Map<Resource, List<Wire>> resolveDynamic() throws ResolutionException { - List<Capability> dynamicMatches = findProviders0(dynamicReq.getOriginal(), dynamicReq); - return new ResolverImpl(new Logger(0), null).resolve(this, dynamicReq.getRevision(), dynamicReq.getOriginal(), dynamicMatches); + return new ResolverImpl(new Logger(0), null).resolveDynamic(this, dynamicReq.getRevision().getWiring(), dynamicReq.getOriginal()); } private void filterResolvable() { |