[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] Incubator request for Extensions/Services Integration work

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.

Regards,
Neil