CM API distingue tra un CcFile, che è il file in una vista tramite cui sono eseguite le operazioni sopra descritte, dall'elemento ClearCase sottostante e la versione (CcElement e CcVersion) a cui è associato.
Il metodo CcFile.doVersionControl() crea una risorsa CcElement e una risorsa CcVersion iniziale, che avrà gli stessi contenuti del CcFile.
// Ottenere il provider ClearCase. CcProvider provider = ...; // Creare un proxy CcFile per il file da sottoporre a checkout. // Per prima cosa, creare un'istanza "File" Java obsoleta normale dal percorso del file. // Quindi creare un'istanza StpLocation da quel file. // Infine creare un proxy CcFile dall'ubicazione. 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); // Creare una richiesta proprietà per le proprietà del file in cui si // è interessati. Leggere quelle proprietà. Si noti che i // valori delle proprietà risultanti sono disponibili *solo* nel proxy CcFile restituito da // doReadProperties(), non nel proxy originale. PropertyRequest wantedProps = new PropertyRequest( CcFile.IS_VERSION_CONTROLLED, CcFile.IS_CHECKED_OUT); testFile = (CcFile) testFile.doReadProperties(wantedProps); if ( ! testFile.getIsVersionControlled()) { // Il file non è ancora sotto il controllo versione, quindi controllarlo. // Al contempo, rileggere le proprietà di interesse. testFile = (CcFile) testFile.doVersionControl(wantedProps); } if ( ! testFile.getIsCheckedOut()) { // Il file non è stato ancora sottoposto a checkout, quindi sottoporlo a checkout. // Al contempo, rileggere le proprietà di interesse. testFile = testFile.doCcCheckout(null, wantedProps); } // Verificare che il file sia ora sottoposto al controllo versione e a checkout. assert(testFile.getIsVersionControlled() == true); assert(testFile.getIsCheckedOut() == true);
Alcune operazioni sulle risorse in una vista Web locale possono o non possono interagire con un server. Ad esempio:
La stessa interfaccia Resource non fornisce un metodo per la creazione della risorsa sottostante, poiché alcune risorse non possono essere create dall'utente. Notare la differenza fra la creazione del proxy, cioè creare un'istanza di un oggetto risorsa, e la creazione della risorsa, che deve essere eseguita richiamando il metodo doCreateResource() o doCreateVersionControlledResource().