Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/DeltaWtExporter.java @ 3130:0dd569e9b9f1
Added new methods to add domain and value axis markers to time series plots.
flys-artifacts/trunk@4731 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 20 Jun 2012 15:33:32 +0000 |
parents | 04952869e4fa |
children |
rev | line source |
---|---|
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 import au.com.bytecode.opencsv.CSVWriter; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
5 import de.intevation.artifacts.CallContext; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 import de.intevation.artifacts.CallMeta; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 import de.intevation.flys.artifacts.model.CalculationResult; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 import de.intevation.flys.artifacts.model.fixings.FixResult; |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
11 import de.intevation.flys.artifacts.model.fixings.AnalysisPeriod; |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
12 import de.intevation.flys.artifacts.model.fixings.QWD; |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.flys.artifacts.resources.Resources; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.utils.Formatter; |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
17 import de.intevation.flys.utils.KMIndex; |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 import java.io.IOException; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 import java.io.OutputStream; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 import java.text.DateFormat; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
23 import java.text.NumberFormat; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 import java.util.ArrayList; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 import java.util.Date; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 import java.util.List; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 import java.util.Locale; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 import org.apache.log4j.Logger; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
32 import org.w3c.dom.Document; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 public class DeltaWtExporter |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 extends AbstractExporter |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 private static Logger log = Logger.getLogger(DeltaWtExporter.class); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 public static final String CSV_KM_HEADER = |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 "export.fixings.deltawt.csv.header.km"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 public static final String CSV_DELTA_W_HEADER = |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 "export.fixings.deltawt.csv.header.deltaw"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 public static final String CSV_T_HEADER = |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 "export.fixings.deltawt.csv.header.t"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 public static final String CSV_T_DESC_HEADER = |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 "export.fixings.deltawt.csv.header.description"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 public static final String DEFAULT_CSV_KM_HEADER = "km"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 |
2994
a2b265b9b2f7
FixA: corrected fitting (Q->W instead W->Q).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2993
diff
changeset
|
53 public static final String DEFAULT_CSV_DELTA_W_HEADER = "\u0394 W [cm]"; |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 public static final String DEFAULT_CSV_T_HEADER = "Datum"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
56 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
57 public static final String DEFAULT_CSV_T_DESC_HEADER = "Beschreibung"; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
58 |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
59 protected List<KMIndex<AnalysisPeriod []>> analysisPeriods; |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
60 |
3129
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
61 protected List<KMIndex<QWD[]>> referenceEvents; |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
62 |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 @Override |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 public void init(Document request, OutputStream out, CallContext context) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 log.debug("DeltaWtExporter.init"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
66 super.init(request, out, context); |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
67 analysisPeriods = new ArrayList<KMIndex<AnalysisPeriod []>>(); |
3129
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
68 referenceEvents = new ArrayList<KMIndex<QWD[]>>(); |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
69 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
70 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 @Override |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 public void generate() throws IOException { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 log.debug("DeltaWtExporter.generate"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
74 if (facet == null) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
75 throw new IOException("invalid (null) facet for exporter"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
76 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
77 else if (facet.equals(FACET_CSV)) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 generateCSV(); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 else if (facet.equals(FACET_PDF)) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
81 generatePDF(); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
82 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
83 else { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
84 throw new IOException("invalid facet (" + facet + ") for exporter"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
85 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
86 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
87 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
88 @Override |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
89 protected void addData(Object d) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
90 log.debug("DeltaWtExporter.addData"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
91 if (!(d instanceof CalculationResult)) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
92 log.warn("Invalid data type"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
93 return; |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
94 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
95 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
96 Object data = ((CalculationResult)d).getData(); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
97 if (!(data instanceof FixResult)) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
98 log.warn("Invalid data stored in result."); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
99 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
100 FixResult result = (FixResult)data; |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
101 analysisPeriods.add(result.getAnalysisPeriods()); |
3129
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
102 referenceEvents.add(result.getReferenced()); |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
103 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
104 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
105 @Override |
2993
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
106 protected void writeCSVData(CSVWriter writer) throws IOException { |
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
107 |
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
108 boolean debug = log.isDebugEnabled(); |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
109 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
110 writeCSVHeader(writer); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
111 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
112 NumberFormat kmF = getKMFormatter(); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
113 NumberFormat dwF = getDeltaWFormatter(); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
114 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
115 CallMeta meta = context.getMeta(); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
116 Locale locale = Resources.getLocale(meta); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
117 DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
118 |
3129
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
119 for (KMIndex<QWD[]> reference: referenceEvents) { |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
120 |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
121 for (KMIndex.Entry<QWD[]> kmEntry: reference) { |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
122 |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
123 String kmS = kmF.format(kmEntry.getKm()); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
124 for (QWD qwd: kmEntry.getValue()) { |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
125 double deltaW = qwd.getDeltaW(); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
126 Date date = qwd.getDate(); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
127 String desc = qwd.getDescription(); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
128 |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
129 String deltaWS = dwF.format(deltaW); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
130 String dateS = dF.format(date); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
131 |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
132 writer.writeNext(new String[] { |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
133 kmS, |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
134 deltaWS, |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
135 dateS, |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
136 desc != null ? desc : "" }); |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
137 } |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
138 } |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
139 } |
04952869e4fa
FixA: Added reference events to CSV export.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3026
diff
changeset
|
140 |
2993
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
141 if (debug) { |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
142 log.debug("AnalysisPeriods: " + analysisPeriods.size()); |
2993
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
143 } |
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
144 |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
145 for (KMIndex<AnalysisPeriod []> periods: analysisPeriods) { |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
146 |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
147 for (KMIndex.Entry<AnalysisPeriod []> kmEntry: periods) { |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
148 |
3026
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
149 String kmS = kmF.format(kmEntry.getKm()); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
150 |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
151 for (AnalysisPeriod period: kmEntry.getValue()) { |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
152 QWD [] qwds = period.getQWDs(); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
153 if (qwds != null) { |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
154 for (QWD qwd: qwds) { |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
155 double deltaW = qwd.getDeltaW(); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
156 Date date = qwd.getDate(); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
157 String desc = qwd.getDescription(); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
158 |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
159 String deltaWS = dwF.format(deltaW); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
160 String dateS = dF.format(date); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
161 |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
162 writer.writeNext(new String[] { |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
163 kmS, |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
164 deltaWS, |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
165 dateS, |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
166 desc != null ? desc : "" }); |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
167 } |
65b6e27c6f25
FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
168 } |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
169 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
170 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
171 } |
2993
70469e3d34b9
FixA: Made Delta W/t calculation finally work
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2787
diff
changeset
|
172 writer.flush(); |
2787
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
173 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
174 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
175 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
176 protected NumberFormat getKMFormatter() { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
177 return Formatter.getFixDeltaWKM(context); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
178 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
179 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
180 protected NumberFormat getDeltaWFormatter() { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
181 return Formatter.getFixDeltaWDeltaW(context); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
182 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
183 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
184 protected void writeCSVHeader(CSVWriter writer) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
185 log.debug("DeltaWtExporter.writeCSVHeader"); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
186 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
187 writer.writeNext(new String[] { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
188 msg(CSV_KM_HEADER, DEFAULT_CSV_KM_HEADER), |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
189 msg(CSV_DELTA_W_HEADER, DEFAULT_CSV_DELTA_W_HEADER), |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
190 msg(CSV_T_HEADER, DEFAULT_CSV_T_HEADER), |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
191 msg(CSV_T_DESC_HEADER, DEFAULT_CSV_T_DESC_HEADER) |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
192 }); |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
193 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
194 |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
195 @Override |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
196 protected void writePDF(OutputStream out) { |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
197 // TODO: Implement me! |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
198 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
199 } |
e63969c173e9
FixA: Added CSV export for Delta W/t values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
200 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |