Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java @ 2272:4a8b519b64bd
Extend reference curve export to include km location as string.
flys-artifacts/trunk@3929 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 06 Feb 2012 14:22:26 +0000 |
parents | e92545d2069e |
children | 5a00269406f3 |
rev | line source |
---|---|
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
2 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
3 import java.io.IOException; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
4 import java.io.OutputStream; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
5 import java.text.NumberFormat; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
6 import java.util.ArrayList; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
7 import java.util.List; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
8 import java.util.Map; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 import java.util.HashMap; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 import java.util.Date; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import java.text.DateFormat; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 import java.util.Locale; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import org.w3c.dom.Document; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 import org.apache.log4j.Logger; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 import au.com.bytecode.opencsv.CSVWriter; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 import net.sf.jasperreports.engine.JasperExportManager; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 import net.sf.jasperreports.engine.JasperFillManager; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 import net.sf.jasperreports.engine.JasperPrint; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 import net.sf.jasperreports.engine.JRException; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.artifacts.CallContext; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.artifacts.CallMeta; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.artifacts.common.utils.Config; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
28 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
29 import de.intevation.flys.artifacts.FLYSArtifact; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
30 import de.intevation.flys.artifacts.WINFOArtifact; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.flys.artifacts.model.CalculationResult; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.flys.artifacts.model.WW; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 import de.intevation.flys.artifacts.model.WKmsJRDataSource; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 import de.intevation.flys.artifacts.resources.Resources; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 import de.intevation.flys.utils.FLYSUtils; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 import de.intevation.flys.utils.Formatter; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 * (CSV)Exporter for Reference Curves. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 public class ReferenceCurveExporter extends AbstractExporter { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 /** The logger used in this exporter. */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 private static Logger logger = Logger.getLogger(ReferenceCurveExporter.class); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 public static final String RC_CSV_KM_HEADER = |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 "export.reference_curve.csv.header.km"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
52 public static final String RC_CSV_W_HEADER = |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
53 "export.reference_curve.csv.header.w"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 |
2270
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
55 public static final String RC_CSV_Q_HEADER = |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
56 "export.reference_curve.csv.header.q"; |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
57 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
58 public static final String CSV_LOCATION_HEADER = |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
59 "export.waterlevel.csv.header.location"; |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
60 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
61 public static final String DEFAULT_CSV_LOCATION_HEADER = "Lage"; |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
62 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 /* |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 For each Bezugs and Ziel-ort (of which there might be multiples): |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 Lage, Bezeichnung, Q, W (cm), W(NN+m). |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 public static final String RC_DEFAULT_CSV_KM_HEADER = "Fluss-Km"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 public static final String RC_DEFAULT_CSV_W_HEADER = "m"; |
2270
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
70 public static final String RC_DEFAULT_CSV_Q_HEADER = "Q"; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 public static final String PDF_HEADER_MODE = "export.reference_curve.pdf.mode"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 public static final String JASPER_FILE = "export.reference_curve.pdf.file"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 /** The storage that contains all WKms objects for the different facets. */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 /* TODO these shall be the function objects, probably. */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 protected List<WW[]> data; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
79 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 public void init(Document request, OutputStream out, CallContext context) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 logger.debug("ReferenceCurveExporter.init"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 super.init(request, out, context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 this.data = new ArrayList<WW[]>(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 * Genereate data in csv format. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 public void generate() |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 throws IOException |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 logger.debug("ReferenceCurveExporter.generate"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 if (facet == null) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 throw new IOException("invalid (null) facet for exporter"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 else if (facet.equals(AbstractExporter.FACET_CSV)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 generateCSV(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 else if (facet.equals(AbstractExporter.FACET_PDF)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 generatePDF(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
107 else { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 throw new IOException("invalid facet (" + facet + ") for exporter"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
113 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 * Adds given data. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 * @param d either a WKms or a CalculationResult to add to data. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 protected void addData(Object d) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 if (d instanceof CalculationResult) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
120 d = ((CalculationResult)d).getData(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
121 if (d instanceof WW []) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
122 data.add((WW [])d); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
123 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
124 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 else if (d instanceof WW) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 data.add(new WW[] { (WW) d }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
127 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
128 else { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 logger.warn("ReferenceCurveExporter.addData unknown data type."); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
130 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
131 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
132 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
133 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
134 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
135 * Lets writer write all data (including header). |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
136 * @param writer Writer to write data with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
137 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
138 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
139 protected void writeCSVData(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
140 logger.info("ReferenceCurveExporter.writeData"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 writeCSVHeader(writer); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
143 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
144 for (WW[] tmp: data) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
145 for (WW ww: tmp) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
146 ww2CSV(writer, ww); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
147 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
148 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
150 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
152 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
153 * Lets csvwriter write the header (first line in file). |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 * @param write Writer to write header with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 protected void writeCSVHeader(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 logger.info("ReferenceCurveExporter.writeCSVHeader"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
159 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 msg(RC_CSV_KM_HEADER, RC_DEFAULT_CSV_KM_HEADER), |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
161 msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER), |
2270
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
162 msg(RC_CSV_W_HEADER, RC_DEFAULT_CSV_W_HEADER), |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
163 msg(RC_CSV_Q_HEADER, RC_DEFAULT_CSV_Q_HEADER), |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
164 msg(RC_CSV_KM_HEADER, RC_DEFAULT_CSV_KM_HEADER), |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
165 msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER), |
2270
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
166 msg(RC_CSV_W_HEADER, RC_DEFAULT_CSV_W_HEADER), |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
167 msg(RC_CSV_Q_HEADER, RC_DEFAULT_CSV_Q_HEADER), |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 protected void ww2CSV(CSVWriter writer, WW ww) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
173 logger.debug("ReferenceCurveExporter.ww2CSV"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 NumberFormat kmf = getKmFormatter(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 NumberFormat wf = getWFormatter(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
177 int size = ww.size(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
178 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
179 FLYSArtifact flys = (FLYSArtifact) master; |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
180 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
181 String startLocationDescription = FLYSUtils.getLocationDescription( |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
182 flys, ww.getStartKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
183 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
184 String endLocationDescription = FLYSUtils.getLocationDescription( |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
185 flys, ww.getEndKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
186 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
187 for (int i = 0; i < size; i ++) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 kmf.format(ww.getStartKm()), |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
190 startLocationDescription, |
2270
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
191 wf.format(ww.getW1(i)), |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
192 "", // "Q" |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
193 kmf.format(ww.getEndKm()), |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
194 endLocationDescription, |
2270
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
195 wf.format(ww.getW2(i)), |
e92545d2069e
Win fight against svn, added further i18n and slightly more data in reference-curve/csv export.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2264
diff
changeset
|
196 "" // "Q" |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
198 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
199 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
202 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
203 * Returns the number formatter for kilometer values. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
204 * |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
205 * @return the number formatter for kilometer values. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
206 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
207 protected NumberFormat getKmFormatter() { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
208 return Formatter.getWaterlevelKM(context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
209 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
212 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 * Returns the number formatter for W values. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
214 * |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
215 * @return the number formatter for W values. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 protected NumberFormat getWFormatter() { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 return Formatter.getWaterlevelW(context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
219 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 protected void writePDF(OutputStream out) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 /* |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 WKmsJRDataSource source = createJRData(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 String jasperFile = Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 context.getMeta(), |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 JASPER_FILE, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 "/jasper/wdifferences_en.jasper"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
231 String confPath = Config.getConfigDirectory().toString(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
232 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
233 Map parameters = new HashMap(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
234 parameters.put("ReportTitle", "Exported Data"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 try { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 JasperPrint print = JasperFillManager.fillReport( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
237 confPath + jasperFile, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
238 parameters, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
239 source); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
240 JasperExportManager.exportReportToPdfStream(print, out); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
241 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
242 catch(JRException je) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
243 logger.warn("Error generating PDF Report!"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
244 je.printStackTrace(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
246 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
247 logger.error("ReferenceCurveExporter: PDF export not implemented."); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
248 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
249 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
250 protected WKmsJRDataSource createJRData() { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
251 /* |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 WKmsJRDataSource source = new WKmsJRDataSource(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
253 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
254 addMetaData(source); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
255 for (WKms[] tmp: data) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
256 for (WKms wkms: tmp) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
257 addWKmsData(source, wkms); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
258 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
260 return source; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
261 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
262 return null; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
263 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
264 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
265 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
266 // TODO implement for pdf export. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
267 /* |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
268 protected void addMetaData(WKmsJRDataSource source) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
269 CallMeta meta = context.getMeta(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
270 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
271 WINFOArtifact flys = (WINFOArtifact) master; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
272 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
273 source.addMetaData ("river", FLYSUtils.getRivername(flys)); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
274 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
275 Locale locale = Resources.getLocale(meta); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
276 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
277 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
278 source.addMetaData("date", df.format(new Date())); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
279 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
280 String differences = FLYSUtils.getWDifferences(flys, context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
281 source.addMetaData("differences", differences); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
282 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
283 source.addMetaData("calculation", Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
284 locale, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
285 PDF_HEADER_MODE, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
286 "W Differences")); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
287 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
288 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
289 protected void addWKmsData(WKmsJRDataSource source, WKms wkms) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
290 NumberFormat kmf = getKmFormatter(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
291 NumberFormat wf = getWFormatter(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
292 int size = wkms.size(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
293 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
294 for (int i = 0; i < size; i ++) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
295 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
296 source.addData(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
297 kmf.format(wkms.getKm(i)), |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
298 wf.format(wkms.getW(i)) |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
299 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
300 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
301 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
302 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
303 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
304 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |