— 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 | ||
|---|---|---|
| ||
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.
...
.
...