Necesito que ciertos valores de una colección de un objeto se copien en otra colección.
Es decir, tengo una clase llamada visita. Esta clase contiene una referencia ManyToOne a cultivo. Esta ultima contiene una colección llamada nave. A su vez la pripia visita quiero que contenga una coleción de naves que serán una copia a las naves seleccionadas en el cultivo.
De esta manera en la propiedad cultivo de la visita tengo declarado un OnChange de manera que cuando el cultivo es seleccionado (cuando se está creando) las naves del cultivo sean copiadas a esta propiedad.
Así que lo tengo declarado de la siguiente manera.
public class Cultivo {
....
@CollectionView("cultivo")
private Set<Nave_finca> nave=new HashSet<Nave_finca>();
}
Estas naves son las que quiero copiar en el objeto naves de la clase finca. ¿Porque?, por que aunque la visita es sobre un cultivo y un cultivo está en un grupo de naves, algunas de estas naves no serían objeto de la visita, así que quiero poder selecionar el cultivo y deselecionar las naves que no están afectadas sin que estas afecten a la estructura del cultivo original.
El Onchange despues de mucho tocar lo tengo de la siguiente manera.
public class OnChangeCultivos extends OnChangePropertyBaseAction {
Hola a todos.
Necesito que ciertos valores de una colección de un objeto se copien en otra colección.
Es decir, tengo una clase llamada visita. Esta clase contiene una referencia ManyToOne a cultivo. Esta ultima contiene una colección llamada nave. A su vez la pripia visita quiero que contenga una coleción de naves que serán una copia a las naves seleccionadas en el cultivo.
De esta manera en la propiedad cultivo de la visita tengo declarado un OnChange de manera que cuando el cultivo es seleccionado (cuando se está creando) las naves del cultivo sean copiadas a esta propiedad.
Así que lo tengo declarado de la siguiente manera.
@Entity
public class Visita {
......
@ManyToOne( fetch=FetchType.LAZY )
@Required
@ReferenceView("desdeVisita")
@OnChange(OnChangeCultivos.class)
private Cultivo cultivo;
}
public class Cultivo {
....
@CollectionView("cultivo")
private Set<Nave_finca> nave=new HashSet<Nave_finca>();
}
Estas naves son las que quiero copiar en el objeto naves de la clase finca. ¿Porque?, por que aunque la visita es sobre un cultivo y un cultivo está en un grupo de naves, algunas de estas naves no serían objeto de la visita, así que quiero poder selecionar el cultivo y deselecionar las naves que no están afectadas sin que estas afecten a la estructura del cultivo original.
El Onchange despues de mucho tocar lo tengo de la siguiente manera.
public class OnChangeCultivos extends OnChangePropertyBaseAction {
Pero no he conseguido nada. ¿Algún alma caritativa que pueda ayudarme? lo agradecere infinitamente.
Ah, por aclarar. Esto se hace durante la creación de la visita, con lo que la entidad visita que se está creando todavía no está en la BBDD.
Saludos.
Disculpad si he utilizado el foro equivocado. He abierto un topic en Ayuda en este link
https://sourceforge.net/p/openxava/discussion/437013/thread/4c96a38e/