1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 package ar.com.fdvs.dj.test;
31
32 import java.awt.Color;
33
34 import net.sf.jasperreports.view.JasperViewer;
35 import ar.com.fdvs.dj.domain.DynamicReport;
36 import ar.com.fdvs.dj.domain.Style;
37 import ar.com.fdvs.dj.domain.builders.ColumnBuilder;
38 import ar.com.fdvs.dj.domain.builders.DynamicReportBuilder;
39 import ar.com.fdvs.dj.domain.constants.Border;
40 import ar.com.fdvs.dj.domain.constants.Font;
41 import ar.com.fdvs.dj.domain.constants.HorizontalAlign;
42 import ar.com.fdvs.dj.domain.constants.Transparency;
43 import ar.com.fdvs.dj.domain.entities.columns.AbstractColumn;
44
45 public class TemplateFileWithFieldsReportTest extends BaseDjReportTest {
46
47 public DynamicReport buildReport() throws Exception {
48
49 Style detailStyle = new Style();
50 Style headerStyle = new Style();
51
52 headerStyle.setBackgroundColor(new Color(230,230,230));
53 headerStyle.setBorderBottom(Border.THIN());
54 headerStyle.setBorderColor(Color.black);
55 headerStyle.setHorizontalAlign(HorizontalAlign.CENTER);
56 headerStyle.setTransparency(Transparency.OPAQUE);
57
58 Style titleStyle = new Style();
59 titleStyle.setHorizontalAlign(HorizontalAlign.CENTER);
60 titleStyle.setFont(Font.ARIAL_BIG_BOLD);
61 Style subtitleStyle = new Style();
62 Style amountStyle = new Style(); amountStyle.setHorizontalAlign(HorizontalAlign.RIGHT);
63
64
65
66
67
68 DynamicReportBuilder drb = new DynamicReportBuilder();
69 drb.setTitle("November " + getYear() +" sales report")
70 .setSubtitle("The items in this report correspond "
71 +"to the main products: DVDs, Books, Foods and Magazines")
72 .setDetailHeight(15)
73 .setMargins(30, 20, 30, 15)
74 .setDefaultStyles(titleStyle, subtitleStyle, headerStyle, detailStyle)
75 .setColumnsPerPage(1);
76
77
78
79
80
81
82
83
84
85
86 AbstractColumn columnState = ColumnBuilder.getNew()
87 .setColumnProperty("state", String.class.getName())
88 .setTitle("State")
89 .setWidth(85)
90 .build();
91
92
93 AbstractColumn columnBranch = ColumnBuilder.getNew()
94 .setColumnProperty("branch", String.class.getName())
95 .setTitle("Branch").setWidth(85)
96 .build();
97
98 AbstractColumn columnaProductLine = ColumnBuilder.getNew()
99 .setColumnProperty("productLine", String.class.getName())
100 .setTitle("Product Line").setWidth(85)
101 .build();
102
103 AbstractColumn columnaItem = ColumnBuilder.getNew()
104 .setColumnProperty("item", String.class.getName())
105 .setTitle("Item").setWidth(85)
106 .build();
107
108 AbstractColumn columnCode = ColumnBuilder.getNew()
109 .setColumnProperty("id", Long.class.getName())
110 .setTitle("ID").setWidth(40)
111 .build();
112
113 AbstractColumn columnaCantidad = ColumnBuilder.getNew()
114 .setColumnProperty("quantity", Long.class.getName())
115 .setTitle("Quantity").setWidth(80)
116 .build();
117
118 AbstractColumn columnAmount = ColumnBuilder.getNew()
119 .setColumnProperty("amount", Float.class.getName())
120 .setTitle("Amount").setWidth(90)
121 .setPattern("$ 0.00")
122 .setStyle(amountStyle)
123 .build();
124
125
126
127
128
129 drb.addColumn(columnState);
130 drb.addColumn(columnBranch);
131 drb.addColumn(columnaProductLine);
132 drb.addColumn(columnaItem);
133 drb.addColumn(columnCode);
134 drb.addColumn(columnaCantidad);
135 drb.addColumn(columnAmount);
136
137
138
139
140 drb.setUseFullPageWidth(true);
141
142
143
144 drb.setTemplateFile("templates/TemplateWithProperties.jrxml",true,true,true,true);
145
146
147
148
149
150
151
152 DynamicReport dr = drb.build();
153
154 params.put("leftHeader", "DynamicJasper is the Best!!!");
155 params.put("rightHeader", "This is the right header");
156
157 return dr;
158 }
159
160 public static void main(String[] args) throws Exception {
161 TemplateFileWithFieldsReportTest test = new TemplateFileWithFieldsReportTest();
162 test.testReport();
163 JasperViewer.viewReport(test.jp);
164 }
165
166 }