Migración de implementaciones del grabador desde versiones anteriores

La nueva infraestructura de grabación incluye mejoras importantes en relación con la infraestructura de grabador genérica (GRF) que se proporcionaba en versiones anteriores. La nueva infraestructura ofrece más flexibilidad para combinar clientes y grabadores. Con esta infraestructura, puede iniciar varios grabadores y clientes en una sesión, lo que consolida los datos grabados en un archivo. Además, la infraestructura no utiliza el TPTP Agent Controller, de este modo no necesita grabadores ni clientes que se ejecuten en una máquina virtual Java separada. Finalmente, la nueva infraestructura ha mejorado el rendimiento y la escalabilidad en términos de la cantidad de datos grabables y el impacto sobre el uso de memoria.

La API se ha redefinido completamente para generar estas mejoras. La migración de implementaciones del grabador existente a la nueva infraestructura implica un esfuerzo significante. Las tablas siguientes resumen los cambios en las clases y los métodos de la nueva infraestructura de grabación.

Clase anterior Nueva infraestructura de grabación, versión 8.2 y posterior Comentarios
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 Utilice la serialización Java para la serialización en esta versión del producto. Si los paquetes soportan las conexiones, amplíe la interfaz IConnectionPacket y sus subinterfaces. Esta extensión habilita las funciones de filtrado en tiempo de generación de la prueba.
org.eclipse.hyades.execution.recorder.remote.RecorderAgent com.ibm.rational.test.lt.recorder.core.extensibility.BaseRecorderDelegate El método run() se ha sustituido por start(). La infraestructura ya no supervisa las hebras que puede iniciar este método. El método setIsReady(true) se ha sustituido por sendStarted(enabled). El método handleCommand(STOP) se ha sustituido por stop(). La clase llama al método sendStopped() cuando el grabador se ha parado. (Este suceso se ha notificado de forma implícita anteriormente mediante la notificación de la hebra devuelta por el método run()). Esta clase ya no es necesaria para ejecutarse en una máquina virtual Java separada.
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 Sólo se necesita si el delegado de grabador debe ejecutarse en una máquina virtual Java separada. Con esta versión, puede añadir entradas classpath y propiedades del sistema a la máquina virtual Java lanzada. No hay ninguna necesidad de despliegue de archivos porque la máquina virtual Java siempre se ejecuta en el sistema local. La grabación en sistemas remotos no estaba habilitada en ningún release anterior. Las clases AbstractRecorderExecOptionsProvider.getAgentClassPath() y RecorderExecutableObjectAdapter.getAgentClassPath() se sustituyen por la declaración de clase de delegado en el punto de ampliación.
org.eclipse.tptp.test.provisional.recorder.messages.AbstractRecorderMessageProvider Ninguna La clase auto-serialización IRecorderPacket y la infraestructura gestionan la serialización de mensajes en esta versión. Ya no se necesita implementar esta clase.
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 Ninguna La infraestructura gestiona de forma automática el paso que esta clase ha finalizado.
Punto de ampliación anterior Nueva infraestructura de grabación, versión 8.2 y posterior Comentarios
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 Ninguna La infraestructura gestiona de forma automática el paso que esta clase ha manejado en versiones anteriores.
org.eclipse.hyades.test.core.Recorder#Recorder.recorderMessageHandlers Ninguna La clase auto-serialización IRecorderPacket y la infraestructura gestionan la serialización de mensajes en esta versión. Ya no se necesita implementar esta clase.
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 Consulte el comentario anterior acerca de la case AbstractRecorderExecOptionsProvider.
org.eclipse.hyades.test.core.Recorder#Recorder.requiresIntermediateFile Ninguna Esta opción ya no se admite. Las sesiones de grabación siempre se guardan después de la grabación.
org.eclipse.hyades.test.core.Recorder#Recorder.fileExtension Ninguna Esta opción ya no se admite. La infraestructura no siempre controla el formato y la extensión de grabación, en un archivo .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  

Comentarios