Javi (y quien quiera hacerlo con el),
te paso lo que habria que hacer:
La tarea consiste un tener un proceso el cual recibe
el nombre de un paquete que contiene las clases del proyecto y un
conjunto
de clases que son determinadas como "persistibles".
Lo que debe hacer es recorrer todas las clases del proyecto indicado y
buscar
por accesos a las variables de instancia (públicas o privadas) de las
clases
marcadas como persistibles. Sobre cada acceso encontrado, debe verificar
si es de escritura y solo en ese caso cambiar el bytecode.
El cambio del bytecode implica dejar que se haga lo que se queria hacer
pero
tambien construir un objeto ChangeAction y agregándolo en la unitOfWork
tal
cual como lo teníamos hecho en los proxied del fin de semana.
El código javassist para poder hacer eso está en los samples y en los
mails que envié
en estos dias.
Lo importante es que implementes el proceso sin importarte mucho como
van a
llegarte los datos.
Es posible que tengamos una tarea ant, xdoclets o un xml de
configuración pero todavia
no lo tenemos definido.
El proceso deberia loguear lo que está haciendo y ser amigable con
respecto
al modo de mostrar los errores.
Para evitar la manipulacion de bytecode a clases que ya fueron
manipuladas, deberias
ponerle alguna marca a dichas clases en donde especificas la version del
cambio.
saludos
|