Relatório - Ireport erro ao gerar relatorio

Java

03/12/2010

Bom dia Pessoal

Minha aplicação JSF, JPA , já olhei varios exemplos na net, mas ainda não consegui resolver e nem gerar o relatório na web.  esta dando um erro. Alguem pode me ajudar?


Segue codigo Java,


   @SuppressWarnings("deprecation")
    private List<?> todosResultsPesq() {

    try {

        if (this.dtCirurgia != null) {
        java.sql.Timestamp dataCirurgia = new java.sql.Timestamp(this.dtCirurgia.getYear(), this.dtCirurgia
            .getMonth(), this.dtCirurgia.getDate(), 0, 0, 0, 0);

        return agendaCirurgicaDao.listPesqParamClauseWhere("Obj.cancelaCirurgia <> 2 AND obj.dtCirurgia = '"
            + dataCirurgia + "'");
        }
        Date now = new Date();
        java.sql.Timestamp dataGrid = new java.sql.Timestamp(now.getYear(), now.getMonth(), now.getDate(), 0, 0, 0,
            0);
        return agendaCirurgicaDao.listPesqParamClauseWhere("Obj.cancelaCirurgia <> 2 AND obj.dtCirurgia >= '"
            + dataGrid + "'");

    } catch (Exception ex) {
        System.out.println(ex.getCause() + " -> " + ex.getMessage() + " -> " + ex.getLocalizedMessage());
    }
    return null;

    }
    

    @SuppressWarnings("unchecked")
    public void executarRelatorio(ActionEvent action) throws ParseException {

    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

    // pega o caminho do arquivo .jasper da aplicação
    InputStream reportStream = context.getExternalContext().getResourceAsStream(
        "/relatorios/agendaBlocoCirurgico.jasper");

    // envia a resposta com o MIME Type PDF
    response.setContentType("application/pdf");
    /*
     * força a abertura de download
     * response.setHeader("Content-disposition",
     * "attachment;filename=relatorio.pdf");
     */

    try {
        ServletOutputStream servletOutputStream = response.getOutputStream();

        // envia o título para o relatório, usando o parâmetro criado
        Map<String, String> parametros = new HashMap<String, String>();
        //parametros.put("TITULO", "Relatório de Compras Efetuadas no Site");

        List dados = new ArrayList();

        Map record = null;

        // varre a consulta e separa os objetos
        for (Iterator iterator = todosResultsPesq().iterator(); iterator.hasNext();) {

        Object[] o = (Object[]) iterator.next();
        record = new HashMap();
        // coloca em um Map cada um dos campos criados
        // manualmente pelo relatório
        record.put("pacinte", o[0].toString());
        record.put("procedimento", o[1].toString());
        record.put("medico", o[2].toString());
        record.put("convenio", o[3].toString());
        record.put("statusCor", o[4].toString());
        record.put("observacao", o[4].toString());

        // adiciona o List dados
        dados.add(record);

        }

        // cria uma fonte de dados para coleções
        JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(dados);

        // envia para o navegador o PDF gerado
        JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);

        servletOutputStream.flush();
        servletOutputStream.close();

    } catch (JRException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        // evita erro do JSF após completar
        // a geração do relatório
        // avisando o FacesContext que a resposta está completa
        context.responseComplete();

    }
    }


Depois uso
<h:commandLink actionListener="#{agendaCirurgicaController.executarRelatorio}" value="Gerar Relatório" />
- para chamar o relatorio


Segue Erro:

09:34:07,179 ERROR AjaxViewRoot:327 - Error processing faces event for the component formGrid:j_id532
javax.faces.event.AbortProcessingException: /ti/cadastraAgendaCirurgica.xhtml @172,116 actionListener="#{agendaCirurgicaController.executarRelatorio}": java.lang.ClassCastException: br.com.scp.intranet.modelo.AgendaCirurgica cannot be cast to [Ljava.lang.Object;
    at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:118)


Cleber Faria*

Cleber Faria*

Curtidas 0

Respostas

Davi Costa

Davi Costa

03/12/2010

Bom Cleber,
duas considerações a fazer:
1-  a classe agendaCirurgicaController está declarada no faces-config dessa forma?

2- Talvez em alguma parte da sua página tenha uma comboBox de AgendaCirurgica e precise de um converter para ela.

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

sim esta declarada no faces-config minha agendaCirurgicaController, mas como faria esse converte, nao entendi.
Me parece que o erro seja alguma coisa sobre actionListener não poder fazer o cast (conversão) é isso?
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Não sei se entendeu o codigo que enviei, mandei com as tags  CODE e /CODE ma nao deu certo saiu tudo desconfigurado. O meu metodo para gerar o Relatório esta correto?
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Realmente está ruim de enchergar, só precisaremos nos preocupar com converter se tiver alguma opção de combobox dakela entidade, tem alguma na tela?
Realmente ficou ruim de ver o método de gerar relatório, postei alguns exemplos em outras threads, tenta dar uma olhada...... e por fim coloca um break-point no método para ver se pelo menos ele é chamado. E se passa por ele sem problemas.

Att Davi
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Dando uma olhada nmelhor no seu código está um pouco estranho essa abordagem  nesse trecho de código:

 record.put("pacinte", o[0].toString());
        record.put("procedimento", o[1].toString());
        record.put("medico", o[2].toString());
        record.put("convenio", o[3].toString());
        record.put("statusCor", o[4].toString());
        record.put("observacao", o[4].toString());

Vc não está usando JPA, porque usar essa lista de Object, pq não retorna o objeto que vc realmnete quer na sua camada de persistência, mas se estiver funcionando tudo bem, depois vc repensa em refatorar isso.
Coloca um break-point para ver se em alguma linha desse método estoura.
Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Olhá o código novamente, tenho um metdo de conexao e outro do relatorio que chama essa conexão, vou enviar novamente sem as tags...

   @SuppressWarnings("deprecation")
    private List<?> todosResultsPesq() {

    try {

        if (this.dtCirurgia != null) {
        java.sql.Timestamp dataCirurgia = new java.sql.Timestamp(this.dtCirurgia.getYear(), this.dtCirurgia
            .getMonth(), this.dtCirurgia.getDate(), 0, 0, 0, 0);

        return agendaCirurgicaDao.listPesqParamClauseWhere("Obj.cancelaCirurgia <> 2 AND obj.dtCirurgia = '"
            + dataCirurgia + "'");
        }
        Date now = new Date();
        java.sql.Timestamp dataGrid = new java.sql.Timestamp(now.getYear(), now.getMonth(), now.getDate(), 0, 0, 0,
            0);
        return agendaCirurgicaDao.listPesqParamClauseWhere("Obj.cancelaCirurgia <> 2 AND obj.dtCirurgia >= '"
            + dataGrid + "'");

    } catch (Exception ex) {
        System.out.println(ex.getCause() + " -> " + ex.getMessage() + " -> " + ex.getLocalizedMessage());
    }
    return null;

    }
   

    @SuppressWarnings("unchecked")
    public void executarRelatorio(ActionEvent action) throws ParseException {

    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

    // pega o caminho do arquivo .jasper da aplicação
    InputStream reportStream = context.getExternalContext().getResourceAsStream(
        "/relatorios/agendaBlocoCirurgico.jasper");

    // envia a resposta com o MIME Type PDF
    response.setContentType("application/pdf");
    /*
     * força a abertura de download
     * response.setHeader("Content-disposition",
     * "attachment;filename=relatorio.pdf");
     */

    try {
        ServletOutputStream servletOutputStream = response.getOutputStream();

        // envia o título para o relatório, usando o parâmetro criado
        Map<String, String> parametros = new HashMap<String, String>();
        //parametros.put("TITULO", "Relatório de Compras Efetuadas no Site");

        List dados = new ArrayList();

        Map record = null;

        // varre a consulta e separa os objetos
        for (Iterator iterator = todosResultsPesq().iterator(); iterator.hasNext();) {

        Object[] o = (Object[]) iterator.next();
        record = new HashMap();
        // coloca em um Map cada um dos campos criados
        // manualmente pelo relatório
        record.put("pacinte", o[0].toString());
        record.put("procedimento", o[1].toString());
        record.put("medico", o[2].toString());
        record.put("convenio", o[3].toString());
        record.put("statusCor", o[4].toString());
        record.put("observacao", o[4].toString());

        // adiciona o List dados
        dados.add(record);

        }

        // cria uma fonte de dados para coleções
        JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(dados);

        // envia para o navegador o PDF gerado
        JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);

        servletOutputStream.flush();
        servletOutputStream.close();

    } catch (JRException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        // evita erro do JSF após completar
        // a geração do relatório
        // avisando o FacesContext que a resposta está completa
        context.responseComplete();

    }
    }



GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Tenta alterar esse teu método de pesquisa para algo do tipo:

   @SuppressWarnings("deprecation")
    private <T> List<T>  todosResultsPesq(Class<T> classToCast) {

   //pega o código do seu DAO etrata para que ele te reorne a de objetos que vc quer

   /algo do tipo  List<T> listoReturn = query.getResultList();
    }


Mas como falei, vamos resolver seu problema primeiro.. tente colocar o break-point e ver primeiro se o método do action Listener é chamado e depois se quebra em alguma linha

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Então, fiz o debug na chamada do relatório, passou legal, vai para pagina em branco, o erro só vejo no console do eclipse. Vou ver se consigo fazer o que vc me disse talvez mudar o esquema do Object.
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Faz só mais um teste descomenta akele trecho de código
que força o download do relatório p ver o q acontece,.. e pq veio todo em branco realmente não tinha registros no banco?

Att Davi
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Ah quase esquecia tenta trocar na sua página para vc usar um action normal aí no seu manage bean vc tira os parâmetros ActionEvent do seu método de execução do relatório .
Em relação ao uso de Generics estou fazendo uma série de artigo que a segunda parte vai tratar de generics, artigo qual que estarei entregando até domingo.

https://www.devmedia.com.br/post-18574-Desmistificando-a-Certificacao-SCJP6-Parte-I.html

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Fiz o teste que me falou, salvei o arquivo ao abri-lo informou uma mensagem "O Adobe Reader não pode abrir este tipo de aquivo pois não fornece suport ou ele foi danificado por exemplo (foi enviado com anexo de email e não foi decodificado corretamente)".
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Tenho esses dois métodos que chamam o relatório e tenho certeza que funcionam pois uso aki nas minhas aplicações, adapta teu código para usá-los (um passa o dataSource e o outro usa uma connection):


//executa o relatório através de um JRBeanCollectionDataSource
    public static void executarRelatorio(String caminhoRelatorio, Map<String, Object> parametros, String nomeRel, JRBeanCollectionDataSource fonteDados) throws Exception{
       
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
       
        //pega o caminho do arquivo .jasper da aplicação
        InputStream reportStream = context.getExternalContext().getResourceAsStream(caminhoRelatorio);

        /*//envia a resposta com o MIME Type
        if(tipoFormatoRelatorio.equals(TipoFormatoRelatorio.ACROBAT_PDF)){
            response.setContentType("application/pdf");
        }else if(tipoFormatoRelatorio.equals(TipoFormatoRelatorio.PAGINA_HTML)){
            response.setContentType("application/html");
        }
        */
        response.setHeader("Content-Disposition", "attachment; filename="+ nomeRel +".pdf");
        response.setContentType("application/download");
        response.setHeader("Pragma", "no-cache");
        try {
            ServletOutputStream servletOutputStream = response.getOutputStream();
           
            //envia parametros para o relatório
            if (parametros == null){
                parametros = new HashMap<String, Object>();
            }
       
            //envia para o navegador o PDF gerado
            JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);
            servletOutputStream.flush();
            servletOutputStream.close();
       
        } catch (JRException e) {
            e.printStackTrace();
            throw new Exception("Um erro ocorreu quando o relatório estava sendo executado.");
        } catch (IOException e) {
            e.printStackTrace();
            throw new Exception("Um erro ocorreu quando o relatório estava sendo executado.");
        }finally{
            context.responseComplete();
        }
    }
   
    //executa o relatorio através de uma Connection
    public static void executarRelatorio(String caminhoRelatorio, Map<String, Object> parametros, TipoFormatoRelatorio tipoFormatoRelatorio, Connection conn) throws Exception{
       
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
       
        //pega o caminho do arquivo .jasper da aplicação
        InputStream reportStream = context.getExternalContext().getResourceAsStream(caminhoRelatorio);

        //envia a resposta com o MIME Type
        if(tipoFormatoRelatorio.equals(TipoFormatoRelatorio.ACROBAT_PDF)){
            response.setContentType("application/pdf");
        }else if(tipoFormatoRelatorio.equals(TipoFormatoRelatorio.PAGINA_HTML)){
            response.setContentType("application/html");
        }
       
        try {
            ServletOutputStream servletOutputStream = response.getOutputStream();
           
            //envia parametros para o relatorio
            if (parametros == null){
                parametros = new HashMap<String, Object>();
            }
       
            //envia para o navegador o PDF gerado
            JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, conn);
            servletOutputStream.flush();
            servletOutputStream.close();
       
        } catch (JRException e) {
            e.printStackTrace();
            throw new ReportException("Um erro ocorreu quando o relatório estava sendo executado.");
        } catch (IOException e) {
            e.printStackTrace();
            throw new ReportException("Um erro ocorreu quando o relatório estava sendo executado.");
        }finally{
            context.responseComplete();
        }
    }

A estratégia que gosto de usar e deixar esses métodos em uma classe separada, por exemplo ReportUtil e como eles são static só faço sua chamadas para essa classe sem instanciá-la na minha Action, por exemplo:
ReporUtil.executarRelatorio(...);

Espero ter ajudado

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Fiz como vc disse sobre tirar o Parametro do metodo e mudei para action em vez de actionListener

Pelo jeito deu o mesmo erro!!!

03/12/2010 11:12:30 com.sun.faces.application.ActionListenerImpl processAction
SEVERE: java.lang.ClassCastException: br.com.scp.intranet.modelo.AgendaCirurgica cannot be cast to [Ljava.lang.Object;
javax.faces.el.EvaluationException: java.lang.ClassCastException: br.com.scp.intranet.modelo.AgendaCirurgica cannot be cast to [Ljava.lang.Object;
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Deixa ActionListener mesmo tem problema não, testa os métodos que postei aki por último e passa o feedBack do que aconteceu, e debuga a formação do teu DataSource só para garantir que os registros estão vindo direitim do teu banco.


Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Vou fazer com seu exemplo
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Fiz as modificações, mas agora ta dando null


Errro

03/12/2010 13:27:02 com.sun.faces.application.ActionListenerImpl processAction
SEVERE: java.lang.NullPointerException
javax.faces.el.EvaluationException: java.lang.NullPointerException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)

GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Cleber posta o erro todo.

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Modifiquei o codigo dentro do seu exemplo, mas não criei classe separada não, só os metodos no meu Bean

Codigo Java:

   // executa o relatório através de um JRBeanCollectionDataSource
    public static void executarRelatorio(String caminhoRelatorio, Map<String, Object> parametros, String nomeRel,
        JRBeanCollectionDataSource fonteDados) throws ParseException, JRException {

    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

    // pega o caminho do arquivo .jasper da aplicação
    InputStream reportStream = context.getExternalContext().getResourceAsStream(caminhoRelatorio);

    /*
     * //envia a resposta com o MIME Type
     * if(tipoFormatoRelatorio.equals(TipoFormatoRelatorio.ACROBAT_PDF)){
     * response.setContentType("application/pdf"); }else
     * if(tipoFormatoRelatorio.equals(TipoFormatoRelatorio.PAGINA_HTML)){
     * response.setContentType("application/html"); }
     */
    response.setHeader("Content-Disposition", "attachment; filename=" + nomeRel + ".pdf");
    response.setContentType("application/download");
    response.setHeader("Pragma", "no-cache");
    try {
        ServletOutputStream servletOutputStream = response.getOutputStream();

        // envia parametros para o relatório
        if (parametros == null) {
        parametros = new HashMap<String, Object>();
        }

        // envia para o navegador o PDF gerado
        JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);
        servletOutputStream.flush();
        servletOutputStream.close();

    } catch (JRException e) {
        e.printStackTrace();
        throw new JRException(ERRO_MENSAGEM_REPORT);
    } catch (IOException e) {
        e.printStackTrace();
        throw new JRException(ERRO_MENSAGEM_REPORT);
    } finally {
        context.responseComplete();
    }
    }

    @SuppressWarnings( { "unchecked" })
    public void executarRelatorioAgenda() throws ParseException, Exception {
    List dados = new ArrayList();
    Map record = null;

    for (AgendaCirurgica agenda : todosResultsPesq()) {

        record = new HashMap();
        // coloca em um Map cada um dos campos criados
        // manualmente pelo relatorio
        record.put("pacinte", agenda.getPaciente());
        record.put("procedimento", agenda.getProcedimento());
        record.put("medico", agenda.getMedic().getNome_do_medico());
        record.put("convenio", agenda.getConvenio());
        record.put("statusCor", agenda.getStatusCor());
        record.put("observacao", agenda.getObservacao());

        // adiciona o List dados
        dados.add(record);

    }

    // cria uma fonte de dados para coleções
    JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(dados);
    Map<String, Object> parametros = new HashMap<String, Object>();
    // parametros.put("PARAMETRO_TITULO_RELATORIO",
    // "RELATÓRIO DE UNIDADES");

    executarRelatorio("/relatorios/agendaBlocoCirurgico.jasper", parametros, null, fonteDados);

    }


GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Davi - segue o erro todo


03/12/2010 13:27:02 com.sun.faces.application.ActionListenerImpl processAction
SEVERE: java.lang.NullPointerException
javax.faces.el.EvaluationException: java.lang.NullPointerException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
    at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
    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:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:192)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
    at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:368)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorio(AgendaCirurgicaController.java:760)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorioAgenda(AgendaCirurgicaController.java:803)
    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:597)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 33 more
03/12/2010 13:27:02 com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{agendaCirurgicaController.executarRelatorioAgenda}: java.lang.NullPointerException
javax.faces.FacesException: #{agendaCirurgicaController.executarRelatorioAgenda}: java.lang.NullPointerException
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    ... 32 more
Caused by: java.lang.NullPointerException
    at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
    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:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:192)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
    at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:368)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorio(AgendaCirurgicaController.java:760)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorioAgenda(AgendaCirurgicaController.java:803)
    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:597)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 33 more
03/12/2010 13:27:02 com.sun.faces.lifecycle.Phase doPhase
SEVERE: JSF1054: (Phase ID: INVOKE_APPLICATION 5, View ID: /ti/cadastraAgendaCirurgica.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@147545b]
13:27:02,393 ERROR BaseXMLFilter:181 - Exception in the filter chain
javax.servlet.ServletException: #{agendaCirurgicaController.executarRelatorioAgenda}: java.lang.NullPointerException
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.FacesException: #{agendaCirurgicaController.executarRelatorioAgenda}: java.lang.NullPointerException
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    ... 23 more
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    ... 32 more
Caused by: java.lang.NullPointerException
    at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
    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:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:192)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
    at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:368)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorio(AgendaCirurgicaController.java:760)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorioAgenda(AgendaCirurgicaController.java:803)
    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:597)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 33 more
03/12/2010 13:27:02 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
    at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
    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:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:192)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
    at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:368)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorio(AgendaCirurgicaController.java:760)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorioAgenda(AgendaCirurgicaController.java:803)
    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:597)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
View ID:/ti/login.xhtml
Hibernate: 
    select
        modulo0_.codModulo as codModulo35_,
        modulo0_.caminhoAcesso as caminhoA2_35_,
        modulo0_.descricao as descricao35_,
        modulo0_.nome as nome35_,
        modulo0_.restrito as restrito35_,
        modulo0_.codSistema as codSistema35_,
        modulo0_.titulo as titulo35_ 
    from
        intranet.modulo modulo0_
13:27:02,410 ERROR LazyInitializationException:19 - failed to lazily initialize a collection of role: br.com.scp.intranet.modelo.Modulo.pages, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.scp.intranet.modelo.Modulo.pages, no session or session was closed
    at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
    at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
    at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
    at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
    at org.hibernate.collection.PersistentBag.iterator(PersistentBag.java:249)
    at br.com.scp.intranet.utils.ForcarLoginPhaseListener.beforePhase(ForcarLoginPhaseListener.java:46)
    at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
    at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
03/12/2010 13:27:02 com.sun.faces.lifecycle.Phase handleBeforePhase
WARNING: JSF1053: (Listener: br.com.scp.intranet.utils.ForcarLoginPhaseListener.beforePhase(), Phase ID: RENDER_RESPONSE 6,  View ID: /ti/login.xhtml) Exception thrown during phase-listener execution: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.scp.intranet.modelo.Modulo.pages, no session or session was closed
03/12/2010 13:27:02 com.sun.faces.lifecycle.Phase handleBeforePhase
WARNING: org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
org.hibernate.collection.PersistentBag.iterator(PersistentBag.java:249)
br.com.scp.intranet.utils.ForcarLoginPhaseListener.beforePhase(ForcarLoginPhaseListener.java:46)
com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:415)
org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)

GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Aquele terceiro parametro não podeia ter ido null, mas n sei se o problema só está aí,
preciso ver teu erro do console completo. O terceiro parâmetro vai ser o nome do arquivo pdf que vai ser criado.

Att Davi
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Quando postei n tinha visto q vc já havia colocado o erro. Pelo erro deu pperceber que o problema está aki:

AgendaCirurgicaController.java:760)
    at br.com.scp.intranet.controller.AgendaCirurgicaController.executarRelatorioAgenda(AgendaCirurgicaController.java:803)

Nas linhas 760 6 803 do teu action está dando nullpointer exception... manda esse trecho de código da 760 a 803 enumerado.

att davi
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Não tenho certeza,mas desconfio que as linhas citadas anteriormente sejam essas:

response.setHeader("Content-Disposition", "attachment; filename=" + nomeRel + ".pdf");


e :

executarRelatorio("/relatorios/agendaBlocoCirurgico.jasper", parametros, null, fonteDados);


Já adianta e conferi, se forem é o problema do null que vc tá passando.

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Davi, to meio perdido aqui...rsr

da onde vem o parametro do nome do arquivo, que está com null
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

executarRelatorio("/relatorios/agendaBlocoCirurgico.jasper", parametros, null, fonteDados);


Essa parte mais em destaque, vai ser usado para o nome do arquivo físico do pdf, só isso. Quando aparecer a opção para o usuário fazer download vai ser um arquivo com esse parâmtetro.pdf.
Mas me mostra essas linhas que citei antes, para ver se eram elas q estão dando o problema.

Só mais uma ressalva esse parâmetro não é o título do seu relatório.

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);
        servletOutputStream.flush();
        servletOutputStream.close();

    } catch (JRException e) {
        e.printStackTrace();
        throw new JRException(ERRO_MENSAGEM_REPORT);
    } catch (IOException e) {
        e.printStackTrace();
        throw new JRException(ERRO_MENSAGEM_REPORT);
    } finally {
        context.responseComplete();
    }
    }

    @SuppressWarnings( { "unchecked" })
    public void executarRelatorioAgenda() throws ParseException, Exception {
    List dados = new ArrayList();
    Map record = null;

    for (AgendaCirurgica agenda : todosResultsPesq()) {

        record = new HashMap();
        // coloca em um Map cada um dos campos criados
        // manualmente pelo relatorio
        record.put("pacinte", agenda.getPaciente());
        record.put("procedimento", agenda.getProcedimento());
        record.put("medico", agenda.getMedic().getNome_do_medico());
        record.put("convenio", agenda.getConvenio());
        record.put("statusCor", agenda.getStatusCor());
        record.put("observacao", agenda.getObservacao());

        // adiciona o List dados
        dados.add(record);

    }

    // cria uma fonte de dados para coleções
    JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(dados);
    Map<String, Object> parametros = new HashMap<String, Object>();
    // parametros.put("PARAMETRO_TITULO_RELATORIO",
    // "RELATÓRIO DE UNIDADES");
    String nomerel = "relatorioAgenda";
    executarRelatorio("/relatorios/agendaBlocoCirurgico.jasper", parametros, nomerel, fonteDados);

GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Só não deu para mostrar as linhas enumeradas, não sei como fazer isso no post


continua dando erro, mesmo colocando a parte no nome do relatório




GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Qual valor está nulo nessas linhas que quebram?
Debuga para ver,
se não conseguir ver as lihas na sua ide vai no canto esquerdo onde inserimos o código pression o mouse c o botão direito e ativa a opção de mostrar número.

Se possível me manda essa duas linhas que o erro apresenta que está acontecendo o nullPointer.
Temos que saber o qestá vindo nulo, para instanciarmos da forma correta.
Como vc está usando o código na propria action esse método não precisa ser static. Não temos o porque mais de fazer já que está sendo chamado da própria classe.

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Olá David. fiz o Debug, mas não estou entendendo muito bem o que veio nulo, meus dados retornados do banco estão vindo, isso não veio nulo. O problema eu acho que é algum parametro na chamada do metodo     public void executarRelatorio(String caminhoRelatorio, Map<String, Object> parametros, String nomeRel,
        JRBeanCollectionDataSource fonteDados) throws ParseException, JRException {

Não sei mas o que faço - não teria como lhe enviar o meu código o meu projeto pra vc dar uma olhada?
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

O que pretendo fazer é um relatório que me retorne um agrupamento por salas de cirurgias e que possa ser filtrado em uma data selecionada pelo usuario o unico parametro seria esse da data então. Não sei usar muito bem o ireport, pois esta sendo o meu primeiro contato. Talvez possa ser algum problema no arquivo. jasper que esta dentro do WebContent/relatorio do meu projeto.


GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Já fez a etapa de compilação?.. apontando para a sua pasta do seu projeto? E executou sem erros?

Att Davi
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Cleber acabei de te mandar um email com uma aplicação de exemplo.
Vc vai precisar só de alguns jars para poder testar.

Att Davi
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Sim, mas ainda não fiz ele agrupando por sala ainda não sei como fazer agrupamentos - o arquivo Jasper foi gerado sem erros só que no ireport não consegui ver os dados pois estou fazendo pelo Menaged Bean - quando compilado não da erro mas vem mostrando os campos como null. Teria com entrar em contato por Skype ou MSN com vc? -

SKype: webfaria - MSN webfaria@hotmail.com
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Já tinha visto esse projeto na Revista Java Magazine - pensei em fazer seguindo o modelo, mas ele é  feito em Servlet e meu projeto estou usando JSF, JPA  e Spring daria certo?
GOSTEI 0
Davi Costa

Davi Costa

03/12/2010

Infelizmente a rede aqui do cliente onde estou alocado barra, msn, skype  e muitos outros mais  rsrsrs.
Daria certo sim, a chamada para o ireport são do mesmo jeito, somente a forma de vc consultar os dados é que mudam se vc estiver usando JPA e outros frameworks.

Att Davi

GOSTEI 0
Dyego Carmo

Dyego Carmo

03/12/2010

Resolveu ?

GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Blz Diego, gosto muito das suas video aulas

Não, ainda não. Estou tentando outra abordagem sem usar o Ireport, pra quebrar o galho, mas quero muito aprender o tal do Ireport com jasper. Se puder me ajudar
GOSTEI 0
Cleber Faria*

Cleber Faria*

03/12/2010

Aproveitando o gancho, no componente <h:outputLabel> quero bloquear a digitação sem usar o atributo disable"true" tem como fazer isso?

GOSTEI 0
Dyego Carmo

Dyego Carmo

03/12/2010

Deu certo ?

Fico no aguardo !
GOSTEI 0
POSTAR