wiki:WikiStart

Welcome to Person Manager, a dynamic OSGi Swing application

This demo application shows how to use OSGi Declarative Services (DS), Spring Dynamic Modules (Spring DM), iPOJO and Guice/Peaberry together with Swing UI. The goal of this project is to share best practices when it comes to dynamic OSGi-based applications. Also, an experimental approach to enhance OSGi DS with annotations is part of the project, see A4DS.

If you like the OSGi demo, please flattr it:

Enjoy!

Kai Tödter

Screenshot

News

  • Updated target platform: Equinox 3.5.2, OSGi 4.2, DS 1.2, Spring 3.0.0, Spring DM 2.0.0M1, iPOJO 1.6.0
  • New tree view using the experimental A4DS (Annotations for OSGi Declarative Services)
  • New tree view implemented using iPOJO (XML and annotations)
    • The headless build does the iPOJO jar file manipulation
  • Experimetal tree view using Google Guice + Peaberry for OSGi service injection

Running the Demo

Subversion Access

Downloads

  • If you don't have svn access, you can download the latest sources and binaries  here

Building the Demo

  • Get all the projects from svn
  • Open Eclipse
  • Open all pm projects
  • Set the target platform by opening default.target in com.siemens.ct.pm.target and clicking the link "Set as target platform" in the upper right corner.
  • Launch "PM Swing OSGi Demo"
  • Play around starting and stopping the bundles, like
    • com.siemens.ct.pm.ui.actions.person_1.0.0
    • com.siemens.ct.pm.ui.views.treeview_1.0.0
    • com.siemens.ct.pm.ui.views.tableview_1.0.0
    • com.siemens.ct.pm.ui.views.model.minimal_1.0.0
    • com.siemens.ct.pm.ui.views.model.basic_1.0.0 and watch the dynamic change of the Swing UI
  • You can also switch to the new bundle view and select or deselect bundles
  • If you want to use the nice Nimbus Look & Feel, run the demo with JDK 6 Update 10
  • The bundle com.siemens.ct.pm.extender implements the extender pattern. The bundle com.siemens.ct.pm.ui.actions.vcard uses this mechnism to declare a action contribution using a new manifest header
  • Integration of Spring Dynamic Modules, the bundle com.siemens.ct.pm.ui.actions.save and com.siemens.ct.pm.ui.views.tree.dm use Spring DM

Compatibility

  • The current version is compatible to Equinox 3.5.1
  • The project com.siemens.ct.pm.target contains a complete target platform for this project
    • All necessary equinox bundles as well as the source bundles.
    • All necessary bundles for Spring Dynamic Modules, iPOJO and Peaberry
    • A target definition file (default.target) which has to be used to set the target platform.

Licenses

Organizations

Starting Points

For a complete list of local wiki pages, see TitleIndex.

Attachments