package gcom.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import gcom.gui.cadastro.atualizacaocadastral.AlteracaoImovelRelatorioAtualizacaoCadastral; import gcom.gui.cadastro.atualizacaocadastral.ImovelRelatorioAtualizacaoCadastral; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.export.JRPdfExporter; import net.sf.jasperreports.engine.export.JRPdfExporterParameter; public class JasperUtil { public void gerarRelatorio(){ try { Collection dados = new ArrayList(); ImovelRelatorioAtualizacaoCadastral item = new ImovelRelatorioAtualizacaoCadastral(); item.setDescImovel("1234567"); AlteracaoImovelRelatorioAtualizacaoCadastral atua = new AlteracaoImovelRelatorioAtualizacaoCadastral("Altera��o de Hidr�metro " , "POTENCIAL" , "DESLIGADO"); item.addAlteracao(atua); atua = new AlteracaoImovelRelatorioAtualizacaoCadastral("Altera��o de Situa��o de �gua", "LIGADO", "POTENCIAL"); item.addAlteracao(atua); dados.add(item); item = new ImovelRelatorioAtualizacaoCadastral(); item.setDescImovel("4747383829"); atua = new AlteracaoImovelRelatorioAtualizacaoCadastral("Altera��o de Situa��o de ESGOTO", "LIGADO", "DESLIGADO"); item.addAlteracao(atua); atua = new AlteracaoImovelRelatorioAtualizacaoCadastral("Quantidade de economias - RESIDENCIAL R2", "LIGADO", "DESLIGADO"); item.addAlteracao(atua); dados.add(item); Map<String, Object> parametros = new HashMap<String, Object>(); parametros.put("P_MESA", "40"); parametros.put("SUBREPORT_DIR", "/desenvolvimento/"); JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(dados); String str = "/desenvolvimento/relatorioConsultaAtualizacaoCadastral.jasper"; JasperPrint jasperPrint = JasperFillManager.fillReport(str, parametros, dataSource); File dest = new File("/desenvolvimento/pdf.pdf"); dest.createNewFile(); OutputStream out = new FileOutputStream(dest); pdfExporter(jasperPrint, out); } catch (JRException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } private static void pdfExporter(JasperPrint jasperPrint, OutputStream out){ try { JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, out); exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE); exporter.exportReport(); out.close(); } catch (JRException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new JasperUtil().gerarRelatorio(); } }