Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
COSMOS Design 220593
Need ability to create data managers in toolkit for OSGi deployment
This is the design document for bugzilla 220593.
|Names of people doing the work
|Build and infrastructure
|Code review, etc.*
The data manager toolkit designed in COSMOS Design 208274 was supposed to support OSGi and J2EE. Due to time constraints in i9, only J2EE was implemented. This enhancement provides additional details about our OSGi deployment not found in the original design.
For COSMOS Design 208274, there were 3 plugins described:
org.eclipse.cosmos.me.dmtoolkit.common- contains code common to both J2EE and OSGi deployment scenarios
org.eclipse.cosmos.me.dmtoolkit.j2ee- contains code specific to the J2EE deployment scenario. This plug-in will have a dependency on the Eclipse Web Tools Project (WTP).
org.eclipse.cosmos.me.dmtoolkit.osgi- contains code specific to the OSGi deployment scenario.
As part of the J2EE work, there was a lot of reusable code pushed up to the common plugin. A lot of the artifacts and wizard pages are already implemented in the common plugin. In the osgi plugin, we will need to implement the wizard that holds those wizard pages, since the J2EE plugin used a different approach unique to WTP and we don't want to prereq WTP for the OSGi support.
We will probably find that some of the logic found in the J2EE plugin can be further refactored to the common plugin, so we don't have the same code in both J2EE and OSGi versions.
The user interface will be basically the same as designed in 208274.
As described in 208274 design, we will provide a context menu option for data manager projects for running on the server, but with the following name change: Systems Management > Run Server....
Automated JUnits will be provided where applicable. As much logic as possible will be decoupled from the UI so that standard JUnits can be implemented to drive code coverage.
All reviewer feedback should go in the Talk page for 220593.