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 TemplateStyleReportTest extends BaseDjReportTest {
46
47 public DynamicReport buildReport() throws Exception {
48
49
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
59
60
61
62 Style titleStyle = new Style("titleStyle");
63
64
65
66
67
68 Style subtitleStyleParent = new Style("subtitleParent");
69 subtitleStyleParent.setBackgroundColor(Color.CYAN);
70 subtitleStyleParent.setTransparency(Transparency.OPAQUE);
71
72 Style subtitleStyle = Style.createBlankStyle("subtitleStyle","subtitleParent");
73 subtitleStyle.setFont(Font.GEORGIA_SMALL_BOLD);
74
75 Style amountStyle = new Style(); amountStyle.setHorizontalAlign(HorizontalAlign.RIGHT);
76
77
78
79
80
81 DynamicReportBuilder drb = new DynamicReportBuilder();
82 drb.setTitle("November " + getYear() +" sales report")
83 .setSubtitle("The items in this report correspond "
84 +"to the main products: DVDs, Books, Foods and Magazines")
85 .setDetailHeight(15)
86 .setMargins(30, 20, 30, 15)
87 .setDefaultStyles(titleStyle, subtitleStyle, headerStyle, null)
88 .addStyle(subtitleStyleParent);
89
90
91
92
93
94
95
96
97
98
99
100 AbstractColumn columnState = ColumnBuilder.getNew()
101 .setColumnProperty("state", String.class.getName())
102 .setTitle("State")
103 .setWidth(85)
104 .build();
105
106
107 AbstractColumn columnBranch = ColumnBuilder.getNew()
108 .setColumnProperty("branch", String.class.getName())
109 .setTitle("Branch").setWidth(85)
110 .build();
111
112 AbstractColumn columnaProductLine = ColumnBuilder.getNew()
113 .setColumnProperty("productLine", String.class.getName())
114 .setTitle("Product Line").setWidth(85)
115 .build();
116
117 AbstractColumn columnaItem = ColumnBuilder.getNew()
118 .setColumnProperty("item", String.class.getName())
119 .setTitle("Item").setWidth(85)
120 .build();
121
122 AbstractColumn columnCode = ColumnBuilder.getNew()
123 .setColumnProperty("id", Long.class.getName())
124 .setTitle("ID").setWidth(40)
125 .build();
126
127 AbstractColumn columnaCantidad = ColumnBuilder.getNew()
128 .setColumnProperty("quantity", Long.class.getName())
129 .setTitle("Quantity").setWidth(80)
130 .build();
131
132 AbstractColumn columnAmount = ColumnBuilder.getNew()
133 .setColumnProperty("amount", Float.class.getName())
134 .setTitle("Amount").setWidth(90)
135 .setPattern("$ 0.00")
136 .setStyle(amountStyle)
137 .build();
138
139
140
141
142
143 drb.addColumn(columnState);
144 drb.addColumn(columnBranch);
145 drb.addColumn(columnaProductLine);
146 drb.addColumn(columnaItem);
147 drb.addColumn(columnCode);
148 drb.addColumn(columnaCantidad);
149 drb.addColumn(columnAmount);
150
151
152
153
154 drb.setUseFullPageWidth(true);
155
156
157
158
159
160 DynamicReport dr = drb.build();
161
162 params.put("leftHeader", "My Company - My Area");
163 params.put("rightHeader", "User: Jack Sparrow");
164 return dr;
165 }
166
167 public static void main(String[] args) throws Exception {
168 TemplateStyleReportTest test = new TemplateStyleReportTest();
169 test.testReport();
170 JasperViewer.viewReport(test.jp);
171 }
172
173 }