IBM Support

New Features in CM API in ClearCase 8.0

Question & Answer


Question

What features are new in ClearCase CM API in ClearCase 8.0?

Answer

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:

    <ccase-home-dir>/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)
or
    /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
    <rational-home-dir>/common

but only when “CCRC WAN Server” install option is selected. Here is a list of CM API run-time jars:
    commons-codec-1.3.jar
    commons-httpclient-3.0.jar
    commons-logging-1.0.4.jar
    remote_core.jar
    stpcc.jar
    stpclientws.jar
    stpcmmn.jar
    stpcq.jar
    stpwvcm.jar

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 PropertyPurpose
CcView.doCreateCcDynamicView()Create a new dynamic view on the local machine
CcView.VIEW_TYPEDistinguish between dynamic and web views
CcVob.IS_MOUNTEDGet VOB's mount status; mount a VOB
CcProvider.getClientViewList()Get a list of all dynamic and web views accessible on the local machine
ProviderFactory.createProvider(
   CcProvider.LOCAL_PROVIDER_CLASS)
Create a provider/session to work with local dynamic views
ProviderFactory.createProvider(
   CcProvider.NETWORK_PROVIDER_CLASS)
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 PropertyPurpose
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.

[{"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"CM API","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.0","Edition":"All Editions","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
01 August 2018

UID

swg21566474