Calling any method on any null reference will always result in an exception.
How could I solve this?
public class frmStatusAprovacaoGeral implements AdapterInterface{
@Override
public void back(EntityWrapper arg0, Activity arg1) {
}
@Override
public void start(Task arg0, EntityWrapper arg1, Activity arg2) {
// Pega Entity wrapper do Processo
WFProcess process = arg2.getProcess();
NeoObject obj = process.getProcessEntity();
EntityWrapper ewobj = new EntityWrapper(obj);
//tenha a lista de parcelas
Long numeroParcelas;
try {
numeroParcelas = (Long) ewobj
.findValue("contratoEformPosEscolha.pagamento.nroParcelas");
} catch (Exception e) {
numeroParcelas = (long) 1;
}
//estou pegando o campo aprovacaoGerencia para saber se ela foi aprovada
List<NeoObject> listaParcelasGerencia = (List<NeoObject>) ewobj
.findValue("frmParcelasAprovacaoGerencia");
//estou pegando o campo aprovacaoAprovadorExtra para saber se ela foi aprovada
List<NeoObject> listaParcelasExtraUm = null;
try{
listaParcelasExtraUm = (List<NeoObject>) ewobj
.findValue("frmParcelasAprovadorExtraUm");
}catch(Exception e){
Log.error(e);
}
//estou pegando o campo aprovacaoAprovadorExtra2 para saber se ela foi aprovada
List<NeoObject> listaParcelasExtraDois = null;
try{
listaParcelasExtraDois = (List<NeoObject>) ewobj
.findValue("frmParcelasAprovadorExtraDois");
} catch (Exception e){
Log.error(e);
}
//estou pegando o campo aprovacaoAprovadorExtra3 para saber se ela foi aprovada
List<NeoObject> listaParcelasExtraTres = null;
try {
listaParcelasExtraTres = (List<NeoObject>) ewobj
.findValue("frmParcelasAprovadorExtraTres");
} catch (Exception e) {
Log.error(e);
}
//estou adicionando as respostas na listaParcelas
List<NeoObject> ListaParcelaAtualGeral = (List<NeoObject>) ewobj
.findValue("contratoEformPosEscolha.listaParcelas");
for (long i = 0; i < numeroParcelas; i++) {
NeoObject parcelaAtualGeral = ListaParcelaAtualGeral.get((int) i);
EntityWrapper ewParcelaAtualGeral = new EntityWrapper(parcelaAtualGeral);
//gerência
//----------------------------------------------------------------------
NeoObject parcelaAtualGerencia = listaParcelasGerencia.get((int) i);
EntityWrapper ewParcelaAtual = new EntityWrapper(parcelaAtualGerencia);
boolean aprovacaoGerencia = (boolean) ewParcelaAtual.findValue("aprovacaoGerencia");
ewParcelaAtualGeral.setValue("aprovacaoGerencia", aprovacaoGerencia);
//----------------------------------------------------------------------
//extra um
//Chamar qualquer método em qualquer referência nula sempre resultará em uma exceção.
//Teste se o objeto é nulo primeiro:
//----------------------------------------------------------------------
if ( (listaParcelasExtraUm != null) || !listaParcelasExtraUm.isEmpty()){
NeoObject parcelaAtualExtraUm = listaParcelasExtraUm.get((int) i);
EntityWrapper ewParcelaAtualExtraUm = new EntityWrapper(parcelaAtualExtraUm);
boolean aprovacaoAtualExtra1 = (boolean) ewParcelaAtualExtraUm.findValue("aprovacaoAprovadorExtra");
ewParcelaAtualGeral.setValue("aprovacaoAprovadorExtra", aprovacaoAtualExtra1);
}
//----------------------------------------------------------------------
//extra dois
//----------------------------------------------------------------------
if ( (listaParcelasExtraDois != null) || !listaParcelasExtraDois.isEmpty()){
NeoObject parcelaAtualExtraDois = listaParcelasExtraDois.get((int) i);
EntityWrapper ewParcelaAtualExtraDois = new EntityWrapper(parcelaAtualExtraDois);
boolean aprovacaoAtualExtra2 = (boolean) ewParcelaAtualExtraDois.findValue("aprovacaoAprovadorExtra2");
ewParcelaAtualGeral.setValue("aprovacaoAprovadorExtra2", aprovacaoAtualExtra2);
}
//----------------------------------------------------------------------
//extra três
//----------------------------------------------------------------------
if ( ( listaParcelasExtraTres != null) || !listaParcelasExtraTres.isEmpty()){
NeoObject parcelaAtualExtraTres = listaParcelasExtraTres.get((int) i);
EntityWrapper ewParcelaAtualExtraTres = new EntityWrapper(parcelaAtualExtraTres);
boolean aprovacaoAtualExtra3 = (boolean) ewParcelaAtualExtraTres.findValue("aprovacaoAprovadorExtra3");
ewParcelaAtualGeral.setValue("aprovacaoAprovadorExtra3", aprovacaoAtualExtra3);
}
//----------------------------------------------------------------------
PersistEngine.persist(parcelaAtualGeral);
}
}
@Nullable
Long ValidaCampo() {
return null;
}
}