Estimados...
Tengo un gran problema...
Paso a explicar lo mejor que pueda el caso.
Tengo un sistema que trabaja bajo el Precepto de capas (FactoryDAO), en el sistema existen los metodos getDataMod().FindAll() => Devuelve una lista de modulos (int, string, int)
y el metodo getDataTur().FindAll(Fecha fini, Fecha, ffin, modulo) => devuelve una lista de turnos (int, fecha, fecha, hora, hora, funcionario) , en donde funcionario busca por metodos similares los datos de un funcionario (el relevante es un codigo de identificacion alfanumerico con el que se puede recuepar el nombre por otros metodos DAO)
Intento llenar 1 tabla (tblTurno) que contiene 2 campos: el modulo y una tabal interna (tblInterna) que contiene los datos del turno... sin embargo los datos nunca son traspasados al modelo de las tablas... y termina con un error de null poiner (
)
El código es este
public ConsultaTUR(Funcionario fun) {
initComponents();
funtemp=null;
List<Object[]> datitos;
columnaTabla = modeloColumna.getColumn(0);
columnaTabla.setMaxWidth(120);
columnaTabla.setMinWidth(120);
ArrayList<Modulo> modul = (ArrayList<Modulo>) FactoryDAO.getInstance().getDataMod().findAll();
Reloj rel =new Reloj();
String fechaini
= rel.
fechaDB(); java.
util.
Date utilDate
= new java.
util.
Date(); java.
sql.
Date sqlDate
= new java.
sql.
Date(utilDate.
getTime()); fini= sqlDate;
cal.setTime(fini);
Turno t;
Modulo m;
for (Iterator<Modulo> im = modul.iterator(); im.hasNext();) {
m = im.next();
List<Turno> tur = FactoryDAO.getInstance().getDataTur().findAll(fechaini, fechafin, m);
for (Iterator<Turno> it = tur.iterator(); it.hasNext();)
{
t = it.next();
// JOptionPane.showMessageDialog(rootPane, t.getFunc().getNombres());
if (t!=null)
{
if (t.getFunc()!=null)
{
funcio = t.getFunc().getNombres();
}
System.
out.
println(t.
getHora_ini().
toString()+" "+t.
getHora_fin().
toString()+" "+funcio
); tblmodInt.
addRow(new Object[] {t.
getHora_ini().
toString(),t.
getHora_fin().
toString(),funcio
}); }
tblmod.
addRow(new Object[]{m.
getDescripcion(),tblInterna
});
}
}
tblInterna.setModel(tblmodInt);
this.tblTurno.setModel(tblmod);
tblInterna.repaint();
tblTurno.repaint();
}
Incluso puse algunas salidas de consola para ver si estaba retornando los daos desde la capa de datos (DAO) y efectivamente los retorna... ¿Estoy mal enfocado? ¿Como debo hacer para llenar una sub-tabla?
Por su orientación muchísimas gracias!