Métodos de Proxy do CcFile e do CcDirectory

Um recurso CcFile ou CcDirectory representa um arquivo ou diretório em uma visualização do Rational ClearCase (CcView). Esses recursos estão sob controle de origem ou podem ser colocados sob o controle de origem. CcFile e CcDirectory são extensões específicas do ClearCase do CM API. O CcFile estende a interface ControllableResource, e o CcDirectory estende a interface ControllableFolder. O CcFile suporta vários métodos como:

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.

O fragmento de código a seguir constrói um proxy CcFile para um arquivo conhecido em uma área de arquivo e efetua o registro de saída desse arquivo. A propriedade IS_CHECKED_OUT é verificada antes e após a operação de registro de saída.
 // 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().


Feedback