Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2016-06-01 20:30:24 +0000
committerThomas Watson2017-06-16 12:38:08 +0000
commit943977005bfc2a3c04daca26822418310029133f (patch)
treee8accb568fea9950462ed41e23aa2f3fa2f3673a /bundles/org.eclipse.osgi/container
parentc91ca50fbdc7aa849a03bad83e51ce8141c498d5 (diff)
downloadrt.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.java9
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() {

Back to the top