Proxymethoden CcFile und CcDirectory

Eine CcFile- oder CcDirectory-Ressource repräsentiert eine Datei oder ein Verzeichnis in einer Rational-ClearCase-Sicht (CcView). Diese Ressourcen unterliegen der Quellcodeverwaltung bzw. können dieser unterstellt werden. CcFile und CcDirectory sind ClearCase-spezifische Erweiterungen der CM API. CcFile erweitert das Interface ControllableResource und CcDirectory das Interface ControllableFolder. CcFile unterstützt eine Reihe von Methoden, z. B.:

Die CM API unterscheidet zwischen einer CcFile, bei der es sich um die Datei in einer Sicht handelt, über die die obigen Operationen ausgeführt werden, und dem zugrunde liegenden ClearCase-Element sowie der zugrunde liegenden ClearCase-Version (CcElement und CcVersion), denen sie zugeordnet ist.

Die Methode CcFile.doVersionControl() erstellt eine CcElement-Ressource und eine erste CcVersion-Ressource, die denselben Inhalt wie die CcFile hat.

Das folgende Codefragment erstellt einen CcFile-Proxy für eine bekannte Datei in einem Dateibereich und checkt diese aus. Die Eigenschaft IS_CHECKED_OUT wird vor und nach dem Check-out überprüft.
 // Abrufen des ClearCase-Providers
        CcProvider provider = ...;

        // Erstellen eines CcFile-Proxys für die auszucheckende Datei.
        // Zunächst wird aus dem Pfad der Datei eine einfache File-Instanz erstellt.
        // Anschließend wird aus dieser Datei eine StpLocation-Instanz erstellt.
        // Zum Schluss wird aus der Position ein CcFile-Proxy erstellt.
        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);

        // Erstellen einer Anforderung für die interessierenden Eigenschaften der
        // Datei und Lesen dieser Eigenschaften. Beachten Sie, dass die resultierenden
        // Eigenschaftswerte *nur* in dem von doReadProperties() zurückgegebenen CcFile-Proxy,
        // nicht jedoch im ursprünglichen Proxy verfügbar sind.
        PropertyRequest wantedProps = new PropertyRequest(
                CcFile.IS_VERSION_CONTROLLED,
                CcFile.IS_CHECKED_OUT);
        testFile = (CcFile) testFile.doReadProperties(wantedProps);

        if ( ! testFile.getIsVersionControlled()) {
            // Die Datei muss der Versionssteuerung unterstellt werden.
            // Gleichzeitig werden erneut die interessierenden Eigenschaften gelesen.
            testFile = (CcFile) testFile.doVersionControl(wantedProps);
        }

        if ( ! testFile.getIsCheckedOut()) {
            // Die Datei muss ausgecheckt werden.
            // Gleichzeitig werden erneut die interessierenden Eigenschaften gelesen.
            testFile = testFile.doCcCheckout(null, wantedProps);
        }

        // Prüfung, ob die Datei jetzt der Versionssteuerung unterstellt und ausgecheckt ist
        assert(testFile.getIsVersionControlled() == true);
        assert(testFile.getIsCheckedOut() == true);

Bestimmte Operationen für Ressourcen in einer lokalen Websicht können mit einem Server interagieren. Beispiel:

Das Resource-Interface selbst bietet keine Methode für die Erstellung der zugrunde liegenden Ressource an, da einige Ressourcen nicht vom Benutzer erstellt werden können. Es ist wichtig, zwischen der Erstellung des Proxys und der Erstellung der Ressource zu unterscheiden. Für die Erstellung des Proxys wird ein Resource-Objekt instanziiert, und für die Erstellung der Ressource muss die Methode doCreateResource() oder doCreateVersionControlledResource() aufgerufen werden.


Feedback