Nuove estensioni del protocollo

In questa sezione viene descritta l'implementazione dell'estensione del sottosistema di generazione del codice per il protocollo socket come esempio di funzioni di estensibilità di generazione del codice.

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.


Feedback