[RESOLVIDO]Quando o periodo inicial e final é nulo dá erro no DAO ( java.lang.NullPointerException)

---------------------------------------------------------------

ENTITY

package br.com.credacif.entity;

import java.util.Date;

public class Cadastro {

//ATRIBUTOS
private Date periodoIni;
private Date periodoFim;

//METODO CONSTRUTOR
public Cadastro() {
    this.periodoIni = null;
    this.periodoFim = null;
}

//METODOS GETTER E SETTER
public Date getPeriodoIni() {
    return periodoIni;
}
public void setPeriodoIni(Date periodoIni) {
    this.periodoIni = periodoIni;
}
public Date getPeriodoFim() {
    return periodoFim;
}
public void setPeriodoFim(Date periodoFim) {
    this.periodoFim = periodoFim;
}

}

DAO

public void checar(){

sql += Util.iif(cadastro.getPeriodoIni() != null, " AND P.DATAEMISSAO >= " + "'" + new java.sql.Date(cadastro.getPeriodoIni().getTime()) + "'", "");
sql += Util.iif(cadastro.getPeriodoFim() != null, " AND P.DATAEMISSAO <= " + "'" + new java.sql.Date(cadastro.getPeriodoFim().getTime()) + "'", "");

}

BEAN

public void lista(){

private Cadastro cadastroE = new Cadastro(); 
cadastros = cadastroD.getTabelaCadastro(cadastroE);

}

UTIL

public static String iif(boolean cond, String s1, String s2){

if(cond){
	return s1;
}else{
	return s2;
}        

}

Aí se for nulo vai dar nullpointer mesmo.

Aquele != null que vc tem antes não é verificação pra isso, aquilo está indo como outro parâmetro no método.

Utilize operador ternário para validar!

cadastro.getPeriodoIni() != null ? " AND P.DATAEMISSAO >= '"+ cadastro.getPeriodoIni().getTime() + "' " : " ";

Valeu galera!!

Resultado::::
DAO

if(cadastro.getPeriodoIni() != null){
            sql += " AND P.DATAEMISSAO >= '" + new java.sql.Date(cadastro.getPeriodoIni().getTime()) + "'";
        }
        if(cadastro.getPeriodoFim()!= null){
            sql += " AND P.DATAEMISSAO >= '" + new java.sql.Date(cadastro.getPeriodoFim().getTime()) + "'";
        }`