KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > StretchApp


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
30 import net.sf.jasperreports.engine.JREmptyDataSource;
31 import net.sf.jasperreports.engine.JRException;
32 import net.sf.jasperreports.engine.JRExporterParameter;
33 import net.sf.jasperreports.engine.JasperExportManager;
34 import net.sf.jasperreports.engine.JasperFillManager;
35 import net.sf.jasperreports.engine.JasperPrint;
36 import net.sf.jasperreports.engine.JasperPrintManager;
37 import net.sf.jasperreports.engine.JasperRunManager;
38 import net.sf.jasperreports.engine.export.JExcelApiExporter;
39 import net.sf.jasperreports.engine.export.JExcelApiExporterParameter;
40 import net.sf.jasperreports.engine.export.JRCsvExporter;
41 import net.sf.jasperreports.engine.export.JRRtfExporter;
42 import net.sf.jasperreports.engine.export.JRXlsExporter;
43 import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
44 import net.sf.jasperreports.engine.util.JRLoader;
45
46
47 /**
48  * @author Teodor Danciu (teodord@users.sourceforge.net)
49  * @version $Id: StretchApp.java 1336 2006-07-11 18:21:44 +0300 (Tue, 11 Jul 2006) teodord $
50  */

51 public class StretchApp
52 {
53
54
55     /**
56      *
57      */

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

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

239     private static void usage()
240     {
241         System.out.println( "StretchApp usage:" );
242         System.out.println( "\tjava StretchApp -Ttask -Ffile" );
243         System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run" );
244     }
245
246
247 }
248
Popular Tags