O CM API distingue entre um CcFile, que é o arquivo em uma visualização que as operações acima são executadas, do elemento subjacente ClearCase e da versão (CcElement e CcVersion) ao quais ele está associado.
O método CcFile.doVersionControl() cria um recurso CcElement e um recurso CcVersion inicial, que terão o mesmo conteúdo do CcFile.
// Obter o provedor ClearCase. provedor CcProvider = ...; // Criar um proxy CcFile para o arquivo com registro de saída. // Primeiro, crie uma instância de "Arquivo" Java antigo simples a partir do caminho do arquivo. // Em seguida crie uma instância StpLocation desse arquivo. // Por fim, crie um proxy CcFile do local. 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); // Crie um pedido de propriedade para as propriedades do arquivo nas quais estamos // interessado. Leia essas propriedades. Note que os valores de propriedade // resultantes estão disponíveis *somente* no proxy CcFile retornado pelo // doReadProperties(), que não está no proxy original. PropertyRequest wantedProps = new PropertyRequest( CcFile.IS_VERSION_CONTROLLED, CcFile.IS_CHECKED_OUT); testFile = (CcFile) testFile.doReadProperties(wantedProps); if ( ! testFile.getIsVersionControlled()) { // O arquivo ainda não está sob o controle de versão, portanto, controle-o. // Ao mesmo tempo, leia novamente as propriedades nas quais estamos interessados. testFile = (CcFile) testFile.doVersionControl(wantedProps); } if ( ! testFile.getIsCheckedOut()) { // Ainda não foi efetuado o registro de saída do arquivo, portanto, efetue o registro. // Ao mesmo tempo, leia novamente as propriedades nas quais estamos interessados. testFile = testFile.doCcCheckout(null, wantedProps); } // Verifique se o arquivo agora está na versão controlada e efetue o registro de saída. assert(testFile.getIsVersionControlled() == true); assert(testFile.getIsCheckedOut() == true);
Determinadas operações nos recursos em uma visualização na Web local podem interagir ou não com um servidor. Por exemplo:
A própria interface Recurso não fornece um método para criar o recurso subjacente, pois alguns recursos não podem ser criados pelo usuário. Note que a distinção entre a criação do proxy, que se trata de instanciar um objeto Recurso, e criar o recurso, que deve ser feita chamando o método doCreateResource() ou doCreateVersionControlledResource().