Comments inline.
Mike Edwards wrote:
Jean-Sebastien,
I've replied separately to your referenced note.
My suggestion is that resolution should be split from loading.
Resolution should take place in a cascade from the composites which
are at domain level, in response to explicit references discovered
there. Only entities in the actually deployed hierarchy will get
resolved. Mere presence of some entity in a contribution should be of
no significance for resolution. The problem today is that discovery
and resolution are tied together in the code.
This needs to look ahead to the point where specific entities in the
hierarchy of composition are not destined for the runtime node that is
performing the resolution.
Exactly! Resolution is already split from loading by design in the
ArtifactProcessor interface, but as you noted, the contribution service
ties the two together by calling the resolve methods as part of the
contribute(...) processing.
The current implementation is a step stone and one of the first next
steps is to move resolve() out of contribute(). It's easy to do, I have
that change prototyped and should be able to commit it in the next few
days with the other changes covering what I described in [1].
This will address the issues you've outlined. This change is required as
well for an even more obvious reason, to support multiple contributions
with SCA imports/exports, as when a contribution is read you don't
necessarily have the other contributions that it depends on.
Yours, Mike.
Jean-Sebastien Delfino wrote:
[snip]
Mike Edwards wrote:
Whether resolution occurs for all the resources simply depends on
whether there are resolvers for each type of resource.
+1 for improving this, did you see what I proposed in [1], and does
it make sense to you? Do you have any suggestions on how to implement
this lazy loading + resolution?
[1] http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg18684.html
Thanks
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]