KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > HyperlinkApp


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.JasperCompileManager;
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.export.JExcelApiExporter;
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: HyperlinkApp.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
50  */

51 public class HyperlinkApp
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     private static final String JavaDoc TASK_WRITE_XML = "writeXml";
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                 JasperFillManager.fillReportToFile(fileName, null, new JREmptyDataSource());
103                 System.err.println("Filling time : " + (System.currentTimeMillis() - start));
104                 System.exit(0);
105             }
106             else if (TASK_PRINT.equals(taskName))
107             {
108                 JasperPrintManager.printReport(fileName, true);
109                 System.err.println("Printing time : " + (System.currentTimeMillis() - start));
110                 System.exit(0);
111             }
112             else if (TASK_PDF.equals(taskName))
113             {
114                 JasperExportManager.exportReportToPdfFile(fileName);
115                 System.err.println("PDF creation time : " + (System.currentTimeMillis() - start));
116                 System.exit(0);
117             }
118             else if (TASK_XML.equals(taskName))
119             {
120                 JasperExportManager.exportReportToXmlFile(fileName, false);
121                 System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
122                 System.exit(0);
123             }
124             else if (TASK_XML_EMBED.equals(taskName))
125             {
126                 JasperExportManager.exportReportToXmlFile(fileName, true);
127                 System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
128                 System.exit(0);
129             }
130             else if (TASK_HTML.equals(taskName))
131             {
132                 JasperExportManager.exportReportToHtmlFile(fileName);
133                 System.err.println("HTML creation time : " + (System.currentTimeMillis() - start));
134                 System.exit(0);
135             }
136             else if (TASK_RTF.equals(taskName))
137             {
138                 File JavaDoc sourceFile = new File JavaDoc(fileName);
139         
140                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
141         
142                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".rtf");
143                 
144                 JRRtfExporter exporter = new JRRtfExporter();
145                 
146                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
147                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
148                 
149                 exporter.exportReport();
150
151                 System.err.println("RTF creation time : " + (System.currentTimeMillis() - start));
152                 System.exit(0);
153             }
154             else if (TASK_XLS.equals(taskName))
155             {
156                 File JavaDoc sourceFile = new File JavaDoc(fileName);
157         
158                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
159         
160                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".xls");
161                 
162                 JRXlsExporter exporter = new JRXlsExporter();
163                 
164                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
165                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
166                 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
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
187                 exporter.exportReport();
188
189                 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
190                 System.exit(0);
191             }
192             else if (TASK_CSV.equals(taskName))
193             {
194                 File JavaDoc sourceFile = new File JavaDoc(fileName);
195         
196                 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
197         
198                 File JavaDoc destFile = new File JavaDoc(sourceFile.getParent(), jasperPrint.getName() + ".csv");
199                 
200                 JRCsvExporter exporter = new JRCsvExporter();
201                 
202                 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
203                 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
204                 
205                 exporter.exportReport();
206
207                 System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
208                 System.exit(0);
209             }
210             else if (TASK_RUN.equals(taskName))
211             {
212                 JasperRunManager.runReportToPdfFile(fileName, null, new JREmptyDataSource());
213                 System.err.println("PDF running time : " + (System.currentTimeMillis() - start));
214                 System.exit(0);
215             }
216             else if (TASK_WRITE_XML.equals(taskName))
217             {
218                 JasperCompileManager.writeReportToXmlFile(fileName);
219                 System.err.println("XML design creation time : " + (System.currentTimeMillis() - start));
220                 System.exit(0);
221             }
222             else
223             {
224                 usage();
225                 System.exit(0);
226             }
227         }
228         catch (JRException e)
229         {
230             e.printStackTrace();
231             System.exit(1);
232         }
233         catch (Exception JavaDoc e)
234         {
235             e.printStackTrace();
236             System.exit(1);
237         }
238     }
239
240
241     /**
242      *
243      */

244     private static void usage()
245     {
246         System.out.println( "HyperlinkApp usage:" );
247         System.out.println( "\tjava HyperlinkApp -Ttask -Ffile" );
248         System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run | writeXml" );
249     }
250
251
252 }
253
Popular Tags