0
Calling any method in any null reference will always result in an exception. How could I fix 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;
}
}
Any of the List can come empty or null, for example : frmParcelasAprovarExtraUm
– Harry
Do the answers given answer your question? Is there anything any of us can improve? If you have, please leave a comment.
– Jéf Bueno
Has any response helped solve the problem and can address similar questions from other users? If so, make sure to mark the answer as accepted. To do this just click on the left side of it (below the indicator of up and down votes).
– Sorack