Relatorios ireport

2 respostas
J

Boa tarde pessoal,

Estou com um problema para gerar relatórios. Estou implantando um sistema que ja funcionava em outro ambiente e me deparei com a geração de um relatório onde o layout do mesmo esta em um arquivo jasper. Eu não possuo o jasper original, somente o jrxml. Assim que baixei uma versão do ireport compilei o jrxml e criei meu jasper, so que na hora de preencher o relatório me da o seguinte erro de null pointer, mesmo estando todos os parametros preenchidos corretamente. Se alguém puder me dar um help, agradeço. Segue abaixo o erro e o codigo onde é gerado o relatorio.

private boolean gerarRelatorio(String tipoRelatorio, HttpServletResponse response,
			ConsultarFichaFinanceiraForm form, Usuario usuarioLogado, Collection<FichaFinanceiraTO> fichas) {

		try {
			Map<String, Object> parameters = new HashMap<String, Object>();
			parameters.put("unidade", usuarioLogado.getNomeUnidadeLogada());
			String servidorBeneficiario = form.getIdUnicaMatricula() + "-" + form.getNome();
			parameters.put("servidorBeneficiario", servidorBeneficiario);
			parameters.put("REPORT_LOCALE", new Locale("pt", "BR"));

			String nomeRelatorio;
			if (tipoRelatorio.equals("servidor")) {
				nomeRelatorio = "JRFichaFinanceira_servidor";
			} else if (tipoRelatorio.equals("beneficiario")) {
				nomeRelatorio = "JRFichaFinanceira_beneficiario";
			} else if (tipoRelatorio.equals("beneficiarioProcesso")) {
				nomeRelatorio = "JRFichaFinanceira_beneficiarioProcesso";
			} else {
				throw new IllegalArgumentException("tipoRelatorio:" + tipoRelatorio);
			}
			String jrUrlFile = "reports/" + nomeRelatorio + ".jasper";
			logger.debug("jrUrlFile: " + jrUrlFile);

			OutputStream out = response.getOutputStream();
			response.setContentType("application/pdf");

			// Código para indicar ao Browser que o arquivo é um download (exibe a caixa de salvar).
			response.addHeader("Content-Disposition", "inline;filename=" + nomeRelatorio + new Date().getTime()	+ ".pdf");
			
			//JasperDesign design = JasperManager.loadXmlDesign(jrUrlFile);       
			//JasperReport jr = JasperManager.compileReport(design);  
			
			InputStream jrIn = this.getClass().getClassLoader().getResourceAsStream(jrUrlFile);
			JasperPrint jrPrint = JasperFillManager.fillReport(jrIn, parameters, new JRBeanCollectionDataSource(fichas));
			//JasperPrint jrPrint = JasperFillManager.fillReport(jr, parameters, new JRBeanCollectionDataSource(fichas));
					

			JasperExportManager.exportReportToPdfStream(jrPrint, out);
			logger.debug("Relatório gerado com sucesso.");
			return true;

		} catch (IOException e) {
			throw new RuntimeException(e);
		} catch (JRException e) {
			throw new RuntimeException(e);
		}
	}
java.lang.NullPointerException
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:582)
	at br.gov.agu.sicap.web.actions.ConsultarFichaFinanceiraAction.gerarRelatorio(ConsultarFichaFinanceiraAction.java:348)
	at br.gov.agu.sicap.web.actions.ConsultarFichaFinanceiraAction.montarFicha(ConsultarFichaFinanceiraAction.java:189)
	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:585)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
	at br.gov.agu.sicap.web.actions.BaseAction.execute(BaseAction.java:88)
	at br.gov.agu.sicap.web.actions.BaseConsultaDadosSiapeAction.execute(BaseConsultaDadosSiapeAction.java:45)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)

2 Respostas

L

Qual é a versão do Jasper/Ireport você está utilizando?

J

Opa valew ja consegui resolver, na geração do jasper tive que usar o ireport na versão 3.0.0 que é a mesma versão da API setada no meu classpath.
Valeu.

Criado 2 de dezembro de 2010
Ultima resposta 10 de dez. de 2010
Respostas 2
Participantes 2