Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "COSMOS API Cleanup"
(→Open Questions/Concerns) |
|||
Line 1,017: | Line 1,017: | ||
It seems the package provisional idea is being skipped and that is the most common form of provisional in Eclipse. Note TPTP introduced the concept of javadoc provisional only as a transient state where api was stable but behavior was not and testing or documentation was not complete. If you only have one provisional state, I strongly suggest you use the package variant. | It seems the package provisional idea is being skipped and that is the most common form of provisional in Eclipse. Note TPTP introduced the concept of javadoc provisional only as a transient state where api was stable but behavior was not and testing or documentation was not complete. If you only have one provisional state, I strongly suggest you use the package variant. | ||
− | <font color="green"> | + | <font color="green">COSMOS decided to indicate provisional APIs by including the 'provisional' keyword in the package name</font> |
<b>Ruth Lee</b> | <b>Ruth Lee</b> | ||
Line 1,036: | Line 1,036: | ||
> b. All data managers should be grouped into a single directory. <br/> | > b. All data managers should be grouped into a single directory. <br/> | ||
− | + | Addressed <br/><br/> | |
> c. The BIRT helper bundle belongs in the data reporting (not in DC)<br/> | > c. The BIRT helper bundle belongs in the data reporting (not in DC)<br/> | ||
Line 1,042: | Line 1,042: | ||
> d. All the CMDBf components (CMDBf services, tooling, registration example, and the MDRs) belong in the same directory <br/> | > d. All the CMDBf components (CMDBf services, tooling, registration example, and the MDRs) belong in the same directory <br/> | ||
− | + | Addressed<br/><br/> | |
> e. The DV bundles are split between the data reporting and the examples/end2end directories <br/> | > e. The DV bundles are split between the data reporting and the examples/end2end directories <br/> | ||
Line 1,048: | Line 1,048: | ||
> f. We have a common tests directory with subdirectories for each subproject. Should we move each of these subdirectories into a tests directory under their respective subprojects?<br/> | > f. We have a common tests directory with subdirectories for each subproject. Should we move each of these subdirectories into a tests directory under their respective subprojects?<br/> | ||
− | + | Community collectively decided to keep the current structure<br/><br/> | |
Second question has already been raised by Harm and will be discussed during the next architecture call | Second question has already been raised by Harm and will be discussed during the next architecture call |
Revision as of 13:50, 17 April 2008
Contents
COSMOS API Cleanup - Housecleaning
This wiki page was constructed in response to https://bugs.eclipse.org/bugs/show_bug.cgi?id=218558. In preparation for releasing COSMOS 1.0, committers are required to ensure API guidelines are met. In COSMOS there are three types of APIs:
- Internal - Indicated by having a package name that contains the keyword 'internal' (e.g. org.eclipse.cosmos.dc.cmdbf.services.internal)
- Provisional - Indicated by having a package name that contains the keyword 'provisional' (e.g. org.eclipse.cosmos.dc.cmdbf.services.provisional.metadata.transform)
- Public - Any API that does not fall under (1) or (2)
COSMOS 1.0 does not plan to release any public APIs. All classes are expected to fall under (1) or (2). Provisional classes MUST be thoroughly commented. A recent (April 17, 2008) manual code scan revealed the following plug-ins to be in violation of the guideline. Package/classes expected to be provisional are indicated by orange and expected internal APIs are indicated by red. The final verdict of what should be internal or provisional is made by the component owner.
In i11, there will be a new module added to COSMOS' CVS called ('archive') that will contain all plug-ins that are no longer needed.
Data Collection
Violating Plug-ins | Packages/Classes | Assignee | Complete |
---|---|---|---|
org.eclipse.cosmos.aperi.mdr.ws |
|
Hubert Leung | No |
org.eclipse.cosmos.common |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.birt.helper |
|
Sheldon Lee-Loy | No |
org.eclipse.cosmos.dc.broker |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.broker.client |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.broker.core |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.cmdbf.services |
|
Ali Mehregani | No |
org.eclipse.cosmos.dc.cmdbf.ws |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.common |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.dataManager |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.dataManager.client |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.dataManager.common |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.datamanager.ws |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.local.domain |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.local.registry |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.logging.datamgr |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.logging.datamgr.client |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.logging.datamgr.common |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.logging.datamgr.web |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.logging.datamgr.ws |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.logging.datamgr.ws.client |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.management.domain |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.management.domain.client |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.mdr |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.mdr.client |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.mdr.common |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.mdr.registration |
|
Ali Mehregani | No |
org.eclipse.cosmos.dc.mdr.registration.client |
|
Ali Mehregani | No |
org.eclipse.cosmos.dc.mdr.registration.common |
|
Ali Mehregani | No |
org.eclipse.cosmos.dc.remote.wsdm |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.sample.components |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.sample.configurations |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.sample.jpa |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.service.finder |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.spec |
|
Joel Hawkins | No |
org.eclipse.cosmos.dc.stat.datamgr |
|
John Todd | No |
org.eclipse.cosmos.dc.stat.datamgr.client |
|
John Todd | No |
org.eclipse.cosmos.dc.stat.datamgr.common |
|
John Todd | No |
org.eclipse.cosmos.dc.stat.datamgr.web |
|
John Todd | No |
org.eclipse.cosmos.dc.stat.datamgr.ws |
|
John Todd | No |
org.eclipse.cosmos.dc.stat.datamgr.ws.client |
|
John Todd | No |
org.eclipse.cosmos.dc.stat.datamgr.ws.common |
|
John Todd | No |
org.eclipse.cosmos.dc.tptp.agentcontroller |
|
Hubert Leung | No |
org.eclipse.cosmos.dc.tptp.gla.components |
|
Hubert Leung | No |
org.eclipse.cosmos.example.mdr.web |
|
Hubert Leung | No |
org.eclipse.cosmos.management.common |
|
Hubert Leung | No |
org.eclipse.cosmos.management.wsdm |
|
Hubert Leung | No |
org.eclipse.cosmos.tptp.dependencies |
|
Hubert Leung | No |
Archived Bundles
The following plug-ins will be archived:
- org.eclipse.cosmos.dc.birt.helper
- org.eclipse.cosmos.dc.broker
- org.eclipse.cosmos.dc.broker.client
- org.eclipse.cosmos.dc.dataManager
- org.eclipse.cosmos.dc.dataManager.client
- org.eclipse.cosmos.dc.dataManager.common
- org.eclipse.cosmos.dc.local.domain
- org.eclipse.cosmos.dc.local.registry
- org.eclipse.cosmos.dc.logging.datamgr
- org.eclipse.cosmos.dc.logging.datamgr.client
- org.eclipse.cosmos.dc.logging.datamgr.common
- org.eclipse.cosmos.dc.logging.datamgr.web
- org.eclipse.cosmos.dc.management.domain
- org.eclipse.cosmos.dc.management.domain.client
- org.eclipse.cosmos.dc.remote.wsdm
- org.eclipse.cosmos.dc.sample.components
- org.eclipse.cosmos.dc.sample.configurations
- org.eclipse.cosmos.dc.sample.jpa
- org.eclipse.cosmos.dc.stat.datamgr
- org.eclipse.cosmos.dc.stat.datamgr.client
- org.eclipse.cosmos.dc.stat.datamgr.common
- org.eclipse.cosmos.dc.stat.datamgr.web
- org.eclipse.cosmos.example.mdr.web
Re-structuring
We can define one plug-in (e.g. org.eclipse.cosmos.datamgr.samples) to contain the related code for the sample data managers and MDRs: This will reduce 6 plug-ins into one.
org.eclipse.cosmos.dc.datamgr.samples |__ org.eclipse.cosmos.aperi.mdr | |__ org.eclipse.cosmos.aperi.mdr.ws |__ org.eclipse.cosmos.dc.logging.datamgr | |__ org.eclipse.cosmos.dc.logging.datamgr.ws | |__ org.eclipse.cosmos.dc.logging.datamgr.ws.client |__ org.eclipse.cosmos.dc.stat.datamgr | |__ org.eclipse.cosmos.dc.stat.datamgr.ws | |__ org.eclipse.cosmos.dc.stat.datamgr.ws.client | |__ org.eclipse.cosmos.dc.stat.datamgr.ws.common
The core management plug-ins (e.g. broker/data manager) can all reside under one plug-in (e.g. org.eclipse.cosmos.dc.management.core):
This will reduce 2 plug-ins into one.
org.eclipse.cosmos.dc.management.core |__ org.eclipse.cosmos.dc.broker.core |__ org.eclipse.cosmos.dc.datamanager.ws
All MDR core plug-ins can reside under one plug-in (e.g. org.eclipse.cosmos.dc.mdr.core): This will reduce 7 plug-ins into one.
org.eclipse.cosmos.dc.mdr.core |__ org.eclipse.cosmos.dc.cmdbf.ws |__ org.eclipse.cosmos.dc.mdr | |__ org.eclipse.cosmos.dc.mdr.client | |__ org.eclipse.cosmos.dc.mdr.common |__ org.eclipse.cosmos.dc.mdr.registration | |__ org.eclipse.cosmos.dc.mdr.registration.client | |__ org.eclipse.cosmos.dc.mdr.registration.common
All TPTP related code can reside under one plug-in (e.g. org.eclipse.cosmos.tptp.dependencies):
This will reduce 3 plug-ins into one
org.eclipse.cosmos.tptp.dependencies |__ org.eclipse.cosmos.dc.tptp.agentcontroller |__ org.eclipse.cosmos.dc.tptp.gla.components
All common plug-ins can reside under one plug-in (e.g. org.eclipse.cosmos.dc.common): This will reduce 3 plug-ins into one
org.eclipse.cosmos.dc.common |__ org.eclipse.cosmos.common |__ org.eclipse.cosmos.management.common
Data Visualization
Violating Plug-ins | Packages/Classes | Assignee | Complete |
---|---|---|---|
org.eclipse.cosmos.dr.web.ui.viewer |
|
Sheldon Lee-Loy | No |
Restructuring
The DV bundles are split between the data reporting and the examples/end2end directories. Sheldon has agreed to move all core components from the example module (if any) to the data-reporting module.
Management Enablement
Violating Plug-ins | Packages/Classes | Assignee | Complete |
---|---|---|---|
org.eclipse.cosmos.me.dmtoolkit.common |
|
David Whiteman | No |
org.eclipse.cosmos.me.dmtoolkit.j2ee |
|
David Whiteman | No |
org.eclipse.cosmos.me.management.common |
|
Joel Hawkins | No |
org.eclipse.cosmos.me.management.wsdm |
|
Joel Hawkins | No |
Re-structuring
The toolkit plug-ins can reside under one plug-in: This will reduce 2 plug-ins into one.
org.eclipse.cosmos.me.dmtoolkit |__ org.eclipse.cosmos.me.dmtoolkit.common |__ org.eclipse.cosmos.me.dmtoolkit.j2ee
Resource Modeling
Violating Plug-ins | Packages/Classes | Assignee | Complete |
---|---|---|---|
org.eclipse.cosmos.rm.repository |
|
Ali Mehregani | No |
org.eclipse.cosmos.rm.sml.mdr |
|
Hubert Leung | No |
org.eclipse.cosmos.rm.sml.mdr.web |
|
Hubert Leung | No |
org.eclipse.cosmos.rm.sml.mdr.ws |
|
Hubert Leung | No |
Archived Bundles
The following plug-ins will be archived:
- org.eclipse.cosmos.rm.sml.mdr
- org.eclipse.cosmos.rm.sml.mdr.web
Restructuring
The following plug-in: org.eclipse.cosmos.rm.sml.mdr.ws will need to be moved to the data-collection sub-project. The plug-in should reside under the bundle that will hold all data managers: org.eclipse.cosmos.dc.datamgr.samples
Open Questions/Concerns
Harm Sluiman:
It seems the package provisional idea is being skipped and that is the most common form of provisional in Eclipse. Note TPTP introduced the concept of javadoc provisional only as a transient state where api was stable but behavior was not and testing or documentation was not complete. If you only have one provisional state, I strongly suggest you use the package variant.
COSMOS decided to indicate provisional APIs by including the 'provisional' keyword in the package name
Ruth Lee
- Ali, can we look into Bill's bugzilla for this as well? He talks about deprecating any bundles and code that are no longer used, so we should identify those and delete them rather than comment them. 220776
- Question: Looks like COSMOS does not use experimental APIs in COSMOS. What are the COSMOS guidelines for using provisional vs experimental? Eclipse Quality Guidelines
Regarding bug 220776:
>1. Deprecate any bundles and code that are no longer used.
> a. DC assemblies
> b. the "old" annotations
Addressed
>2. Re-organize the directory structure to group logically related bundles together
> a. The Example MDR bundle for OSGI is in the Examples directory but the Example MDR for the web is in the DC directory. They should reside together.
Addressed
> b. All data managers should be grouped into a single directory.
Addressed
> c. The BIRT helper bundle belongs in the data reporting (not in DC)
Addressed
> d. All the CMDBf components (CMDBf services, tooling, registration example, and the MDRs) belong in the same directory
Addressed
> e. The DV bundles are split between the data reporting and the examples/end2end directories
Addressed
> f. We have a common tests directory with subdirectories for each subproject. Should we move each of these subdirectories into a tests directory under their respective subprojects?
Community collectively decided to keep the current structure
Second question has already been raised by Harm and will be discussed during the next architecture call