Méthodes de proxy CcFile et CcDirectory

Une ressource CcFile ou CcDirectory représente un fichier ou répertoire dans une vue (CcView) Rational ClearCase. Ces ressources sont sous un contrôle de source ou peuvent simplement être placées sous contrôle de source. CcFile et CcDirectory sont une extension spécifique à ClearCase de l'API CM. CcFile étend l'interface ControllableResource et CcDirectory étend l'interface ControllableFolder. CcFile prend en charge un certain nombre de méthodes telles que :

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.

Le fragment de code suivant crée un proxy CcFile pour un fichier connu dans une zone de fichiers, et extrait ce fichier. La propriété IS_CHECKED_OUT est contrôlée avant et après l'opération d'extraction.
 // 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().


Commentaires en retour