Novas Extensões de Protocolo

Esta seção descreve a implementação da extensão do subsistema de geração de códigos do protocolo de soquete como um exemplo da utilização de recursos de extensibilidade de geração de códigos.

Um plug-in de geração de códigos dedicado chamado com.ibm.rational.test.lt.sdksamples.codegen.socket foi criado com subpacotes de config, lang e model. O subsistema de geração de códigos do soquete estende os recursos do plug-in codegen.core.

O pacote config contém a classe SocketExtensionPreferences, que contém o método supportsFeatures() que expressa interesse em testes com listas de recursos contendo o recurso de soquete. Além disso, seu método getSupportedModelElements() declara quais tipos de elementos de modelo associados ao conversor essa extensão codegen suportará.

O pacote lang contém duas classes principais, uma classe de definição de script (SocketScriptDefinition) e uma classe de conversor (SocketTranslator). As classes estendem as superclasses apropriadas a partir do plug-in codegen.core e os métodos de definição para converter elementos de script e de teste. A classe de definição de script substitui o método doScriptLevelTranslation() que, depois de chamar sua superclasse, converte todos os parâmetros do modelo de script do soquete específicos do protocolo do soquete. A classe de conversor substitui o método getTranslationFor(), manipulando toda a funcionalidade de não-soquete pela chamada de sua superclasse e de todos os elementos e parâmetros de teste específicos do soquete localmente.

O pacote de modelo contém a classe SocketElementAdapter, que implementa um método getAdapterFor(), que indica qual tipo de elemento Common Behavior é manipulado por essa extensão de protocolo e retorna o elemento de modelo codegen correspondente.

O diretório de modelo também foi incluído no plug-in de extensão do protocolo e modelos específicos do soquete foram criados e colocados lá. Todas as extensões necessárias foram definidas no arquivo plugin.xml de extensão do protocolo.

Para obter a amostra da extensão de geração de códigos, consulte o plug-in com.ibm.rational.test.lt.sdksamples.codegen.socket.


Feedback