Nullpointer

GALERA ME AJUDEM.
estou com um codigo que está dando nullpointer numa linha e não sei como corrigi-lo.
heis o codigo.

public void verificarModemComodato(Instance newInstance, Instance tbnInstance, Instance idcInstance) 
    	throws Exception {
    	//PJ718 - Foguete Gugu - INICIO
        /*log.info("Chamando o método includeAssociationProduct para o instance");
        Element.includeAssociationProduct("Modem em Comodato", "Combinação de Produtos", instance.getElements());*/
        
        //caso nao haja modem na campanha, remove o modem e seus parametros
        if(tbnInstance != null || idcInstance!= null){
          
          /* 806 :: verifica se o turbonet eh maior que 5 mega para nao iserir modem comodato */
          boolean isTurbonetMaior5Mega = false;
          Iterator iTbInstanceElements = tbnInstance.getElements().iterator();<- [b]dá null pointer nessa linha (tbnInstance)[/b]
          while (iTbInstanceElements.hasNext()) {
              InstanceElement insElement = (InstanceElement)iTbInstanceElements.next();
              Element element = insElement.getElement();
              if (element.getType().equals("T")) {
                  Iterator iParams = element.getParameters().iterator();
                  while (iParams.hasNext()) {
                      ElementParam elemParam = (ElementParam)iParams.next();
                      if (elemParam.getName().equalsIgnoreCase("download")) {
                          if (elemParam.getMaxValue().floatValue() > 5120) {
                          isTurbonetMaior5Mega = true;
                            break;
                          }
                      }
                  }
              }
          }

coloca masi uma validacao mais ou menos assim

if( tbnInstance.getElements() != null)
{

}

tbnInstance está nulo? Se está nulo, por que estás acessando um método dele?

então a questão é que não fui eu que desenvolvi o codigo, eu dou suporte do mesmo.
como seria resolvido isso.
detalhe eu sou amador em java.

pintofree vou tentar a tua sujestão.

pintofree, não deu certo.

Cara, posta o novo codigo, e tmb posta a mesagem de erro completa, isso é importante pra que a gente possa te ajudar

Codigo

public void verificarModemComodato(Instance newInstance, Instance tbnInstance, Instance idcInstance) 
    	throws Exception {
    	//PJ718 - Foguete Gugu - INICIO
        /*log.info("Chamando o método includeAssociationProduct para o instance");
        Element.includeAssociationProduct("Modem em Comodato", "Combinação de Produtos", instance.getElements());*/
        
        //caso nao haja modem na campanha, remove o modem e seus parametros
        if(tbnInstance.getElements() != null || idcInstance!= null){
          
          /* 806 :: verifica se o turbonet eh maior que 5 mega para nao iserir modem comodato */
          boolean isTurbonetMaior5Mega = false;
          Iterator iTbInstanceElements = tbnInstance.getElements().iterator();
          while (iTbInstanceElements.hasNext()) {
              InstanceElement insElement = (InstanceElement)iTbInstanceElements.next();
              Element element = insElement.getElement();
              if (element.getType().equals("T")) {
                  Iterator iParams = element.getParameters().iterator();
                  while (iParams.hasNext()) {
                      ElementParam elemParam = (ElementParam)iParams.next();
                      if (elemParam.getName().equalsIgnoreCase("download")) {
                          if (elemParam.getMaxValue().floatValue() > 5120) {
                          isTurbonetMaior5Mega = true;
                            break;
                          }
                      }
                  }
              }
          }

Erro no Eclipse

10/07/05 17:29:49 java.lang.NullPointerException
10/07/05 17:29:49 	at com.gvt.servlet.store.ChooseElements.verificarModemComodato(ChooseElements.java:1923)
10/07/05 17:29:49 	at com.gvt.servlet.store.ChooseElements.processPost(ChooseElements.java:923)
10/07/05 17:29:49 	at com.gvt.servlet.store.ChooseElements.doPost(ChooseElements.java:390)

Amigo, vc tem q verificar se o objeto em si nao esta nulo antes de verificar se algum atributo dele está.
Faça assim


        //caso nao haja modem na campanha, remove o modem e seus parametros
        if(tbnInstance!= null && tbnInstance.getElements() != null && idcInstance!= null){
     

          }

aaaaaaaa!!!
waw.
Valeu pintofree.
funcionou.
Valeu muito brigado

Cara, só uma dica…

Se vc for inserir código direto das regras de negócio da sua empresa, tenta mascarar algumas informações, OK ? Lendo o código, deu pra ver que se o turbonet for maior que 5 megas, não se aplica comodato, certo? Só que se eu descobrir alguma falha na sua lógica, acho meios de burlar isso, entendeu?

[]´s