L'API CM fait la distinction entre un CcFile, qui est le fichier dans une vue dans laquelle les opérations ci-dessus sont effectuées, et l'élément ClearCase sous-jacent et la version (CcElement et CcVersion) à laquelle il est associé.
La méthode CcFile.doVersionControl() crée une ressource CcElement et une ressource CcVersion initiale, qui auront le même contenu que le CcFile.
// Obtenez le fournisseur ClearCase. CcProvider provider = ...; // Créez un proxy CcFile pour le fichier à extraire. // Dans un premier temps, créez une instance plaine de l'ancien "Fichier" Java depuis le chemin d'accès au fichier. // Puis créez une instance StpLocation depuis ce fichier. // Enfin, créez un proxy CcFile depuis l'emplacement. File file = new File("C:/my_views/example_view/avob/example.txt"); StpLocation fileLoc = provider.filePathLocation(Domain.CLEAR_CASE, file); CcFile testFile = provider.ccFile(fileLoc); // Créez une demande de propriété pour les propriétés du fichier qui nous // intéressent. Lisez ces propriétés. Notez que les valeurs de propriété // en résultant sont disponibles *uniquement* dans le proxy CcFile renvoyé par // doReadProperties(), et non dans le proxy original. PropertyRequest wantedProps = new PropertyRequest( CcFile.IS_VERSION_CONTROLLED, CcFile.IS_CHECKED_OUT); testFile = (CcFile) testFile.doReadProperties(wantedProps); if ( ! testFile.getIsVersionControlled()) { // Le fichier n'est pas encore sous contrôle de version, alors contrôlez-le. // Dans le même temps, relisez les propriétés qui nous intéressent. testFile = (CcFile) testFile.doVersionControl(wantedProps); } if ( ! testFile.getIsCheckedOut()) { // Le fichier n'est pas encore extrait, alors extrayez-le. // Dans le même temps, relisez les propriétés qui nous intéressent. testFile = testFile.doCcCheckout(null, wantedProps); } // Vérifiez que la version du fichier est maintenant contrôlée et qu'il est extrait. assert(testFile.getIsVersionControlled() == true); assert(testFile.getIsCheckedOut() == true);
Certaines opérations sur les ressources dans une vue Web locale peuvent ou non intéragir avec un serveur. Par exemple :
L'interface Resource elle-même ne fournit pas de méthode pour créer la ressource sous-jacente, car certaines ressources ne peuvent pas être créées par l'utilisateur. Notez la distinction entre la création du proxy, qui consiste en l'instanciation d'un objet Ressource, et la création de la ressource, qui doit être faite en appelant la méthode doCreateResource() ou doCreateVersionControlledResource().