Nouvelles extensions de protocole

Cette section décrit l'implémentation de l'extension du sous-système de génération de code pour le protocole de socket et illustre l'utilisation des fonctions d'extensibilité de la génération de code.

Un plug-in de génération de code dédié, appelé com.ibm.rational.test.lt.sdksamples.codegen.socket, a été créé et contient les sous-packages config, lang et model. Le sous-système de génération de code de socket étend les fonctionnalités du plug-in codegen.core.

Le package config contient la classe SocketExtensionPreferences qui contient la méthode supportsFeatures() qui s'intéresse aux tests dont la liste des fonctions répertorie la fonction de socket. De plus, sa méthode getSupportedModelElements() déclare les types d'élément de modèle associés au traducteur que cette extension codegen prend en charge.

Le package lang contient deux classes principales (main), une classe de définition de script (SocketScriptDefinition) et une classe de traducteur (SocketTranslator). Les classes étendent les superclasses appropriées du plug-in codegen.core et les méthodes de définition pour la traduction de script et d'éléments de test. La classe de définition de script remplace la méthode doScriptLevelTranslation() qui, après avoir appelé sa superclasse, traduit tous les paramètres du modèle de script de socket propres au protocole de connexion. La classe du traducteur remplace la méthode getTranslationFor() et traite toutes les fonctionnalités qui ne sont pas des fonctionnalités de socket en appelant sa superclasse, et tous les paramètres et éléments de test propres au socket en local.

Le package du modèle contient la classe SocketElementAdapter, qui implémente une méthode getAdapterFor() indiquant le type d'élément Common Behavior que cette extension de protocole gère et qui renvoie l'élément de modèle codegen correspondant.

Le répertoire template a également été ajouté au plug-in d'extension de protocole ; il contient de nouveaux modèles propres au socket. Toutes les extensions nécessaires ont été définies dans le fichier plugin.xml de l'extension de protocole.

Pour un exemple d'extension de génération de code, voir le plug-in com.ibm.rational.test.lt.sdksamples.codegen.socket.


Commentaires