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
33 import java.util.Collection;
34 import java.util.Date;
35
36 import net.sf.jasperreports.engine.JRDataSource;
37 import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
38 import net.sf.jasperreports.view.JasperDesignViewer;
39 import net.sf.jasperreports.view.JasperViewer;
40 import ar.com.fdvs.dj.core.BarcodeTypes;
41 import ar.com.fdvs.dj.domain.DynamicReport;
42 import ar.com.fdvs.dj.domain.Style;
43 import ar.com.fdvs.dj.domain.builders.FastReportBuilder;
44 import ar.com.fdvs.dj.domain.builders.StyleBuilder;
45 import ar.com.fdvs.dj.domain.constants.Border;
46 import ar.com.fdvs.dj.domain.constants.HorizontalAlign;
47 import ar.com.fdvs.dj.domain.constants.ImageScaleMode;
48 import ar.com.fdvs.dj.domain.constants.Stretching;
49 import ar.com.fdvs.dj.test.domain.Product;
50 import ar.com.fdvs.dj.util.SortUtils;
51
52 public class BarcodeColumnReportTest2 extends BaseDjReportTest {
53
54
55 public DynamicReport buildReport() throws Exception {
56
57
58 Style style = new StyleBuilder(true).setHorizontalAlign(HorizontalAlign.CENTER).build();
59 Style defStyle = new StyleBuilder(true).
60 setBorderBottom(Border.THIN())
61 .setStretching(Stretching.RELATIVE_TO_TALLEST_OBJECT)
62 .setPaddingBottom(3)
63 .setPaddingTop(3)
64 .build();
65
66
67
68
69 FastReportBuilder drb = new FastReportBuilder();
70 Style title = null;
71 Style subtitle = null;
72 Style columnHeader = null;
73 drb.addColumn("State", "state", String.class.getName(),20,defStyle)
74 .addColumn("Branch", "branch", String.class.getName(),30,defStyle)
75 .addColumn("Quantity", "quantity", Long.class.getName(),60,defStyle,null,true)
76 .addColumn("Amount", "amount", Float.class.getName(),70,defStyle,null,true)
77 .addBarcodeColumn("Bar-Code", "amount", Long.class.getName(), BarcodeTypes.USD3, true, false,null, 100, true, ImageScaleMode.FILL, defStyle)
78 .addGroups(1)
79 .setDetailHeight(30)
80 .addField("productLine", String.class.getName())
81 .setTitle("November " + getYear() +" sales report")
82 .setSubtitle("This report was generated at " + new Date())
83 .setDefaultStyles(title, subtitle, columnHeader, defStyle)
84 .setUseFullPageWidth(true);
85
86 DynamicReport dr = drb.build();
87
88 return dr;
89 }
90
91 protected JRDataSource getDataSource() {
92 Collection dummyCollection = TestRepositoryProducts.getDummyCollection();
93 dummyCollection.add(new Product( new Long("1"),
94 "book",
95 "Harry Potter 7",
96 "Florida",
97 "Main Street, Main Street, Main Street, Main Street, Main Street, Main Street, " +
98 "Main Street, Main Street, Main Street, Main Street, Main Street, Main Street, " +
99 "Main Street, Main Street, Main Street, Main Street, Main Street (end)",
100 new Long("2500"), new Float("10000")));
101 dummyCollection = SortUtils.sortCollection(dummyCollection,dr.getColumns());
102
103 JRDataSource ds = new JRBeanCollectionDataSource(dummyCollection);
104
105 return ds;
106 }
107
108 public static void main(String[] args) throws Exception {
109 BarcodeColumnReportTest2 test = new BarcodeColumnReportTest2();
110 test.testReport();
111 JasperViewer.viewReport(test.jp);
112 JasperDesignViewer.viewReportDesign(test.jr);
113 }
114
115 }