Jump to: navigation, search

COSMOS API Cleanup

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:

  1. Internal - Indicated by having a package name that contains the keyword 'internal' (e.g. org.eclipse.cosmos.dc.cmdbf.services.internal)
  2. Provisional - Indicated by having the annotation '@provisional' included in the class comment
  3. 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 4th, 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.


<Ruth>

  1. 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
  2. Question: Looks like COSMOS does not use experimental APIs in COSMOS. What are the COSMOS guidelines for using provisional vs experimental? Eclipse Quality Guidelines

</Ruth>



Data Collection

Violating Plug-ins Packages/Classes Assignee Complete

org.eclipse.cosmos.common

  • org.eclipse.cosmos.common
  • org.eclipse.cosmos.common.exceptions
Hubert Leung No

org.eclipse.cosmos.dc.birt.helper

  • org.eclipse.cosmos.dc.birt.helper
Sheldon Lee-Loy No
org.eclipse.cosmos.dc.broker
  • org.eclipse.cosmos.dc.broker
    • Broker.java
    • CustomSimpleServiceGroup.java
    • IBroker.java
Hubert Leung No

org.eclipse.cosmos.dc.broker.client

  • org.eclipse.cosmos.dc.broker.client
    • Activator.java
    • BrokerClient.java
    • IBrokerClient.java
Hubert Leung No

org.eclipse.cosmos.dc.common

  • org.eclipse.cosmos.dc.common
  • org.eclipse.cosmos.dc.common.api
  • org.eclipse.cosmos.dc.common.api.impl
  • org.eclipse.cosmos.dc.common.domain
  • org.eclipse.cosmos.dc.common.registry
  • org.eclipse.cosmos.dc.common.registry.impl
  • org.eclipse.cosmos.dc.common.registry.impl
  • org.eclipse.cosmos.dc.common.spi
  • org.eclipse.cosmos.dc.common.spi.descriptor
  • org.eclipse.cosmos.dc.common.spi.impl
  • org.eclipse.cosmos.dc.runtime
  • org.eclipse.cosmos.dc.runtime.osgi
Joel Hawkins No

org.eclipse.cosmos.dc.dataManager

  • org.eclipse.cosmos.dc.dataManager
  • org.eclipse.cosmos.dc.dataManager.impl
Hubert Leung No

org.eclipse.cosmos.dc.dataManager.client

  • org.eclipse.cosmos.dc.dataManager.client
    • Activator.java
    • DataManagerClient.java
Hubert Leung No

org.eclipse.cosmos.dc.dataManager.common

  • org.eclipse.cosmos.dc.dataManager.api
  • org.eclipse.cosmos.dc.dataManager.common
  • org.eclipse.cosmos.dc.dataManager.exception
Hubert Leung No

org.eclipse.cosmos.dc.local.domain

  • org.eclipse.cosmos.dc.local.domain
Joel Hawkins No

org.eclipse.cosmos.dc.local.registry

  • org.eclipse.cosmos.dc.local.registry
Joel Hawkins No

org.eclipse.cosmos.dc.logging.datamgr (Is this necessary?)

  • org.eclipse.cosmos.dc.logging.datamgr
Hubert Leung No

org.eclipse.cosmos.dc.logging.datamgr.client

  • org.eclipse.cosmos.dc.logging.datamgr.client
Hubert Leung No

org.eclipse.cosmos.dc.logging.datamgr.common

  • org.eclipse.cosmos.dc.logging.datamgr.api
  • org.eclipse.cosmos.dc.logging.datamgr.common
Hubert Leung No

org.eclipse.cosmos.dc.logging.datamgr.web

  • org.eclipse.cosmos.dc.logging.datamgr
Hubert Leung No

org.eclipse.cosmos.dc.management.domain

  • org.eclipse.cosmos.dc.management.domain
    • IManagementDomain.java
    • ManagementDomain.java
    • ManagementDomainRegistry.java
Hubert Leung No

org.eclipse.cosmos.dc.management.domain.client

  • org.eclipse.cosmos.dc.management.domain.client
    • Activator.java
    • IManagementDomainClient.java
    • ManagementDomainClient.java
Hubert Leung No

org.eclipse.cosmos.dc.mdr

  • org.eclipse.cosmos.dc.mdr
  • org.eclipse.cosmos.dc.mdr.impl
Hubert Leung No

org.eclipse.cosmos.dc.mdr.client

  • org.eclipse.cosmos.dc.mdr.client
    • Activator.java
    • MdrClient.java
Hubert Leung No

org.eclipse.cosmos.dc.mdr.common

  • org.eclipse.cosmos.dc.mdr.api
  • org.eclipse.cosmos.dc.mdr.common
  • org.eclipse.cosmos.dc.mdr.exception
Hubert Leung No

org.eclipse.cosmos.dc.mgmt.common (Is this necessary?)

  • org.eclipse.cosmos.dc.mgmt.annotations
  • org.eclipse.cosmos.dc.mgmt.api
  • org.eclipse.cosmos.dc.mgmt.binding
  • org.eclipse.cosmos.dc.mgmt.common
  • org.eclipse.cosmos.dc.mgmt.common.util
  • org.eclipse.cosmos.dc.mgmt.osgi
Joel Hawkins No

org.eclipse.cosmos.dc.mgmt.wsdm (Is this necessary?)

  • org.eclipse.cosmos.dc.mgmt.provisional.wsdm.capabilities
  • org.eclipse.cosmos.dc.mgmt.provisional.wsdm.impl
  • org.eclipse.cosmos.dc.mgmt.provisional.wsdm.impl.info
  • org.eclipse.cosmos.dc.mgmt.provisional.wsdm.persistence
  • org.eclipse.cosmos.dc.mgmt.provisional.wsdm.util
  • org.eclipse.cosmos.dc.mgmt.serializer
  • org.eclipse.cosmos.dc.mgmt.wsdm.osgi
Joel Hawkins No

org.eclipse.cosmos.dc.remote.wsdm (Is this necessary?)

  • org.eclipse.cosmos.dc.remote.wsdm
  • org.eclipse.cosmos.dc.remote.wsdm.api
  • org.eclipse.cosmos.dc.remote.wsdm.registry
  • org.eclipse.cosmos.dc.remote.wsdm.spec
  • org.eclipse.cosmos.dc.remote.wsdm.spi
Joel Hawkins No

org.eclipse.cosmos.dc.sample.components

  • org.eclipse.cosmos.dc.sample.components
  • org.eclipse.cosmos.dc.sample.components.filter
  • org.eclipse.cosmos.dc.sample.components.persistence.sql
  • org.eclipse.cosmos.dc.sample.components.query
  • org.eclipse.cosmos.dc.sample.components.sink
  • org.eclipse.cosmos.dc.sample.components.sink.cbe
  • org.eclipse.cosmos.dc.sample.components.sink.cbe.wrapper
  • org.eclipse.cosmos.dc.sample.components.source
  • org.eclipse.cosmos.dc.sample.persistence.impl
  • org.eclipse.cosmos.dc.sample.types
Joel Hawkins No

org.eclipse.cosmos.dc.sample.configurations (Is this necessary?)

  • org.eclipse.cosmos.dc.sample.configurations
Joel Hawkins No

org.eclipse.cosmos.dc.sample.jpa (Is this necessary?)

  • org.eclipse.cosmos.dc.sample.jpa
  • org.eclipse.cosmos.dc.sample.jpa.cbe.entity
  • org.eclipse.cosmos.dc.sample.jpa.query
  • org.eclipse.cosmos.dc.sample.jpa.sink
  • org.eclipse.cosmos.dc.sample.jpa.stat.entity
  • org.eclipse.cosmos.dc.sample.jpa.wef.entity
Joel Hawkins No

org.eclipse.cosmos.dc.spec

  • org.eclipse.cosmos.dc.spec
  • org.eclipse.cosmos.dc.spec.capabilitiy
  • org.eclipse.cosmos.dc.spec.types
Joel Hawkins No

org.eclipse.cosmos.dc.stat.datamgr (Is this necessary?)

  • org.eclipse.cosmos.dc.stat.datamgr
Hubert Leung No

org.eclipse.cosmos.dc.stat.datamgr.client

  • org.eclipse.cosmos.dc.stat.datamgr.client
Hubert Leung No

org.eclipse.cosmos.dc.stat.datamgr.common

  • org.eclipse.cosmos.dc.stat.datamgr.api
  • org.eclipse.cosmos.dc.stat.datamgr.common
Hubert Leung No

org.eclipse.cosmos.dc.stat.datamgr.web

  • org.eclipse.cosmos.dc.stat.datamgr
Hubert Leung No

org.eclipse.cosmos.dc.tptp.agentcontroller

  • org.eclipse.cosmos.dc.tptp.agent
  • org.eclipse.cosmos.dc.tptp.agent.component
  • org.eclipse.cosmos.dc.tptp.agentcontroller
  • org.eclipse.cosmos.dc.tptp.agentcontroller.internal
  • org.eclipse.cosmos.dc.tptp.console
Hubert Leung No

org.eclipse.cosmos.dc.tptp.gla.components

  • org.eclipse.cosmos.dc.tptp.gla.components
  • org.eclipse.cosmos.dc.tptp.gla.components.source
  • org.eclipse.cosmos.dc.tptp.gla.components.transform
Hubert Leung No

org.eclipse.cosmos.example.mdr.web

  • org.eclipse.cosmos.example.mdr.web
Hubert Leung No

Data Visualization

Violating Plug-ins Packages/Classes Assignee Complete

org.eclipse.cosmos.dr.drs.service.handler

  • org.eclipse.cosmos.provisional.dr.drs.service.handler.cmdbf
  • org.eclipse.cosmos.provisional.dr.drs.service.handler.common
Sheldon Lee-Loy No

org.eclipse.cosmos.dr.ps.common

  • org.eclipse.cosmos.provisional.dr.ps.common
Sheldon Lee-Loy No

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