KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > NoPageBreakApp


1 /*
2  * ============================================================================
3  * GNU Lesser General Public License
4  * ============================================================================
5  *
6  * JasperReports - Free Java report-generating library.
7  * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22  *
23  * JasperSoft Corporation
24  * 303 Second Street, Suite 450 North
25  * San Francisco, CA 94107
26  * http://www.jaspersoft.com
27  */

28 import java.io.File JavaDoc;
29 import java.sql.Connection JavaDoc;
30 import java.sql.DriverManager JavaDoc;
31 import java.sql.SQLException JavaDoc;
32 import java.util.HashMap JavaDoc;
33 import java.util.Map JavaDoc;
34
35 import net.sf.jasperreports.engine.JRException;
36 import net.sf.jasperreports.engine.JRExporterParameter;
37 import net.sf.jasperreports.engine.JasperExportManager;
38 import net.sf.jasperreports.engine.JasperFillManager;
39 import net.sf.jasperreports.engine.JasperPrint;
40 import net.sf.jasperreports.engine.JasperPrintManager;
41 import net.sf.jasperreports.engine.JasperRunManager;
42 import net.sf.jasperreports.engine.export.JExcelApiExporter;
43 import net.sf.jasperreports.engine.export.JRCsvExporter;
44 import net.sf.jasperreports.engine.export.JRHtmlExporter;
45 import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
46 import net.sf.jasperreports.engine.export.JRRtfExporter;
47 import net.sf.jasperreports.engine.export.JRXlsExporter;
48 import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
49 import net.sf.jasperreports.engine.util.JRLoader;
50
51
52 /**
53  * @author Teodor Danciu (teodord@users.sourceforge.net)
54  * @version $Id: NoPageBreakApp.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
55  */

56 public class NoPageBreakApp
57 {
58
59
60     /**
61      *
62      */

63     private static final String JavaDoc TASK_FILL = "fill";
64     private static final String JavaDoc TASK_PRINT = "print";
65     private static final String JavaDoc TASK_PDF = "pdf";
66     private static final String JavaDoc TASK_XML = "xml";
67     private static final String JavaDoc TASK_XML_EMBED = "xmlEmbed";
68     private static final String JavaDoc TASK_HTML = "html";
69     private static final String JavaDoc TASK_RTF = "rtf";
70     private static final String JavaDoc TASK_XLS = "xls";
71     private static final String JavaDoc TASK_JXL = "jxl";
72     private static final String JavaDoc TASK_CSV = "csv";
73     private static final String JavaDoc TASK_RUN = "run";
74     
75     
76     /**
77      *
78      */

79     public static void main(String JavaDoc[] args)
80     {
81         String JavaDoc fileName = null;
82         String JavaDoc taskName = null;
83
84         if(args.length == 0)
85         {
86             usage();
87             return;
88         }
89                 
90         int k = 0;
91         while ( args.length > k )
92         {
93             if ( args[k].startsWith("-T") )
94                 taskName = args[k].substring(2);
95             if ( args[k].startsWith("-F") )
96                 fileName = args[k].substring(2);
97             
98             k++;
99         }
100
101         try
102         {
103             long start = System.currentTimeMillis();
104             if (TASK_FILL.equals(taskName))
105             {
106                 //Preparing parameters
107
Map JavaDoc parameters = new HashMap JavaDoc();
108                 parameters.put("ReportTitle", "Orders Report");
109
110                 JasperFillManager.fillReportToFile(fileName, parameters, getConnection());
111                 System.err.println("Filling time : " + (System.currentTimeMillis() - start));
112                 System.exit(0);
113             }
114             else if (TASK_PRINT.equals(taskName))
115             {
116                 JasperPrintManager.printReport(fileName, true);
117                 System.err.println("Printing time : " + (System.currentTimeMillis() - start));
118                 System.exit(0);
119             }
120             else if (TASK_PDF.equals(taskName))
121             {
122                 JasperExportManager.exportReportToPdfFile(fileName);
123                 System.err.println("PDF creation time : " + (System.currentTimeMillis() - start));
124                 System.exit(0);
125             }
126             else if (TASK_RTF.equals(taskName))
127             {
128                 File JavaDoc sourceFile = new File JavaDoc(fileName);
129         
130                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
131         
132                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".rtf");
133                 
134                 JRRtfExporter exporter = new JRRtfExporter();
135                 
136                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
137                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
138                 
139                 exporter.exportReport();
140
141                 System.err.println("RTF creation time : " + (System.currentTimeMillis() - start));
142                 System.exit(0);
143             }
144             else if (TASK_XML.equals(taskName))
145             {
146                 JasperExportManager.exportReportToXmlFile(fileName, false);
147                 System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
148                 System.exit(0);
149             }
150             else if (TASK_XML_EMBED.equals(taskName))
151             {
152                 JasperExportManager.exportReportToXmlFile(fileName, true);
153                 System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
154                 System.exit(0);
155             }
156             else if (TASK_HTML.equals(taskName))
157             {
158                 File JavaDoc sourceFile = new File JavaDoc(fileName);
159         
160                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
161         
162                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".html");
163                 
164                 JRHtmlExporter exporter = new JRHtmlExporter();
165                 
166                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
167                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
168                 exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "");
169                 exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
170                 
171                 exporter.exportReport();
172
173                 System.err.println("HTML creation time : " + (System.currentTimeMillis() - start));
174                 System.exit(0);
175             }
176             else if (TASK_XLS.equals(taskName))
177             {
178                 File JavaDoc sourceFile = new File JavaDoc(fileName);
179         
180                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
181         
182                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".xls");
183                 
184                 JRXlsExporter exporter = new JRXlsExporter();
185                 
186                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
187                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
188                 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
189                 exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
190                 
191                 exporter.exportReport();
192
193                 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
194                 System.exit(0);
195             }
196             else if (TASK_JXL.equals(taskName))
197             {
198                 File JavaDoc sourceFile = new File JavaDoc(fileName);
199
200                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
201
202                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".jxl.xls");
203
204                 JExcelApiExporter exporter = new JExcelApiExporter();
205
206                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
207                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
208                 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
209                 exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
210
211                 exporter.exportReport();
212
213                 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
214                 System.exit(0);
215             }
216             else if (TASK_CSV.equals(taskName))
217             {
218                 File JavaDoc sourceFile = new File JavaDoc(fileName);
219         
220                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
221         
222                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".csv");
223                 
224                 JRCsvExporter exporter = new JRCsvExporter();
225                 
226                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
227                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
228                 
229                 exporter.exportReport();
230
231                 System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
232                 System.exit(0);
233             }
234             else if (TASK_RUN.equals(taskName))
235             {
236                 //Preparing parameters
237
Map JavaDoc parameters = new HashMap JavaDoc();
238                 parameters.put("ReportTitle", "Orders Report");
239
240                 JasperRunManager.runReportToPdfFile(fileName, parameters, getConnection());
241                 System.err.println("PDF running time : " + (System.currentTimeMillis() - start));
242                 System.exit(0);
243             }
244             else
245             {
246                 usage();
247                 System.exit(0);
248             }
249         }
250         catch (JRException e)
251         {
252             e.printStackTrace();
253             System.exit(1);
254         }
255         catch (Exception JavaDoc e)
256         {
257             e.printStackTrace();
258             System.exit(1);
259         }
260     }
261
262
263     /**
264      *
265      */

266     private static void usage()
267     {
268         System.out.println( "NoPageBreakApp usage:" );
269         System.out.println( "\tjava NoPageBreakApp -Ttask -Ffile" );
270         System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run" );
271     }
272
273
274     /**
275      *
276      */

277     private static Connection JavaDoc getConnection() throws ClassNotFoundException JavaDoc, SQLException JavaDoc
278     {
279         //Change these settings according to your local configuration
280
String JavaDoc driver = "org.hsqldb.jdbcDriver";
281         String JavaDoc connectString = "jdbc:hsqldb:hsql://localhost";
282         String JavaDoc user = "sa";
283         String JavaDoc password = "";
284
285
286         Class.forName(driver);
287         Connection JavaDoc conn = DriverManager.getConnection(connectString, user, password);
288         return conn;
289     }
290
291
292 }
293
Popular Tags