Oi pessoal,
Bom, estou utilizando o seguinte ambiente:
Jasperreports 5.5.1
JSF 2.1
Tomcat 6
No projeto já temos alguns relatórios disponíveis para os clientes, todos sem problemas.
Mas surgiu o requisito de um novo relatório que é gerado a partir de uma lista, paginada, de DTOs. E a implementação desta lista, para carregar uma nova página de objetos, precisa de algumas informações obtidas a partir do FacesContext.
O problema é que durante o processo que monta o relatório, quando a lista pega a instância do FacesContext, com FacesContext.getCurrentInstance(), ele esta vindo NULL.
Eu estou logando a situação do FacesContext.getCurrentInstance() antes e depois de montar o relatório, e é retornado o mesmo objeto.
System.out.println(FacesContext.getCurrentInstance());
JasperPrint print = JasperFillManager.fillReport(report, parametros, new JRBeanCollectionDataSource(listaPaginada));
System.out.println(FacesContext.getCurrentInstance());
Alguém tem ideia do porque isso possa estar acontecendo? O JasperReport usa outro ClassLoader? Será que é essa a causa do problema problema?
Grato,
Filipe D.