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 });

http://dive4elements.wald.intevation.org