Thomas Watson created FELIX-4493:
------------------------------------
Summary: Allow ResolveContext to supply on demand resources
Key: FELIX-4493
URL: https://issues.apache.org/jira/browse/FELIX-4493
Project: Felix
Issue Type: Improvement
Components: Resolver
Reporter: Thomas Watson
We have been discussing two approaches to using the resolver
1) Big bang resolve. This is where the client wants to attempt to resolve all
currently unresolved resources in one go. Here the ResolveContext could return
all the unresolved resources as optional resources. This makes fragment
resolution more simple because the resolver is supplied the complete set of
unresolved resources from the start. But it still has a drawback of not
allowing an already resolved fragment to be attached to another host since
there is no mechanism to pull in the already resolved fragment when resolving
another potential host.
2) Single root resolve. Here the client wants to attempt to resolve each
"root" resource individually. As we are populating the "root" resource
additional resources get pulled in as they supply candidates for the
requirements that need to be resolved. This approach also suffers from a
similar fragment issue since fragments will not get automatically pulled into a
resolve operation unless they are either the root resource or they provide a
candidate capability needed to resolve some other requirement.
It would be useful if the ResolveContext could provide additional "on demand"
resources that get pulled in as other resources are getting automatically
pulled into the populate candidate phase.
I suggest we add a felix specific ResolveContext interface that can be
optionally implemented in order to provide a method
getOndemandResources(Resource host). This method would get called by the
resolver as it pulls in resources during the populate candidates phase.
--
This message was sent by Atlassian JIRA
(v6.2#6252)