View Javadoc

1   /*
2    * DynamicJasper: A library for creating reports dynamically by specifying
3    * columns, groups, styles, etc. at runtime. It also saves a lot of development
4    * time in many cases! (http://sourceforge.net/projects/dynamicjasper)
5    *
6    * Copyright (C) 2008  FDV Solutions (http://www.fdvsolutions.com)
7    *
8    * This library is free software; you can redistribute it and/or
9    * modify it under the terms of the GNU Lesser General Public
10   *
11   * License as published by the Free Software Foundation; either
12   *
13   * version 2.1 of the License, or (at your option) any later version.
14   *
15   * This library is distributed in the hope that it will be useful,
16   * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   *
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19   *
20   * Lesser General Public License for more details.
21   *
22   * You should have received a copy of the GNU Lesser General Public
23   * License along with this library; if not, write to the Free Software
24   *
25   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
26   *
27   *
28   */
29  
30  package ar.com.fdvs.dj.test;
31  
32  
33  import java.util.Date;
34  
35  import ar.com.fdvs.dj.core.DynamicJasperHelper;
36  import ar.com.fdvs.dj.domain.DynamicReport;
37  import ar.com.fdvs.dj.domain.builders.FastReportBuilder;
38  
39  public class JrxmlExportTest extends BaseDjReportTest {
40  
41  	public DynamicReport buildReport() throws Exception {
42  
43  
44  		/***
45  		 * Creates the DynamicReportBuilder and sets the basic options for
46  		 * the report
47  		 */
48  		FastReportBuilder drb = new FastReportBuilder();
49  		drb.addColumn("State", "state", String.class.getName(),30)
50  			.addColumn("Branch", "branch", String.class.getName(),30)
51  			.addColumn("Product Line", "productLine", String.class.getName(),50)
52  			.addColumn("Item", "item", String.class.getName(),50)
53  			.addColumn("Item Code", "id", Long.class.getName(),30,true)
54  			.addColumn("Quantity", "quantity", Long.class.getName(),60,true)
55  			.addColumn("Amount", "amount", Float.class.getName(),70,true)
56  			.addGroups(2)
57  			.setTitle("November 2006 sales report")
58  			.setSubtitle("This report was generated at " + new Date())
59  			.setUseFullPageWidth(true);
60  
61  		DynamicReport dr = drb.build();
62  
63  		return dr;
64  	}
65  
66  	public void testReport() throws Exception {
67  		dr = buildReport();
68          exportReport();
69          log.debug("test finished");
70  	}
71  
72  	protected void exportReport() throws Exception {
73  		DynamicJasperHelper.generateJRXML(this.dr, this.getLayoutManager(), this.params, "UTF-8",System.getProperty("user.dir")+ "/target/" + this.getClass().getName() + ".jrxml");
74  	}
75  
76  	public static void main(String[] args) throws Exception {
77  		JrxmlExportTest test = new JrxmlExportTest();
78  		test.testReport();
79  		//JasperViewer.viewReport(test.jp);	//finally display the report report
80  		//JasperDesignViewer.viewReportDesign(test.jr);
81  	}
82  
83  }