専用のコード生成プラグイン com.ibm.rational.test.lt.sdksamples.codegen.socket は、サブパッケージ config、lang、および model と共に作成されました。ソケット・コード生成サブシステムは、codegen.core プラグインの機能を拡張します。
config パッケージには SocketExtensionPreferences クラスがあり、その中にさらに supportsFeatures() メソッドが含まれています。これは、ソケット・フィーチャーが含まれるフィーチャー・リストを持つテストを対象にすることを示します。また、getSupportedModelElements() メソッドは、この codegen 拡張がサポートする変換プログラム関連モデル・エレメントのタイプを宣言します。
lang パッケージには、スクリプト定義 (SocketScriptDefinition) クラスと変換プログラム (SocketTranslator) クラスという 2 つのメイン・クラスがあります。これらのクラスは、codegen.core プラグインから適切なスーパークラスを拡張して、スクリプト変換用およびテスト・エレメント用のメソッドを定義します。スクリプト定義クラスは、スーパークラスを呼び出した後にソケット・プロトコル固有のすべてのソケット・スクリプト・テンプレート・パラメーターを変換する doScriptLevelTranslation() メソッドをオーバーライドします。変換プログラム・クラスは、getTranslationFor() メソッドをオーバーライドします。これにより、スーパークラスを呼び出してすべての非ソケット機能を処理し、すべてのソケット固有テスト・エレメントおよびパラメーターをローカルで処理します。
model パッケージには SocketElementAdapter クラスが含まれています。このクラスは、このプロトコル拡張が処理する Common Behavior エレメント・タイプを示す getAdapterFor() メソッドを実装し、対応する codegen モデル・エレメントを戻します。
プロトコル拡張プラグインにはテンプレート・ディレクトリーも追加され、ソケット固有テンプレートが作成されてそのディレクトリーに配置されました。 必要なすべての拡張がプロトコル拡張 plugin.xml ファイルに定義されました。
コード生成拡張のサンプルについては、プラグイン com.ibm.rational.test.lt.sdksamples.codegen.socket を参照してください。