Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java @ 2296:d69d8dea78dc
Be more merciful for building the URL for the user-wms.
flys-artifacts/trunk@3962 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 08 Feb 2012 10:54:23 +0000 |
parents | 6f4a1f513e89 |
children | ecb76933362f |
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 |
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
9 /* |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 import java.util.Map; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import java.util.HashMap; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 import java.util.Date; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 import java.text.DateFormat; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import java.util.Locale; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
15 */ |
2264
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.w3c.dom.Document; |
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 org.apache.log4j.Logger; |
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 au.com.bytecode.opencsv.CSVWriter; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
23 /* |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 import net.sf.jasperreports.engine.JasperExportManager; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 import net.sf.jasperreports.engine.JasperFillManager; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
26 import net.sf.jasperreports.engine.JasperPrint; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 import net.sf.jasperreports.engine.JRException; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
28 */ |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 import de.intevation.artifacts.CallContext; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
30 /* |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 import de.intevation.artifacts.CallMeta; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.artifacts.common.utils.Config; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
33 */ |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
35 import de.intevation.flys.artifacts.FLYSArtifact; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
36 /* |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 import de.intevation.flys.artifacts.WINFOArtifact; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
38 */ |
2264
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 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
|
41 import de.intevation.flys.artifacts.model.WWQQ; |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 import de.intevation.flys.artifacts.model.WKmsJRDataSource; |
2290
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
43 /* |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 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
|
45 import de.intevation.flys.utils.Formatter; |
6f4a1f513e89
Calculation error report: i18n the km of the error report.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2285
diff
changeset
|
46 */ |
2264
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 import de.intevation.flys.utils.FLYSUtils; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 * (CSV)Exporter for Reference Curves. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
52 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
53 public class ReferenceCurveExporter extends AbstractExporter { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
55 /** The logger used in this exporter. */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 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
|
57 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
58 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
59 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
|
60 "export.reference_curve.csv.header.km"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
61 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
62 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
|
63 "export.reference_curve.csv.header.w"; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 |
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_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
|
66 "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
|
67 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
68 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
|
69 "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
|
70 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
71 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
|
72 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 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
|
74 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
|
75 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
|
76 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 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
|
78 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
|
79 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 /** 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
|
81 protected List<WWQQ[]> data; |
2264
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 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
|
85 logger.debug("ReferenceCurveExporter.init"); |
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 super.init(request, out, context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
89 this.data = new ArrayList<WWQQ[]>(); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 } |
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 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 * Genereate data in csv format. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 public void generate() |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 throws IOException |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 logger.debug("ReferenceCurveExporter.generate"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 if (facet == null) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 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
|
104 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 else if (facet.equals(AbstractExporter.FACET_CSV)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 generateCSV(); |
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 else if (facet.equals(AbstractExporter.FACET_PDF)) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 generatePDF(); |
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 else { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 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
|
113 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 * Adds given data. |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
119 * @param d a WWQQ[]. |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
120 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
121 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
122 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
|
123 logger.debug("ReferenceCurveExporter.addData"); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
124 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 if (d instanceof CalculationResult) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 d = ((CalculationResult)d).getData(); |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
127 if (d instanceof WWQQ []) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
128 data.add((WWQQ [])d); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
129 logger.debug("ReferenceCurveExporter.addData wwqq[]."); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
130 } |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
131 else { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
132 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
|
133 + d + ")."); |
2264
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 else { |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
137 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
|
138 + d + ")."); |
2264
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 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 |
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 * Lets writer write all data (including header). |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
145 * @param writer Writer to write data with. |
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
148 protected void writeCSVData(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 logger.info("ReferenceCurveExporter.writeData"); |
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 writeCSVHeader(writer); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
152 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
153 for (WWQQ[] tmp: data) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
154 for (WWQQ ww: tmp) { |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
155 wWQQ2CSV(writer, ww); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 } |
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 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
159 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 /** |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
162 * 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
|
163 * @param write Writer to write header with. |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
164 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
165 protected void writeCSVHeader(CSVWriter writer) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
166 logger.info("ReferenceCurveExporter.writeCSVHeader"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
167 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
168 // TODO missing 'relative' W(cm). |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 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
|
171 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
|
172 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
|
173 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
|
174 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
|
175 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
|
176 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
|
177 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
|
178 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
181 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
182 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
|
183 logger.debug("ReferenceCurveExporter.wWQQ2CSV"); |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
184 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
185 NumberFormat kmf = getKmFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
186 NumberFormat wf = getWFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
187 NumberFormat qf = getQFormatter(); |
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
188 |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 int size = ww.size(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 |
2272
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
191 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
|
192 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
193 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
|
194 flys, ww.getStartKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
195 |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
196 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
|
197 flys, ww.getEndKm()); |
4a8b519b64bd
Extend reference curve export to include km location as string.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2270
diff
changeset
|
198 |
2285
5a00269406f3
Improved CSV export of reference curves, include Qs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2272
diff
changeset
|
199 // TODO missing 'relative' W(cm). |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 for (int i = 0; i < size; i ++) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 writer.writeNext(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
202 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
|
203 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
|
204 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
|
205 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
|
206 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
|
207 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
|
208 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
|
209 qf.format(ww.getQ2(i)) // "Q" |
2264
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 }); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
212 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 |
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 @Override |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 protected void writePDF(OutputStream out) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 /* |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 WKmsJRDataSource source = createJRData(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
219 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 String jasperFile = Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 context.getMeta(), |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 JASPER_FILE, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 "/jasper/wdifferences_en.jasper"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 String confPath = Config.getConfigDirectory().toString(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 Map parameters = new HashMap(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 parameters.put("ReportTitle", "Exported Data"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 try { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 JasperPrint print = JasperFillManager.fillReport( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 confPath + jasperFile, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
231 parameters, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
232 source); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
233 JasperExportManager.exportReportToPdfStream(print, out); |
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 catch(JRException je) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 logger.warn("Error generating PDF Report!"); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
237 je.printStackTrace(); |
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 logger.error("ReferenceCurveExporter: PDF export not implemented."); |
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 protected WKmsJRDataSource createJRData() { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
244 /* |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 WKmsJRDataSource source = new WKmsJRDataSource(); |
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 addMetaData(source); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
248 for (WKms[] tmp: data) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
249 for (WKms wkms: tmp) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
250 addWKmsData(source, wkms); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
251 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
253 return source; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
254 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
255 return null; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
256 } |
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 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 // TODO implement for pdf export. |
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 protected void addMetaData(WKmsJRDataSource source) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
262 CallMeta meta = context.getMeta(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
263 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
264 WINFOArtifact flys = (WINFOArtifact) master; |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
265 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
266 source.addMetaData ("river", FLYSUtils.getRivername(flys)); |
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 Locale locale = Resources.getLocale(meta); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
269 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
270 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
271 source.addMetaData("date", df.format(new Date())); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
272 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
273 String differences = FLYSUtils.getWDifferences(flys, context); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
274 source.addMetaData("differences", differences); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
275 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
276 source.addMetaData("calculation", Resources.getMsg( |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
277 locale, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
278 PDF_HEADER_MODE, |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
279 "W Differences")); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
280 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
281 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
282 protected void addWKmsData(WKmsJRDataSource source, WKms wkms) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
283 NumberFormat kmf = getKmFormatter(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
284 NumberFormat wf = getWFormatter(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
285 int size = wkms.size(); |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
286 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
287 for (int i = 0; i < size; i ++) { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
288 |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
289 source.addData(new String[] { |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
290 kmf.format(wkms.getKm(i)), |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
291 wf.format(wkms.getW(i)) |
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 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
294 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
295 */ |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
296 } |
d974e4589f5a
Primitive, incomplete CSV export for reference curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
297 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |