Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java @ 3398:7f9fe694f8d1
FixA: Added time range column to Delta W(t) CSV export.
flys-artifacts/trunk@5032 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 18 Jul 2012 09:54:46 +0000 |
parents | 6d1740533810 |
children | 0336132ec9db |
comparison
equal
deleted
inserted
replaced
3397:6d1740533810 | 3398:7f9fe694f8d1 |
---|---|
20 | 20 |
21 import java.io.IOException; | 21 import java.io.IOException; |
22 import java.io.OutputStream; | 22 import java.io.OutputStream; |
23 | 23 |
24 import java.text.DateFormat; | 24 import java.text.DateFormat; |
25 import java.text.MessageFormat; | |
25 import java.text.NumberFormat; | 26 import java.text.NumberFormat; |
26 | 27 |
27 import java.util.ArrayList; | 28 import java.util.ArrayList; |
28 import java.util.List; | 29 import java.util.List; |
29 import java.util.Locale; | 30 import java.util.Locale; |
44 "export.fixings.deltawt.csv.header.deltaw"; | 45 "export.fixings.deltawt.csv.header.deltaw"; |
45 | 46 |
46 public static final String CSV_Q_HEADER = | 47 public static final String CSV_Q_HEADER = |
47 "export.fixings.deltawt.csv.header.q"; | 48 "export.fixings.deltawt.csv.header.q"; |
48 | 49 |
50 public static final String CSV_TRANGE_HEADER = | |
51 "export.fixings.deltawt.csv.header.time.range"; | |
52 | |
49 public static final String CSV_T_HEADER = | 53 public static final String CSV_T_HEADER = |
50 "export.fixings.deltawt.csv.header.t"; | 54 "export.fixings.deltawt.csv.header.t"; |
51 | 55 |
52 public static final String CSV_T_DESC_HEADER = | 56 public static final String CSV_T_DESC_HEADER = |
53 "export.fixings.deltawt.csv.header.description"; | 57 "export.fixings.deltawt.csv.header.description"; |
59 public static final String DEFAULT_CSV_Q_HEADER = "Abfluss [m\u00b3/s]"; | 63 public static final String DEFAULT_CSV_Q_HEADER = "Abfluss [m\u00b3/s]"; |
60 | 64 |
61 public static final String DEFAULT_CSV_T_HEADER = "Datum"; | 65 public static final String DEFAULT_CSV_T_HEADER = "Datum"; |
62 | 66 |
63 public static final String DEFAULT_CSV_T_DESC_HEADER = "Beschreibung"; | 67 public static final String DEFAULT_CSV_T_DESC_HEADER = "Beschreibung"; |
68 | |
69 public static final String DEFAULT_CSV_TRANGE_DESC_HEADER = | |
70 "Zeitraum"; | |
71 | |
72 public static final String CSV_REFERENCE = | |
73 "export.fixings.deltawt.csv.reference"; | |
74 | |
75 public static final String CSV_ANALYSIS = | |
76 "export.fixings.deltawt.csv.analysis"; | |
77 | |
78 public static final String DEFAULT_CSV_REFERENCE = | |
79 "Bezug"; | |
80 | |
81 public static final String DEFAULT_CSV_ANALYSIS = | |
82 "Analyse {0,number,integer}"; | |
64 | 83 |
65 protected List<KMIndex<AnalysisPeriod []>> analysisPeriods; | 84 protected List<KMIndex<AnalysisPeriod []>> analysisPeriods; |
66 | 85 |
67 protected List<KMIndex<QWD[]>> referenceEvents; | 86 protected List<KMIndex<QWD[]>> referenceEvents; |
68 | 87 |
103 NumberFormat qF = getQFormatter(); | 122 NumberFormat qF = getQFormatter(); |
104 | 123 |
105 CallMeta meta = context.getMeta(); | 124 CallMeta meta = context.getMeta(); |
106 Locale locale = Resources.getLocale(meta); | 125 Locale locale = Resources.getLocale(meta); |
107 DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT, locale); | 126 DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
127 | |
128 String referenceS = getReference(); | |
108 | 129 |
109 for (KMIndex<QWD[]> reference: referenceEvents) { | 130 for (KMIndex<QWD[]> reference: referenceEvents) { |
110 | 131 |
111 for (KMIndex.Entry<QWD[]> kmEntry: reference) { | 132 for (KMIndex.Entry<QWD[]> kmEntry: reference) { |
112 | 133 |
117 String qS = qF.format(qwd.getQ()); | 138 String qS = qF.format(qwd.getQ()); |
118 String dateS = dF.format(qwd.getDate()); | 139 String dateS = dF.format(qwd.getDate()); |
119 | 140 |
120 writer.writeNext(new String[] { | 141 writer.writeNext(new String[] { |
121 kmS, | 142 kmS, |
143 referenceS, | |
122 deltaWS, | 144 deltaWS, |
123 qS, | 145 qS, |
124 dateS, | 146 dateS, |
125 desc != null ? desc : "" }); | 147 desc != null ? desc : "" }); |
126 } | 148 } |
129 | 151 |
130 if (debug) { | 152 if (debug) { |
131 log.debug("AnalysisPeriods: " + analysisPeriods.size()); | 153 log.debug("AnalysisPeriods: " + analysisPeriods.size()); |
132 } | 154 } |
133 | 155 |
156 String analysisTemplate = getAnalysisTemplate(); | |
157 | |
158 int analysisCount = 1; | |
159 | |
134 for (KMIndex<AnalysisPeriod []> periods: analysisPeriods) { | 160 for (KMIndex<AnalysisPeriod []> periods: analysisPeriods) { |
161 | |
162 String analyisS = MessageFormat.format( | |
163 analysisTemplate, analysisCount); | |
135 | 164 |
136 for (KMIndex.Entry<AnalysisPeriod []> kmEntry: periods) { | 165 for (KMIndex.Entry<AnalysisPeriod []> kmEntry: periods) { |
137 | 166 |
138 String kmS = kmF.format(kmEntry.getKm()); | 167 String kmS = kmF.format(kmEntry.getKm()); |
139 | 168 |
146 String qS = qF.format(qwd.getQ()); | 175 String qS = qF.format(qwd.getQ()); |
147 String dateS = dF.format(qwd.getDate()); | 176 String dateS = dF.format(qwd.getDate()); |
148 | 177 |
149 writer.writeNext(new String[] { | 178 writer.writeNext(new String[] { |
150 kmS, | 179 kmS, |
180 analyisS, | |
151 deltaWS, | 181 deltaWS, |
152 qS, | 182 qS, |
153 dateS, | 183 dateS, |
154 desc != null ? desc : "" }); | 184 desc != null ? desc : "" }); |
155 } | 185 } |
156 } | 186 } |
157 } | 187 } |
188 ++analysisCount; | |
158 } | 189 } |
159 } | 190 } |
160 writer.flush(); | 191 writer.flush(); |
161 } | 192 } |
162 | 193 |
194 protected String getAnalysisTemplate() { | |
195 return Resources.getMsg( | |
196 context.getMeta(), | |
197 CSV_ANALYSIS, DEFAULT_CSV_ANALYSIS); | |
198 } | |
199 | |
200 protected String getReference() { | |
201 return Resources.getMsg( | |
202 context.getMeta(), | |
203 CSV_REFERENCE, DEFAULT_CSV_REFERENCE); | |
204 } | |
163 | 205 |
164 protected NumberFormat getKMFormatter() { | 206 protected NumberFormat getKMFormatter() { |
165 return Formatter.getFixDeltaWKM(context); | 207 return Formatter.getFixDeltaWKM(context); |
166 } | 208 } |
167 | 209 |
176 protected void writeCSVHeader(CSVWriter writer) { | 218 protected void writeCSVHeader(CSVWriter writer) { |
177 log.debug("DeltaWtExporter.writeCSVHeader"); | 219 log.debug("DeltaWtExporter.writeCSVHeader"); |
178 | 220 |
179 writer.writeNext(new String[] { | 221 writer.writeNext(new String[] { |
180 msg(CSV_KM_HEADER, DEFAULT_CSV_KM_HEADER), | 222 msg(CSV_KM_HEADER, DEFAULT_CSV_KM_HEADER), |
223 msg(CSV_TRANGE_HEADER, DEFAULT_CSV_TRANGE_DESC_HEADER), | |
181 msg(CSV_DELTA_W_HEADER, DEFAULT_CSV_DELTA_W_HEADER), | 224 msg(CSV_DELTA_W_HEADER, DEFAULT_CSV_DELTA_W_HEADER), |
182 msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER), | 225 msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER), |
183 msg(CSV_T_HEADER, DEFAULT_CSV_T_HEADER), | 226 msg(CSV_T_HEADER, DEFAULT_CSV_T_HEADER), |
184 msg(CSV_T_DESC_HEADER, DEFAULT_CSV_T_DESC_HEADER) | 227 msg(CSV_T_DESC_HEADER, DEFAULT_CSV_T_DESC_HEADER) |
185 }); | 228 }); |