A while back I checked the patch for TUSCANY-2281 in and part of this change
was the extension of the ComponentContext API. This would seem to be
incompatible with the spec license so I would like to propose a further
change;

1/ Create a TuscanyComponentContext interface which extends ComponentContext
and holds the new APIs for retrieving reference collections.
2/ Have the RuntimeComponentContext extend the TuscanyCompoentContext
interface
3/ When you need to use the new APIs you have to cast to the
TuscanyComponentContext

Collection<Crawler> crawlers =
((TuscanyComponentContext)componentContext).getServices(Crawler.class,
"crawlers");

As an optimization we could look at having the injectors inject
TuscanyComponentContext if this is specified to remove the need to do the
cast.

Thoughts?

Regards

Simon

Reply via email to