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

org.eclipse.cosmos.aperi.mdr.ws

org.eclipse.cosmos.aperi.mdr.ws.db

Hubert Leung

No

org.eclipse.cosmos.common

org.eclipse.cosmos.common

org.eclipse.cosmos.common.exceptions

Hubert Leung

No

org.eclipse.cosmos.dc.birt.helperThis will need to be moved to the 'archive' module

org.eclipse.cosmos.dc.birt.helper

Sheldon Lee-Loy

No

org.eclipse.cosmos.dc.brokerThis will need to be moved to the 'archive' module

org.eclipse.cosmos.dc.broker

Broker.java

CustomSimpleServiceGroup.java

IBroker.java

Hubert Leung

No

org.eclipse.cosmos.dc.broker.clientThis will need to be moved to the 'archive' module

Note: The DV bundles are split between the data reporting and the examples/end2end directories. We need to move all required COSMOS bundles from the 'examples' module to 'data-reporting'

Management Enablement

Violating Plug-ins

Packages/Classes

Assignee

Complete

org.eclipse.cosmos.me.dmtoolkit.common

org.eclipse.cosmos.me.dmtoolkit.common

org.eclipse.jface.snippets.viewers (was this copied from JFace?)

David Whiteman

No

org.eclipse.cosmos.me.dmtoolkit.j2ee

org.eclipse.cosmos.me.dmtoolkit.j2ee

org.eclipse.cosmos.me.dmtoolkit.j2ee.delegates

org.eclipse.cosmos.me.dmtoolkit.j2ee.factory

org.eclipse.cosmos.me.dmtoolkit.j2ee.ui

org.eclipse.cosmos.me.dmtoolkit.j2ee.util

David Whiteman

No

org.eclipse.cosmos.me.management.common

org.eclipse.cosmos.me.management.annotations

org.eclipse.cosmos.me.management.api

org.eclipse.cosmos.me.management.binding

org.eclipse.cosmos.me.management.common

org.eclipse.cosmos.me.management.common.info

org.eclipse.cosmos.me.management.common.util

org.eclipse.cosmos.me.management.osgi

org.eclipse.cosmos.me.management.web

Joel Hawkins

No

org.eclipse.cosmos.me.management.wsdm

org.eclipse.cosmos.me.management.provisional.wsdm

org.eclipse.cosmos.me.management.provisional.wsdm.annotations

org.eclipse.cosmos.me.management.provisional.wsdm.capabilities

org.eclipse.cosmos.me.management.provisional.wsdm.capabilities.impl

org.eclipse.cosmos.me.management.provisional.wsdm.faults

org.eclipse.cosmos.me.management.provisional.wsdm.impl

org.eclipse.cosmos.me.management.provisional.wsdm.impl.info

org.eclipse.cosmos.me.management.provisional.wsdm.persistence

org.eclipse.cosmos.me.management.provisional.wsdm.util

org.eclipse.cosmos.me.management.provisional.wsrf.capabilities

org.eclipse.cosmos.me.management.provisional.wsrf.capabilities.impl

org.eclipse.cosmos.me.management.provisional.wsrf.faults

org.eclipse.cosmos.me.management.wsdm.osgi

org.eclipse.cosmos.me.management.wsdm.web

Joel Hawkins

No

Resource Modeling

Violating Plug-ins

Packages/Classes

Assignee

Complete

org.eclipse.cosmos.rm.sml.mdr (Is this necessary?)

org.eclipse.cosmos.rm.sml.mdr

org.eclipse.cosmos.rm.sml.mdr.impl

Hubert Leung

No

org.eclipse.cosmos.rm.sml.mdr.web

org.eclipse.cosmos.rm.sml.mdr

org.eclipse.cosmos.rm.sml.mdr.impl

Hubert Leung

No

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.

Will be discussed in the next architecture call

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

>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.
Needs more discussion

> d. All the CMDBf components (CMDBf services, tooling, registration example, and the MDRs) belong in the same directory
Needs more discussion

> 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?
Needs more discussion

Second question has already been raised by Harm and will be discussed during the next architecture call