felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Watson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FELIX-4493) Allow ResolveContext to supply on demand resources
Date Thu, 24 Apr 2014 16:36:22 GMT
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

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

View raw message