Un plug-in di generazione del codice dedicato, detto com.ibm.rational.test.lt.sdksamples.codegen.socket, è stato creato con i package config, lang e model. Il sottosistema di generazione del codice socket estende le funzioni del plug-in codegen.core.
Il package config contiene la classe SocketExtensionPreferences che contiene il metodo supportsFeatures() che esprime l'interesse nei test con gli elenchi di funzioni contenenti la funzione socket. Inoltre, il metodo getSupportedModelElements() dichiara i tipi di elementi di modello associato al programma di traduzione che saranno supportati dall'estensione codegen.
Il package lang contiene due classi principali, una classe di definizione script (SocketScriptDefinition) e una classe del programma di traduzione (SocketTranslator). Le classi estendono le super classi appropriate dal plug-in codegen.core e la definizione dei metodi per gli script di traduzione e gli elementi di test. La classe di definizione di script sovrascrive il metodo doScriptLevelTranslation() che, dopo aver richiamato la superclasse, traduce tutti i parametri del modello di script del socket specifici del protocollo socket. La classe del programma di traduzione sovrascrive il metodo getTranslationFor() gestendo tutte le funzioni non socket richiamando la superclasse e tutti gli elementi di test e i parametri specifici del socket in locale.
Il package del modello contiene la classe SocketElementAdapter, che implementa un metodo getAdapterFor() che indica il tipo di elemento CB gestito dall'estensione del protocollo e restituisce l'elemento di modello codegen corrispondente.
La directory del modello è stata anche aggiunta al plug-in di estensione del protocollo e sono stati creati e inseriti i modelli specifici del socket. Tutte le estensioni necessarie sono state definite nel file plugin.xml di estensione del protocollo.
Per l'esempio di estensione di generazione del codice, fare riferimento al plug-in com.ibm.rational.test.lt.sdksamples.codegen.socket.