Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java @ 2329:d999062c20e6
Add W(cm) column to csv export of reference curves.
flys-artifacts/trunk@4013 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 10 Feb 2012 08:28:17 +0000 |
parents | 6bbb8295fd64 |
children | 8bacd0ce3704 |
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; |
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 |
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 * (CSV)Exporter for Reference Curves. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 public class ReferenceCurveExporter extends AbstractExporter { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 /** The logger used in this exporter. */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 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
|
46 |
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 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
|
49 "export.reference_curve.csv.header.km"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 |
2329
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
51 public static final String RC_CSV_W_CM_HEADER = |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
52 "export.reference_curve.csv.header.w.cm"; |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
53 |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
54 public static final String RC_CSV_W_M_HEADER = |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
55 "export.reference_curve.csv.header.w.m"; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 |
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
|
57 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
|
58 "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
|
59 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
60 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
|
61 "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
|
62 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
63 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
|
64 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 public static final String RC_DEFAULT_CSV_KM_HEADER = "Fluss-Km"; |
2329
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
66 public static final String RC_DEFAULT_CSV_W_M_HEADER = "m"; |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
67 public static final String RC_DEFAULT_CSV_W_CM_HEADER = "cm"; |
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
|
68 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
|
69 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 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
|
71 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
|
72 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 /** 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
|
74 protected List<WWQQ[]> data; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 |
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 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
|
78 logger.debug("ReferenceCurveExporter.init"); |
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 super.init(request, out, context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
82 this.data = new ArrayList<WWQQ[]>(); |
2264
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 |
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 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 * Genereate data in csv format. |
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 public void generate() |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 throws IOException |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 logger.debug("ReferenceCurveExporter.generate"); |
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 if (facet == null) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 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
|
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_CSV)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 generateCSV(); |
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_PDF)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 generatePDF(); |
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 { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 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
|
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 |
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 * Adds given data. |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
112 * @param d a WWQQ[]. |
2264
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 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
|
116 logger.debug("ReferenceCurveExporter.addData"); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
117 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 if (d instanceof CalculationResult) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 d = ((CalculationResult)d).getData(); |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
120 if (d instanceof WWQQ []) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
121 data.add((WWQQ [])d); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
122 logger.debug("ReferenceCurveExporter.addData wwqq[]."); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
123 } |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
124 else { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
125 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
|
126 + d + ")."); |
2264
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 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 else { |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
130 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
|
131 + d + ")."); |
2264
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 |
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 * Lets writer write all data (including header). |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
138 * @param writer Writer to write data with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
139 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
140 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 protected void writeCSVData(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 logger.info("ReferenceCurveExporter.writeData"); |
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 writeCSVHeader(writer); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
145 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
146 for (WWQQ[] tmp: data) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
147 for (WWQQ ww: tmp) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
148 wWQQ2CSV(writer, ww); |
2264
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 |
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 * 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
|
156 * @param write Writer to write header with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 protected void writeCSVHeader(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
159 logger.info("ReferenceCurveExporter.writeCSVHeader"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
161 // TODO missing 'relative' W(cm). |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
162 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
163 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
|
164 msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER), |
2329
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
165 msg(RC_CSV_W_M_HEADER, RC_DEFAULT_CSV_W_M_HEADER), |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
166 msg(RC_CSV_W_CM_HEADER, RC_DEFAULT_CSV_W_CM_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
|
167 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
|
168 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
|
169 msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER), |
2329
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
170 msg(RC_CSV_W_M_HEADER, RC_DEFAULT_CSV_W_M_HEADER), |
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
171 msg(RC_CSV_W_CM_HEADER, RC_DEFAULT_CSV_W_CM_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
|
172 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
|
173 }); |
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 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
177 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
|
178 logger.debug("ReferenceCurveExporter.wWQQ2CSV"); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
180 NumberFormat kmf = getKmFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
181 NumberFormat wf = getWFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
182 NumberFormat qf = getQFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
183 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
184 int size = ww.size(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
185 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
186 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
|
187 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
188 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
|
189 flys, ww.getStartKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
190 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
191 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
|
192 flys, ww.getEndKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
193 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
194 // TODO missing 'relative' W(cm). |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
195 for (int i = 0; i < size; i ++) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 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
|
198 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
|
199 wf.format(ww.getW1(i)), |
2329
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
200 wf.format(ww.getRelHeight1Cm(i)), |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
201 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
|
202 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
|
203 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
|
204 wf.format(ww.getW2(i)), |
2329
d999062c20e6
Add W(cm) column to csv export of reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2323
diff
changeset
|
205 wf.format(ww.getRelHeight2Cm(i)), |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
206 qf.format(ww.getQ2(i)) // "Q" |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
207 }); |
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 } |
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 protected void writePDF(OutputStream out) { |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
214 WWQQJRDataSource source = createJRData(); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
215 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 String jasperFile = Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 context.getMeta(), |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 JASPER_FILE, |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
219 "/jasper/reference_en.jasper"); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 String confPath = Config.getConfigDirectory().toString(); |
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 Map parameters = new HashMap(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 parameters.put("ReportTitle", "Exported Data"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 try { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 JasperPrint print = JasperFillManager.fillReport( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 confPath + jasperFile, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 parameters, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 source); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 JasperExportManager.exportReportToPdfStream(print, out); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
231 catch(JRException je) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
232 logger.warn("Error generating PDF Report!"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
233 je.printStackTrace(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
234 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
237 protected WWQQJRDataSource createJRData() { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
238 WWQQJRDataSource source = new WWQQJRDataSource(); |
2264
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 addMetaData(source); |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
241 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
242 for (WWQQ[] tmp: data) { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
243 for (WWQQ ww: tmp) { |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
244 addWWQQData(source, ww); |
2264
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 return source; |
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 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
251 protected void addMetaData(WWQQJRDataSource source) { |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 CallMeta meta = context.getMeta(); |
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 WINFOArtifact flys = (WINFOArtifact) master; |
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 ("river", FLYSUtils.getRivername(flys)); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
257 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
258 Locale locale = Resources.getLocale(meta); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
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 source.addMetaData("date", df.format(new Date())); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
262 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
263 source.addMetaData("calculation", Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
264 locale, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
265 PDF_HEADER_MODE, |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
266 "Reference Curve")); |
2264
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 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
269 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
270 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
|
271 NumberFormat kmf = getKmFormatter(); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
272 NumberFormat wf = getWFormatter(); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
273 NumberFormat qf = getQFormatter(); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
274 |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
275 int size = ww.size(); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
276 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
277 FLYSArtifact flys = (FLYSArtifact) master; |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
278 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
279 String startLocationDescription = FLYSUtils.getLocationDescription( |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
280 flys, ww.getStartKm()); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
281 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
282 String endLocationDescription = FLYSUtils.getLocationDescription( |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
283 flys, ww.getEndKm()); |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
284 |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
285 // TODO missing 'relative' W(cm). |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
286 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
|
287 source.addData(new String[] { |
2310
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
288 kmf.format(ww.getStartKm()), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
289 startLocationDescription, |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
290 wf.format(ww.getW1(i)), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
291 qf.format(ww.getQ1(i)), // "Q" |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
292 kmf.format(ww.getEndKm()), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
293 endLocationDescription, |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
294 wf.format(ww.getW2(i)), |
ecb76933362f
Added PDF export to reference curve calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2290
diff
changeset
|
295 qf.format(ww.getQ2(i)) // "Q" |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
296 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
297 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
298 } |
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |