KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > UnicodeApp


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.JREmptyDataSource;
33 import net.sf.jasperreports.engine.JRException;
34 import net.sf.jasperreports.engine.JRExporterParameter;
35 import net.sf.jasperreports.engine.JasperExportManager;
36 import net.sf.jasperreports.engine.JasperFillManager;
37 import net.sf.jasperreports.engine.JasperPrint;
38 import net.sf.jasperreports.engine.JasperPrintManager;
39 import net.sf.jasperreports.engine.JasperRunManager;
40 import net.sf.jasperreports.engine.export.JExcelApiExporter;
41 import net.sf.jasperreports.engine.export.JRCsvExporter;
42 import net.sf.jasperreports.engine.export.JRRtfExporter;
43 import net.sf.jasperreports.engine.export.JRXlsExporter;
44 import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
45 import net.sf.jasperreports.engine.util.JRLoader;
46
47
48 /**
49  * @author Teodor Danciu (teodord@users.sourceforge.net)
50  * @version $Id: UnicodeApp.java 1457 2006-11-06 12:20:59 +0200 (Mon, 06 Nov 2006) teodord $
51  */

52 public class UnicodeApp
53 {
54
55
56     /**
57      *
58      */

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

75     public static void main(String JavaDoc[] args)
76     {
77         String JavaDoc fileName = null;
78         String JavaDoc taskName = null;
79
80         if(args.length == 0)
81         {
82             usage();
83             return;
84         }
85                 
86         int k = 0;
87         while ( args.length > k )
88         {
89             if ( args[k].startsWith("-T") )
90                 taskName = args[k].substring(2);
91             if ( args[k].startsWith("-F") )
92                 fileName = args[k].substring(2);
93             
94             k++;
95         }
96
97         try
98         {
99             long start = System.currentTimeMillis();
100             if (TASK_FILL.equals(taskName))
101             {
102                 Map JavaDoc parameters = new HashMap JavaDoc();
103                 parameters.put("GreekText", "\u0393 \u0394 \u0398 \u039B \u039E \u03A0 \u03A3 \u03A6 \u03A8 \u03A9");
104                 parameters.put("CyrillicText", "\u0402 \u040B \u040F \u0414 \u0416 \u0418 \u041B \u0426 \u0429 \u042E");
105                 parameters.put("ArabicText", "\u0647\u0630\u0627 \u0639\u0631\u0636 \u0644\u0645\u062C\u0645\u0648\u0639\u0629 TextLayout");
106                 parameters.put("HebrewText", "\u05D0\u05E0\u05D9 \u05DC\u05D0 \u05DE\u05D1\u05D9\u05DF \u05E2\u05D1\u05E8\u05D9\u05EA");
107
108                 JasperFillManager.fillReportToFile(fileName, parameters, new JREmptyDataSource());
109                 System.err.println("Filling time : " + (System.currentTimeMillis() - start));
110                 System.exit(0);
111             }
112             else if (TASK_PRINT.equals(taskName))
113             {
114                 JasperPrintManager.printReport(fileName, true);
115                 System.err.println("Printing time : " + (System.currentTimeMillis() - start));
116                 System.exit(0);
117             }
118             else if (TASK_PDF.equals(taskName))
119             {
120                 JasperExportManager.exportReportToPdfFile(fileName);
121                 System.err.println("PDF creation time : " + (System.currentTimeMillis() - start));
122                 System.exit(0);
123             }
124             else if (TASK_RTF.equals(taskName))
125             {
126                 File JavaDoc sourceFile = new File JavaDoc(fileName);
127
128                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
129
130                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".rtf");
131
132                 JRRtfExporter exporter = new JRRtfExporter();
133
134                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
135                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
136
137                 exporter.exportReport();
138
139                 System.err.println("RTF creation time : " + (System.currentTimeMillis() - start));
140                 System.exit(0);
141             }
142             else if (TASK_XML.equals(taskName))
143             {
144                 JasperExportManager.exportReportToXmlFile(fileName, false);
145                 System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
146                 System.exit(0);
147             }
148             else if (TASK_XML_EMBED.equals(taskName))
149             {
150                 JasperExportManager.exportReportToXmlFile(fileName, true);
151                 System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
152                 System.exit(0);
153             }
154             else if (TASK_HTML.equals(taskName))
155             {
156                 JasperExportManager.exportReportToHtmlFile(fileName);
157                 System.err.println("HTML creation time : " + (System.currentTimeMillis() - start));
158                 System.exit(0);
159             }
160             else if (TASK_XLS.equals(taskName))
161             {
162                 File JavaDoc sourceFile = new File JavaDoc(fileName);
163
164                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
165
166                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".xls");
167
168                 JRXlsExporter exporter = new JRXlsExporter();
169
170                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
171                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
172                 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
173
174                 exporter.exportReport();
175
176                 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
177                 System.exit(0);
178             }
179             else if (TASK_JXL.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() + ".jxl.xls");
186
187                 JExcelApiExporter exporter = new JExcelApiExporter();
188
189                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
190                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
191                 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
192
193                 exporter.exportReport();
194
195                 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
196                 System.exit(0);
197             }
198             else if (TASK_CSV.equals(taskName))
199             {
200                 File JavaDoc sourceFile = new File JavaDoc(fileName);
201
202                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
203
204                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".csv");
205
206                 JRCsvExporter exporter = new JRCsvExporter();
207
208                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
209                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
210                 exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
211
212                 exporter.exportReport();
213
214                 System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
215                 System.exit(0);
216             }
217             else if (TASK_RUN.equals(taskName))
218             {
219                 Map JavaDoc parameters = new HashMap JavaDoc();
220                 parameters.put("GreekText", "\u0393 \u0394 \u0398 \u039B \u039E \u03A0 \u03A3 \u03A6 \u03A8 \u03A9");
221                 parameters.put("CyrillicText", "\u0402 \u040B \u040F \u0414 \u0416 \u0418 \u041B \u0426 \u0429 \u042E");
222                 parameters.put("ArabicText", "\u0647\u0630\u0627 \u0639\u0631\u0636 \u0644\u0645\u062C\u0645\u0648\u0639\u0629 TextLayout");
223                 parameters.put("HebrewText", "\u05D0\u05E0\u05D9 \u05DC\u05D0 \u05DE\u05D1\u05D9\u05DF \u05E2\u05D1\u05E8\u05D9\u05EA");
224
225                 JasperRunManager.runReportToPdfFile(fileName, parameters, new JREmptyDataSource());
226                 System.err.println("PDF running time : " + (System.currentTimeMillis() - start));
227                 System.exit(0);
228             }
229             else
230             {
231                 usage();
232                 System.exit(0);
233             }
234         }
235         catch (JRException e)
236         {
237             e.printStackTrace();
238             System.exit(1);
239         }
240         catch (Exception JavaDoc e)
241         {
242             e.printStackTrace();
243             System.exit(1);
244         }
245     }
246
247
248     /**
249      *
250      */

251     private static void usage()
252     {
253         System.out.println( "UnicodeApp usage:" );
254         System.out.println( "\tjava UnicodeApp -Ttask -Ffile" );
255         System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run" );
256     }
257
258
259 }
260
Popular Tags