Boa noite pessoal.
Tenho um tela onde listo um conjunto de informações onde o usuário define os cardapios. Quando chamo o metodo set, devo alterar somente o cardapio, no entanto, podem haver situações em que o usuário não selecionou nenhum cardapio. Neste caso, não devo tomar nenhuma ação.
O problema, é que sempre é lançado um null pointer exception quando salvo os registros.
Alguem tem idéia de como solucionar o problema?
meu metodo set da classe DAO
public boolean set(RelCardapioTensino rcce) throws ClassNotFoundException, SQLException {
PreparedStatement ps = (PreparedStatement) getPreparedStatement("UPDATE SIGAE.REL_CARDAPIO_TENSINO SET ID_CARDAPIO = ? WHERE ID_TIPO_CARDAPIO = ? AND ID_TIPO_ENSINO = ? AND ID_DATA = ? AND ID_PERIODO = ? AND ID_PERIODO_CARD = ? AND ID_CENSO_ESCOLAR = ?");
ps.setInt(1, rcce.getCardapio().getIdCardapio());
ps.setInt(2, rcce.getCardapio().getTipoCardapio().getIdTipoCardapio());
ps.setInt(3, rcce.getTipoEnsino().getIdTipoEnsino());
ps.setInt(4, rcce.getData().getIdData());
ps.setInt(5, rcce.getPeriodoEscola().getIdPeriodo());
ps.setInt(6, rcce.getPeriodoCardapio().getIdPeriodoCard());
ps.setInt(7, rcce.getCenso().getIdCensoEscolar());
int toReturn = ps.executeUpdate();
ps.close();
return toReturn > 0;
}
meu metodo finish edit do Bean
public String finishEditRelCardapioTensino () throws SQLException, ClassNotFoundException {
int index = 0;
for (index = 0; index < relCardapioTensino.size(); index++) {
selectedRelCardapioTensino = relCardapioTensino.get(index);
if (selectedRelCardapioTensino.getCardapio() == null) {
//return null;
}
rceteDAO.set(selectedRelCardapioTensino);
rceteDAO.addLog(selectedRelCardapioTensino);
}
// Limpa o cache
relCardapioTensino = null;
return "gotoEditRelCardapioTensino";
}
Att:
José Luiz