KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > utility > GridBO


1 /*
2  *************************************************************************
3  * The contents of this file are subject to the Openbravo Public License
4  * Version 1.0 (the "License"), being the Mozilla Public License
5  * Version 1.1 with a permitted attribution clause; you may not use this
6  * file except in compliance with the License. You may obtain a copy of
7  * the License at http://www.openbravo.com/legal/license.html
8  * Software distributed under the License is distributed on an "AS IS"
9  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
10  * License for the specific language governing rights and limitations
11  * under the License.
12  * The Original Code is Openbravo ERP.
13  * The Initial Developer of the Original Code is Openbravo SL
14  * All portions are Copyright (C) 2007 Openbravo SL
15  * All Rights Reserved.
16  * Contributor(s): ______________________________________.
17  ************************************************************************
18 */

19 package org.openbravo.erpCommon.utility;
20
21 import java.io.IOException JavaDoc;
22 import java.io.InputStream JavaDoc;
23 import java.io.OutputStream JavaDoc;
24 import java.util.HashMap JavaDoc;
25 import java.util.Map JavaDoc;
26
27 import net.sf.jasperreports.engine.JRException;
28 import net.sf.jasperreports.engine.JRExporterParameter;
29 import net.sf.jasperreports.engine.JasperCompileManager;
30 import net.sf.jasperreports.engine.JasperExportManager;
31 import net.sf.jasperreports.engine.JasperFillManager;
32 import net.sf.jasperreports.engine.JasperPrint;
33 import net.sf.jasperreports.engine.JasperReport;
34 import net.sf.jasperreports.engine.JRResultSetDataSource;
35 import net.sf.jasperreports.engine.design.JasperDesign;
36 import net.sf.jasperreports.engine.export.JExcelApiExporter;
37 import net.sf.jasperreports.engine.export.JRHtmlExporter;
38 import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
39 import net.sf.jasperreports.engine.export.JRCsvExporter;
40 import net.sf.jasperreports.engine.xml.JRXmlLoader;
41 import net.sf.jasperreports.engine.export.JExcelApiExporterParameter;
42
43 public class GridBO {
44
45   public void createHTMLReport(InputStream JavaDoc reportFile,
46       GridReportVO gridReportVO, OutputStream JavaDoc os) throws JRException,
47       IOException JavaDoc {
48     gridReportVO.setPagination(false);
49     JasperPrint jasperPrint = createJasperPrint(reportFile, gridReportVO);
50     JRHtmlExporter exporter = new JRHtmlExporter();
51     Map JavaDoc p = new HashMap JavaDoc();
52     p.put(JRHtmlExporterParameter.JASPER_PRINT, jasperPrint);
53     p.put(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
54     p.put(JRHtmlExporterParameter.OUTPUT_STREAM, os);
55     exporter.setParameters(p);
56     exporter.exportReport();
57    
58   
59   }
60
61   private JasperDesign createJasperDesign(InputStream JavaDoc reportFile,
62       GridReportVO gridReportVO) throws JRException {
63     JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
64     ReportDesignBO designBO = new ReportDesignBO(jasperDesign, gridReportVO);
65     designBO.define();
66     return jasperDesign;
67   }
68
69   private JasperPrint createJasperPrint(InputStream JavaDoc reportFile,
70       GridReportVO gridReportVO) throws JRException, IOException JavaDoc {
71     JasperDesign jasperDesign = createJasperDesign(reportFile, gridReportVO);
72     JasperReport jasperReport = JasperCompileManager
73         .compileReport(jasperDesign);
74     Map JavaDoc parameters = new HashMap JavaDoc();
75     parameters.put("BaseDir", gridReportVO.getContext());
76     parameters.put("IS_IGNORE_PAGINATION", gridReportVO.getPagination());
77
78     JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
79         parameters, new JRResultSetDataSource(gridReportVO.getResultSet()));
80     return jasperPrint;
81   }
82
83   public void createPDFReport(InputStream JavaDoc reportFile,
84       GridReportVO gridReportVO, OutputStream JavaDoc os) throws JRException,
85       IOException JavaDoc {
86     gridReportVO.setPagination(false);
87     JasperPrint jasperPrint = createJasperPrint(reportFile, gridReportVO);
88     JasperExportManager.exportReportToPdfStream(jasperPrint, os);
89
90   }
91
92   public void createXLSReport(InputStream JavaDoc reportFile,
93       GridReportVO gridReportVO, OutputStream JavaDoc os) throws JRException,
94       IOException JavaDoc {
95     gridReportVO.setPagination(true);
96     JasperPrint jasperPrint = createJasperPrint(reportFile, gridReportVO);
97     JExcelApiExporter exporter = new JExcelApiExporter();
98     Map JavaDoc p = new HashMap JavaDoc();
99
100     p.put(JRExporterParameter.JASPER_PRINT, jasperPrint);
101     p.put(JRExporterParameter.OUTPUT_STREAM, os);
102     p.put(JExcelApiExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
103     p.put(JExcelApiExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
104     p.put(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
105
106     exporter.setParameters(p);
107     exporter.exportReport();
108   }
109
110   public void createCSVReport(InputStream JavaDoc reportFile,
111       GridReportVO gridReportVO, OutputStream JavaDoc os) throws JRException,
112       IOException JavaDoc {
113     gridReportVO.setPagination(true);
114     JasperPrint jasperPrint = createJasperPrint(reportFile, gridReportVO);
115     JRCsvExporter exporter = new JRCsvExporter();
116     Map JavaDoc p = new HashMap JavaDoc();
117
118     p.put(JRExporterParameter.JASPER_PRINT, jasperPrint);
119     p.put(JRExporterParameter.OUTPUT_STREAM, os);
120
121     exporter.setParameters(p);
122     exporter.exportReport();
123   }
124
125   public void createXMLReport(InputStream JavaDoc reportFile,
126       GridReportVO gridReportVO, OutputStream JavaDoc os) throws JRException,
127       IOException JavaDoc {
128     gridReportVO.setPagination(true);
129     JasperPrint jasperPrint = createJasperPrint(reportFile, gridReportVO);
130     JasperExportManager.exportReportToXmlStream(jasperPrint, os);
131   }
132
133 }
134
Popular Tags