Migration d'implémentations d'enregistreur à partir de versions précédentes

La nouvelle infrastructure d'enregistrement inclut d'importantes améliorations par rapport à l'infrastructure d'enregistreur générique (GRF) qui était fournie dans les versions précédentes. Elle offre une plus grande souplesse de combinaison des clients et des enregistreurs. Avec la nouvelle infrastructure, vous pouvez démarrer plusieurs enregistreurs et clients dans une même session et consolider ainsi les données enregistrées dans un unique fichier. De plus, l'infrastructure n'utilisant pas TPTP Agent Controller, il n'est plus nécessaire que les enregistreurs et les clients soient exécutés dans des JVM distinctes. Enfin, la nouvelle infrastructure offre de meilleures performances et possibilités d'évolution en termes de quantité de données enregistrables et d'impact sur la consommation de mémoire.

L'API a été intégralement redéfinie pour offrir ces améliorations. La migration d'implémentations d'enregistreur existantes vers la nouvelle infrastructure requiert un effort considérable. Les tables ci-après récapitulent les modifications apportées aux classes et méthodes de la nouvelle infrastructure d'enregistrement.

Classe précédente Nouvelle infrastructure d'enregistrement, version 8.2 ou ultérieure Commentaires
com.ibm.rational.test.lt.trace.PayloadMsg com.ibm.rational.test.lt.recorder.core.packet.IRecorderPacket com.ibm.rational.test.lt.recorder.core.packet.connection.IConnectionPacket Utilisez la sérialisation Java pour sérialiser les messages dans cette version du produit. Si les paquets prennent en charge des connexions, étendez l'interface IConnectionPacket et ses sous-interfaces. Cette extension offre des capacités de filtrage utilisables en phase de génération des tests.
org.eclipse.hyades.execution.recorder.remote.RecorderAgent com.ibm.rational.test.lt.recorder.core.extensibility.BaseRecorderDelegate La méthode run() a été remplacée par la méthode start(). Les unités d'exécution qui peuvent être démarrées par cette méthode ne sont plus surveillées par l'infrastructure. La méthode setIsReady(true) a été remplacée par la méthode sendStarted(enabled). La méthode handleCommand(STOP) a été remplacée par la méthode stop(). La classe appelle la méthode sendStopped() une fois que l'enregistreur s'est arrêté. (Auparavant, cet événement était implicitement notifié par la terminaison de l'unité d'exécution retournée par la méthode run().) Cette classe n'a plus besoin d'être exécutée dans une JVM à part.
org.eclipse.hyades.execution.recorder.remote.RecorderEnvironmentAdapter org.eclipse.tptp.test.provisional.recorder.framework.AbstractRecorderExecOptionsProvider org.eclipse.hyades.execution.recorder.remote.RecorderExecutableObjectAdapter com.ibm.rational.test.lt.recorder.core.deploy.IRemoteLauncher Cette classe est requise uniquement si le délégué de l'enregistreur doit être exécuté dans une JVM distincte. Avec cette version, vous pouvez ajouter des entrées de chemin de classes et des propriétés système à la JVM lancée. Il n'y a pas d'exigence de déploiement de fichier, car la JVM est toujours exécutée sur l'ordinateur local. L'enregistrement sur des ordinateurs distants est une possibilité qui n'existait pas dans les versions précédentes. Les appels AbstractRecorderExecOptionsProvider.getAgentClassPath() et RecorderExecutableObjectAdapter.getAgentClassPath() sont remplacés par la déclaration de classe déléguée dans le point d'extension.
org.eclipse.tptp.test.provisional.recorder.messages.AbstractRecorderMessageProvider Aucun L'interface d'autosérialisation IRecorderPacket et l'infrastructure s'occupent de sérialiser les messages dans cette version. L'implémentation de cette classe n'est plus nécessaire.
org.eclipse.tptp.test.provisional.recorder.ui.wizards.DefaultRecWizardProvider com.ibm.rational.test.lt.recorder.ui.wizards.NewRecorderWizard com.ibm.rational.test.lt.recorder.ui.wizards.NewRecorderClientWizard  
org.eclipse.tptp.test.provisional.recorder.framework.RecorderClientHelperAdapter Aucun L'infrastructure s'occupe automatiquement de l'étape qui incombait à cette classe dans les versions précédentes.
Point d'extension précédent Nouvelle infrastructure d'enregistrement, version 8.2 ou ultérieure Commentaires
org.eclipse.hyades.test.core.Recorder#Recorder.protocol com.ibm.rational.test.lt.recorder.core.recorder#recorder.outputPacket  
org.eclipse.hyades.test.core.Recorder#Recorder.id com.ibm.rational.test.lt.recorder.core.recorder#id  
org.eclipse.hyades.test.core.Recorder#Recorder.name com.ibm.rational.test.lt.recorder.core.recorder#name  
org.eclipse.hyades.test.core.Recorder#Recorder.recorderAgent com.ibm.rational.test.lt.recorder.core.recorder#recorder.delegate  
org.eclipse.hyades.test.core.Recorder#Recorder.recorderClientHelper Aucun L'infrastructure s'occupe automatiquement de l'étape qui incombait à cette classe dans les versions précédentes.
org.eclipse.hyades.test.core.Recorder#Recorder.recorderMessageHandlers Aucun L'interface d'autosérialisation IRecorderPacket et l'infrastructure s'occupent de sérialiser les messages dans cette version. L'implémentation de cette classe n'est plus nécessaire.
org.eclipse.hyades.test.core.Recorder#Recorder.wizardPageProvider com.ibm.rational.test.lt.recorder.ui.recorderClientWizard#recordersWizard.class  
org.eclipse.hyades.test.core.Recorder#Recorder.execOptionsProvider com.ibm.rational.test.lt.recorder.core.recorder#recorder.remoteLauncher Voir le commentaire précédent à propos de la classe AbstractRecorderExecOptionsProvider.
org.eclipse.hyades.test.core.Recorder#Recorder.requiresIntermediateFile Aucun Cette option n'est plus prise en charge. Les sessions d'enregistrement sont toujours conservées après l'enregistrement.
org.eclipse.hyades.test.core.Recorder#Recorder.fileExtension Aucun Cette option n'est plus prise en charge. Désormais, l'extension et le format d'enregistrement sont systématiquement contrôlés par l'infrastructure, dans un fichier .recsession.
org.eclipse.hyades.test.core.Recorder#Recorder.icon com.ibm.rational.test.lt.recorder.ui.recordingUiImage#recorderImage.icon  
org.eclipse.hyades.test.core.Recorder#Recorder.description com.ibm.rational.test.lt.recorder.ui.recorderClientWizard#recordersWizard.description  

Commentaires