Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java @ 2311:b8df8d1476ba
Compute differences between discharge table values and reference discharge table values in historical discharge curve calculation.
flys-artifacts/trunk@3991 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 09 Feb 2012 10:57:35 +0000 |
parents | ecb76933362f |
children | 6bbb8295fd64 |
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; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
8 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 import java.util.Map; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 import java.util.HashMap; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import java.util.Date; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 import java.text.DateFormat; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 import java.util.Locale; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 import org.w3c.dom.Document; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import org.apache.log4j.Logger; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 import au.com.bytecode.opencsv.CSVWriter; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 import net.sf.jasperreports.engine.JasperExportManager; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 import net.sf.jasperreports.engine.JasperFillManager; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 import net.sf.jasperreports.engine.JasperPrint; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 import net.sf.jasperreports.engine.JRException; |
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; |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
33 import de.intevation.flys.artifacts.model.WWQQ; |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
34 import de.intevation.flys.artifacts.model.WWQQJRDataSource; |
2264
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; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
36 import de.intevation.flys.utils.Formatter; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 import de.intevation.flys.utils.FLYSUtils; |
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 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
|
64 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
|
65 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
|
66 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 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
|
68 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
|
69 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 /** The storage that contains all WKms objects for the different facets. */ |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
71 protected List<WWQQ[]> data; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 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
|
75 logger.debug("ReferenceCurveExporter.init"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 super.init(request, out, context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
79 this.data = new ArrayList<WWQQ[]>(); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 |
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 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 * Genereate data in csv format. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 public void generate() |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 throws IOException |
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 logger.debug("ReferenceCurveExporter.generate"); |
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 if (facet == null) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 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
|
94 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 else if (facet.equals(AbstractExporter.FACET_CSV)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 generateCSV(); |
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 else if (facet.equals(AbstractExporter.FACET_PDF)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 generatePDF(); |
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 { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 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
|
103 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 |
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 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 * Adds given data. |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
109 * @param d a WWQQ[]. |
2264
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 protected void addData(Object d) { |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
113 logger.debug("ReferenceCurveExporter.addData"); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
114 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 if (d instanceof CalculationResult) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 d = ((CalculationResult)d).getData(); |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
117 if (d instanceof WWQQ []) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
118 data.add((WWQQ [])d); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
119 logger.debug("ReferenceCurveExporter.addData wwqq[]."); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
120 } |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
121 else { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
122 logger.warn("ReferenceCurveExporter.addData/1 unknown type (" |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
123 + d + ")."); |
2264
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 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 else { |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
127 logger.warn("ReferenceCurveExporter.addData/2 unknown type (" |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
128 + d + ")."); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 } |
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 * Lets writer write all data (including header). |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
135 * @param writer Writer to write data with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
136 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
137 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
138 protected void writeCSVData(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
139 logger.info("ReferenceCurveExporter.writeData"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
140 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 writeCSVHeader(writer); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
143 for (WWQQ[] tmp: data) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
144 for (WWQQ ww: tmp) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
145 wWQQ2CSV(writer, ww); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
146 } |
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 * 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
|
153 * @param write Writer to write header with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 protected void writeCSVHeader(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 logger.info("ReferenceCurveExporter.writeCSVHeader"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
158 // TODO missing 'relative' W(cm). |
2264
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 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
172 protected void wWQQ2CSV(CSVWriter writer, WWQQ ww) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
173 logger.debug("ReferenceCurveExporter.wWQQ2CSV"); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
175 NumberFormat kmf = getKmFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
176 NumberFormat wf = getWFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
177 NumberFormat qf = getQFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
178 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 int size = ww.size(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
181 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
|
182 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
183 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
|
184 flys, ww.getStartKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
185 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
186 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
|
187 flys, ww.getEndKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
188 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
189 // TODO missing 'relative' W(cm). |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 for (int i = 0; i < size; i ++) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
191 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
192 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
|
193 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
|
194 wf.format(ww.getW1(i)), |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
195 qf.format(ww.getQ1(i)), // "Q" |
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
|
196 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
|
197 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
|
198 wf.format(ww.getW2(i)), |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
199 qf.format(ww.getQ2(i)) // "Q" |
2264
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 |
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
206 protected void writePDF(OutputStream out) { |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
207 WWQQJRDataSource source = createJRData(); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
208 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
209 String jasperFile = Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 context.getMeta(), |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 JASPER_FILE, |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
212 "/jasper/reference_en.jasper"); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 String confPath = Config.getConfigDirectory().toString(); |
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 Map parameters = new HashMap(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 parameters.put("ReportTitle", "Exported Data"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 try { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 JasperPrint print = JasperFillManager.fillReport( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
219 confPath + jasperFile, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 parameters, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 source); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 JasperExportManager.exportReportToPdfStream(print, out); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 catch(JRException je) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 logger.warn("Error generating PDF Report!"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 je.printStackTrace(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
230 protected WWQQJRDataSource createJRData() { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
231 WWQQJRDataSource source = new WWQQJRDataSource(); |
2264
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 addMetaData(source); |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
234 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
235 for (WWQQ[] tmp: data) { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
236 for (WWQQ ww: tmp) { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
237 addWWQQData(source, ww); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
238 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
239 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
240 return source; |
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 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
243 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
244 protected void addMetaData(WWQQJRDataSource source) { |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 CallMeta meta = context.getMeta(); |
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 WINFOArtifact flys = (WINFOArtifact) master; |
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 source.addMetaData ("river", FLYSUtils.getRivername(flys)); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
250 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
251 Locale locale = Resources.getLocale(meta); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
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 source.addMetaData("date", df.format(new Date())); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
255 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
256 source.addMetaData("calculation", Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
257 locale, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
258 PDF_HEADER_MODE, |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
259 "Reference Curve")); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
260 } |
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 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
263 protected void addWWQQData(WWQQJRDataSource source, WWQQ ww) { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
264 NumberFormat kmf = getKmFormatter(); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
265 NumberFormat wf = getWFormatter(); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
266 NumberFormat qf = getQFormatter(); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
267 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
268 int size = ww.size(); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
269 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
270 FLYSArtifact flys = (FLYSArtifact) master; |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
271 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
272 String startLocationDescription = FLYSUtils.getLocationDescription( |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
273 flys, ww.getStartKm()); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
274 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
275 String endLocationDescription = FLYSUtils.getLocationDescription( |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
276 flys, ww.getEndKm()); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
277 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
278 // TODO missing 'relative' W(cm). |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
279 for (int i = 0; i < size; i ++) { |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
280 source.addData(new String[] { |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
281 kmf.format(ww.getStartKm()), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
282 startLocationDescription, |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
283 wf.format(ww.getW1(i)), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
284 qf.format(ww.getQ1(i)), // "Q" |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
285 kmf.format(ww.getEndKm()), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
286 endLocationDescription, |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
287 wf.format(ww.getW2(i)), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
288 qf.format(ww.getQ2(i)) // "Q" |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
289 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
290 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
291 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
292 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
293 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |