What features are new in ClearCase CM API in ClearCase 8.0?
ClearCase CM API is a standards-based Java API for ClearCase.
In the 8.0 release, CM API adds support for ClearCase dynamic views. It also adds partial support for UCM deliver and rebase operations, and ClearCase/Rational Team Concert work item integration. There are a number of other new features as well.
Programmers writing CM API based applications should consult the CM API javadoc for detailed information about these new features as well as the existing CM API features. The CM API javadoc and CM API sample code are included in the ClearCase distribution. To install them, select "CM Library Samples and Documentation" when installing or upgrading ClearCase. The zip files will be installed here:
/web/cm_api_samples.zip (CM API sample code)
<ccase-home-dir> /web/cm_api_javadoc.zip (CM API javadoc)
where <ccase-home-dir> is the directory on the local machine where ClearCase is installed. For example:
c:\Program Files\IBM\RationalSDLC\ClearCase (on Windows)
/opt/rational/clearcase (on Unix)
More documentation on using CM API is available in the IBM InfoCenter here.
The CM API run-time jars are installed here
but only when “CCRC WAN Server” install option is selected. Here is a list of CM API run-time jars:
CM API Support for Dynamic Views
Starting with ClearCase 8.0, most operations and properties on file-related CM API resource types ( CcView, CcFile, CcDirectory, etc.) now work on dynamic views, except for web view specific operations - load, hijack, etc.
Note: CM API does not change or extend the underlying functionality of dynamic views; it only exposes existing dynamic view functionality through its Java APIs.
The following table highlights new dynamic view related CM API methods and properties:
|New CM API Method or Property||Purpose|
|CcView.doCreateCcDynamicView()||Create a new dynamic view on the local machine|
|CcView.VIEW_TYPE||Distinguish between dynamic and web views|
|CcVob.IS_MOUNTED||Get VOB's mount status; mount a VOB|
|CcProvider.getClientViewList()||Get a list of all dynamic and web views accessible on the local machine|
|Create a provider/session to work with local dynamic views|
|Create a provider/session to work with web views hosted on a CCRC WAN server|
|CcProvider.isLocalProvider()||Distinguish between local and network providers|
|CcProvider.registerProviderManagerCallback()||Advanced provider management|
CM API Support for UCM Deliver and Rebase Operations
Starting with the 8.0 release, CM API partially supports the UCM deliver and rebase operations, as well as findmerge.
Note: Support is partial because CM API does not currently support manual merges, which are a critical facet of these operations.
The following table highlights new CM API methods and properties for deliver, rebase, and findmerge:
|New CM API Method or Property||Purpose|
|CcView.doStartDeliver()||Start a default UCM deliver operation; also methods to deliver a specific set of UCM activities or baselines|
|CcView.doStartPostDeliver()||Start a posted (Multisite) deliver operation|
|CcView.doCompleteDeliver()||Finish a deliver operation; also methods to resume, cancel, or reset the operation|
|CcView.doStartRebase()||Start a UCM rebase operation|
|CcView.doCompleteRebase()||Finish a rebase operation; also methods to resume or cancel the operation|
|CcStream.DELIVER_POLICY_NO_CHECKOUTS_IN_ACTIVITIES, etc.||Control behavior of deliver operations|
|CcStream.HAS_DELIVERY_IN_PROGRESS,CcStream.HAS_REBASE_IN_PROGRESS||Get status of deliver or rebase operations|
|CcView.doFindMergeCandidates()||Identify versions to merge into the view|
|CcView.doFindMergeCandidatesFromChangeSets()||Identify versions to merge into the view from a UCM change set|
ClearCase/Rational Team Client Work Item Integration
In the 8.0 release, CM API provides partial support for the new ClearCase/RTC work item integration. The new CcTask resource type represents the association between a ClearCase version and an RTC work item. Use the CcVersion.TASK_LIST property to get and set the list of tasks associated with a given ClearCase version.
Enhanced HTTPS/SSL Support
Use the new CM API CcTrustManagerCallback interface if your CM API application needs to handle SSL certificate exceptions. Create an instance of this interface and register it with CM API using the CcProvider.registerTrustManagerCallback() method. CM API will invoke this callback when attempting to connect to a CCRC WAN server over HTTPS, where the server's certificate is expired, self-signed, etc.
Support for View and VOB Storage Locations
ClearCase storage locations help administrators manage where views and VOBs are created. Use the new CcViewStorageLocation and CcVobStorageLocation CM API resource types and the CcRegistryRegion.VIEW_STORAGE_LOCATION_LIST and CcRegistryRegion.VOB_STORAGE_LOCATION_LIST properties to list the existing storage locations in a ClearCase registry region.
Migrating 7.1.x ClearCase CM API Applications to 8.0
Most existing CM API applications will require minor changes in order to run in ClearCase 8.0. See this document for more information.