Question & Answer
Question
Do existing ClearCase CM API applications need to be modified to run in ClearCase 8.0?
Answer
Most existing CM API applications will require minor changes in order to run in ClearCase 8.0. There are three primary areas of incompatibility in CM API between the 7.1.x and 8.0 releases:
- Java version - 8.0 CM API requires Java 6
- Changes in provider (session) behavior
- Changes in ClearCase resource selector formats
Java version: CM API 8.0 requires Java 6
The 7.1.x CM API release required Java 5. In 8.0, CM API has both compile-time and run-time dependencies on Java 6. Therefore, you need to upgrade your Java development environment and runtime environment to Java 6.
Changes in Provider (Session) Behavior
In 7.1.x, the CM Server was unified – a single server supported both ClearCase and ClearQuest requests. Likewise on the client side, a single provider instance (javax.wvcm.Provider, StpProvider, etc.) supported both ClearCase and ClearQuest operations in a single session.
In 8.0, there are separate ClearCase and ClearQuest servers - the CCRC WAN server and the ClearQuest WAN server. Likewise, the client-side providers are split too. CM API application developers will need to make minor changes to their provider handling code.
Identify the place(s) in your code where you instantiate provider(s), e.g.:
- ProviderFactory.createProvider(<provider-class-name>)
Replace the existing provider class name with one of
- CcProvider.NETWORK_PROVIDER (to work with web views)
- CcProvider.LOCAL_PROVIDER (to work with dynamic views)
Changes in ClearCase resource selector formats
In 7.1.x, CM API introduced new selector formats for ClearCase and ClearQuest resources. In 8.0, CM API has gone back to the traditional ClearCase selector formats, that is,, the formats accepted by the cleartool command-line utility and other native ClearCase applications. CM API applications that explicitly create or parse selector strings must be changed.
Note: ClearQuest selector formats are unchanged in 8.0.
Look for code in your CM API application that creates or parses ClearCase resource selectors directly as strings:
- Instances of Location and StpLocation
- Calls to StpProvider.stpLocation(String)
- Extensive use of StpLocation parsing or composing methods
In 8.0 CM API, use “traditional” ClearCase selector formats, such as:
- activity:MyUcmActivity@/vobs/my_project_vob
dbid:1522470@/vobs/atria
[{"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"}}]
Was this topic helpful?
Document Information
Modified date:
01 August 2018
UID
swg21566478