[jsword-devel] OSGi projects added to Incubator
P. R. B.
dysbiote at yahoo.com
Sun Dec 31 15:46:36 MST 2006
I have added 5 projects to the incubator, described below. I'll work on some documentation (or find a link to someone else's) to explain how to set up a workspace to run the test bundles.
Take a look at the new classes (in the o.c.c.internal.osgi and o.c.j.internal.osgi packages) and the test code if you want to see examples of how the OSGi framework is used.
This is the Common code, modified to run in an OSGi framework. Logger is the only class that's been significantly changed. It now uses OSGi services (that is, registered implementations of new CommonLogger interface) to process logged information. Registering a logger service is like adding an appender in Log4J: the service receives all logging information once it's registered, and multiple logger services can be registered.
This is the JSword code, modified to run in an OSGi framework. BookDriver and Filter are now OSGi service interfaces. Implementations are registered with property "bookdriver.id" and "filter.id", respectively, to ensure that they can be retrieved through OSGi queries. Classes Books and FilterFactory no longer allow dynamic registration of their respective interfaces (register them as OSGi services and they'll be picked up). Otherwise these two classes work as usual. TODO: Install and Index classes are not yet OSGi-friendly and shouldn't be called in their current state.
This is a simple bundle that tests the changes in the above two projects. The tests are called when the bundle is activated.
This RCP application plugin activates the previous bundle. No GUI is involved, the application terminates after the tests have run. This plugin simplifies testing OSGi calls from the Eclipse IDE.
This project contains bundle versions of the 3rd-party jars on which Common and JSword depend (for example, the Apache Commons jars).
Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the jsword-devel