Hello,
I have been doing some investigative work recently in the area of
integrating extensions with OSGi services. As a result of this, I have
developed a small framework for dynamically injecting services into
extension objects according to metadata defined via the extension
registry. As a very simple example, suppose we have an extension
object (e.g. a ViewPart) which has a method
setLogReader(LogReaderService). We can declare an "injected bean"
extension as follows:
<extension point="...injectedBeans">
<bean id="logReaderView"
class="org...LogReaderView">
<injectSingle interface="org.osgi.service.log.LogReaderService"
set="setLogReader"/>
</bean>
</extension>
And then the actual view extension as:
<extension point="org.eclipse.ui.views">
<view class="org...InjectedExtensionFactory:logReaderView"
name="Log Reader"/>
</extension>
This results in all objects instantiated from the log view extension
being dynamically injected with the log reader service as it becomes
available (and un-injected when it goes away).
I would like to request a work area under the Equinox incubator as a
home for this code so that others can test it and experiment with this
and other approaches to the extensions/services integration problem.
Hi Neil,
+1 (non-binding)
I enjoyed your talk on this at EclipseCon and
would be interested in helping out, if needed.
--
Cheers, Stuart
Regards,
Neil
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev