Erro Iterator

2 respostas
denis_gariglio

Salve salve rapaziada … blz ???
Galera seguinte … to apanhando hj de um iterator aqui … eheh
segue o techo

int contador = 1; String procedimento = ""; Iterator itens = ControleFactory.getInstance().getGuiaControle() .getCtrItensGuia(recebegui); itens.hasNext(); itensguiaVO = (ItensGuiaVO) itens.next(); if (contador < 5) { parametros.put("proc" +"'"+ contador+"'", procedimento = itensguiaVO.getProcedimento()+ " - " + itensguiaVO.getDescricao() ); }

o problema é qdo passa pelo itensguiaVO = (ItensGuiaVO) itens.next();

Da a seguinte mensagem de erro :

<blockquote>java.lang.ClassCastException

at br.com.agsi.autorizanet.struts.action.RelatorioAction.doPost(RelatorioAction.java:117)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:309)

at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:231)

at br.com.agsi.util.AgsiDispatchAction.execute(AgsiDispatchAction.java:42)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:448)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:263)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1176)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:454)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)

at java.lang.Thread.run(Thread.java:534)

</blockquote>

isso ta me deixando louco ja … se alguem puder ajudar agraço muitoooooo
Vlw povo … :smiley:

2 Respostas

L

denis_gariglio:
Salve salve rapaziada … blz ???
Galera seguinte … to apanhando hj de um iterator aqui … eheh
segue o techo

int contador = 1; String procedimento = ""; Iterator itens = ControleFactory.getInstance().getGuiaControle() .getCtrItensGuia(recebegui); itens.hasNext(); itensguiaVO = (ItensGuiaVO) itens.next(); if (contador < 5) { parametros.put("proc" +"'"+ contador+"'", procedimento = itensguiaVO.getProcedimento()+ " - " + itensguiaVO.getDescricao() ); }

o problema é qdo passa pelo itensguiaVO = (ItensGuiaVO) itens.next();

Da a seguinte mensagem de erro :

<blockquote>java.lang.ClassCastException

at br.com.agsi.autorizanet.struts.action.RelatorioAction.doPost(RelatorioAction.java:117)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:309)

at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:231)

at br.com.agsi.util.AgsiDispatchAction.execute(AgsiDispatchAction.java:42)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:448)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:263)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1176)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:454)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)

at java.lang.Thread.run(Thread.java:534)

</blockquote>

isso ta me deixando louco ja … se alguem puder ajudar agraço muitoooooo
Vlw povo … :smiley:

vc podia melhorar seu código usando:

int contador = 1; String procedimento = ""; Iterator itens = ControleFactory.getInstance().getGuiaControle() .getCtrItensGuia(recebegui); if (itens.hasNext()) { itensguiaVO = (ItensGuiaVO) itens.next(); if (contador < 5) { parametros.put("proc" +"'"+ contador+"'", procedimento = itensguiaVO.getProcedimento()+ " - " + itensguiaVO.getDescricao() ); } }

Não sei se o que tem no corpo do if está certo, pq tah meio estranho seu código. Mas enfim, o seu erro é claro,
ClassCastException. Dentro de itens não tem ItensGuiaVO, tem outro objeto. Dá uma olhada no método getCtrItensGuia()
e ve que tipo de objeto ele coloca dentro da sua coleção.

Qlq coisa estamos ae.

[]'s

denis_gariglio

Vlw velhinho … vou verificar amanhã no trampo … entaum o codigo ta meio feião mesmo … precisei fazer uma POG provisoria … hehe
abraço

Criado 7 de dezembro de 2007
Ultima resposta 7 de dez. de 2007
Respostas 2
Participantes 2