Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

 PEDRO DELGADO YARZA 2014/03/11 13:19

A la hora de crear la capa de persistencia del Detalle debemos seguir la misma infraestructura generada para el Maestro explicada en el apartado Infraestructura de clases Maestro creando una estructura similar adaptada a las nuevas clases que aparecen en los listados del detalle.

...

El resultado de esa clase en nuestro caso sería el siguiente:

Bloque de código
languagejava
 public class LazyComentarioDataModel extends 

...

LazyDataModel<Comentario> {

...

 
	private static final long serialVersionUID = -7128353552033320971L;

...

 
	private 

...

List<Comentario> comentarios;
	private 

...

Map<String, 

...

Object> parametros;
	private ServicioPersistenciaAnuncios servicioAnuncios;

...

 
	public LazyComentarioDataModel() {
		comentarios = new 

...

ArrayList<Comentario>();
	}

...

 
	public 

...

Map<String, 

...

Object> getParametros() {
		return parametros;
	}

...

 
	public void setParametros(

...

Map<String, 

...

Object> parametros) {
		this.parametros = parametros;
	}

...

 
	@Override
	public Object getRowKey(Comentario comentario) {
		return comentario.getId();
	}

...

 
	@Override
	public 

...

List<Comentario> load(int first, int pageSize, String sortField, SortOrder sortOrder,
								

...

Map<String, 

...

String> filters) {
           

...

ResultQuery<Anuncio> resultQuery = getServicioComentarios().obtenerListadoComentarios(parametros, first, pageSize,sortField,
                                                                                                  sortOrder.name()); 
           comentarios= resultQuery.getResultList();
           setRowCount((int) resultQuery.getResultCount());
           return comentarios;
	}

...

 
	@Override
	public Comentario getRowData(String rowKey) {
		for (Comentario com : comentarios) {
			if (Long.toString(com.getId()).equals(rowKey)) {
				return com;
			}
		}

...

 
		return null;
	}

...

 
	private ServicioPersistenciaAnuncios getServicioAnuncios() {
		if (servicioAnuncios == null) {
			this.servicioAnuncios = (ServicioPersistenciaAnuncios) Component.getInstance("servicioPersistenciaAnuncios");
		}
		return this.servicioAnuncios;
	}

...

 
}

Una vez creada esta clase se asociará al Bean del Maestro que la gestionará de igual manera que hace con el otro listado, solo que esta clase no se inicializará al principio, sino cuando seleccionemos un elemento de la lista del maestro sobre el cual listar sus hijos.

...

.

...