KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > DataSourceApp


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.util.HashMap JavaDoc;
30 import java.util.Map JavaDoc;
31
32 import net.sf.jasperreports.engine.JRException;
33 import net.sf.jasperreports.engine.JRExporterParameter;
34 import net.sf.jasperreports.engine.JasperExportManager;
35 import net.sf.jasperreports.engine.JasperFillManager;
36 import net.sf.jasperreports.engine.JasperPrint;
37 import net.sf.jasperreports.engine.JasperPrintManager;
38 import net.sf.jasperreports.engine.JasperRunManager;
39 import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;
40 import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
41 import net.sf.jasperreports.engine.data.JRTableModelDataSource;
42 import net.sf.jasperreports.engine.export.JExcelApiExporter;
43 import net.sf.jasperreports.engine.export.JRCsvExporter;
44 import net.sf.jasperreports.engine.export.JRRtfExporter;
45 import net.sf.jasperreports.engine.export.JRXlsExporter;
46 import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
47 import net.sf.jasperreports.engine.util.JRLoader;
48
49
50 /**
51  * @author Teodor Danciu (teodord@users.sourceforge.net)
52  * @version $Id: DataSourceApp.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
53  */

54 public class DataSourceApp
55 {
56
57
58     /**
59      *
60      */

61     private static final String JavaDoc TASK_FILL_1 = "fill1";
62     private static final String JavaDoc TASK_FILL_2 = "fill2";
63     private static final String JavaDoc TASK_FILL_3 = "fill3";
64     private static final String JavaDoc TASK_FILL_4 = "fill4";
65     private static final String JavaDoc TASK_PRINT = "print";
66     private static final String JavaDoc TASK_PDF = "pdf";
67     private static final String JavaDoc TASK_XML = "xml";
68     private static final String JavaDoc TASK_XML_EMBED = "xmlEmbed";
69     private static final String JavaDoc TASK_HTML = "html";
70     private static final String JavaDoc TASK_RTF = "rtf";
71     private static final String JavaDoc TASK_XLS = "xls";
72     private static final String JavaDoc TASK_JXL = "jxl";
73     private static final String JavaDoc TASK_CSV = "csv";
74     private static final String JavaDoc TASK_RUN = "run";
75     
76     
77     /**
78      *
79      */

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

285     private static void usage()
286     {
287         System.out.println( "DataSourceApp usage:" );
288         System.out.println( "\tjava DataSourceApp -Ttask -Ffile" );
289         System.out.println( "\tTasks : fill1 | fill2 | fill3 | fill4 | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run" );
290     }
291
292
293 }
294
Popular Tags