Nuevas ampliaciones de protocolos

Este apartado describe la implementación de la ampliación del subsistema de generación de código para el protocolo de socket como ejemplo de utilización de características de ampliación de generación de código.

Se ha creado un conector de generación de código dedicado, denominado com.ibm.rational.test.lt.sdksamples.codegen.socket con subpaquetes de config, lang y model. El subsistema de generación de código de socket amplía las funciones del conector codegen.core.

El paquete de configuración contiene la clase SocketExtensionPreferences que contiene el método supportsFeatures() que expresa interés en pruebas con listas de funciones que contienen la función de socket. Además, su método getSupportedModelElements() declara a qué tipos de elementos de modelos asociados al conversor dará soporte esta ampliación de generación de código.

El paquete lang contiene dos clases principales, una clase (SocketScriptDefinition) de definición de scripts y una clase (SocketTranslator) de conversor. Las clases amplían las superclases adecuadas del conector codegen.core y métodos de definición para convertir elementos de script y de prueba. La clase de definición de script altera temporalmente el método doScriptLevelTranslation() que, tras llamar a su superclase, convierte todos los parámetros de plantillas de scripts de sockets específicos del protocolo de socket. La clase de conversor altera temporalmente el método getTranslationFor(), gestionando toda la funcionalidad que no corresponde al socket llamando a su superclase y a todos los elementos de pruebas específicos de sockets y parámetros localmente.

El paquete de modelo contiene la clase SocketElementAdapter, que implementa un método getAdapterFor() que indica qué tipo de elemento de comportamiento común gestiona esta ampliación del protocolo, y devuelve el correspondiente elemento de modelo codegen.

El directorio de plantillas también se ha añadido al conector de ampliación de protocolos y se han creado y colocado aquí plantillas específicas del socket. Todas las ampliaciones necesarias se han definido en el archivo plugin.xml de la ampliación de protocolos.

Para ver el ejemplo de ampliación de generación de código, consulte el conector com.ibm.rational.test.lt.sdksamples.codegen.socket.


Comentarios