comparison gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 253:07650fc6014c

Put a name to each Statistic group which is similar to the name of the Series in the Charts. issue83 gnv-artifacts/trunk@326 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 12 Nov 2009 10:15:05 +0000
parents af474a541f74
children d6c75171f1e9
comparison
equal deleted inserted replaced
252:f1e7ddeef5bc 253:07650fc6014c
40 import de.intevation.gnv.exports.DefaultExport; 40 import de.intevation.gnv.exports.DefaultExport;
41 import de.intevation.gnv.exports.DefaultProfile; 41 import de.intevation.gnv.exports.DefaultProfile;
42 import de.intevation.gnv.exports.Export.Profile; 42 import de.intevation.gnv.exports.Export.Profile;
43 import de.intevation.gnv.geobackend.base.Result; 43 import de.intevation.gnv.geobackend.base.Result;
44 import de.intevation.gnv.statistics.Statistic; 44 import de.intevation.gnv.statistics.Statistic;
45 import de.intevation.gnv.statistics.StatisticSet;
45 import de.intevation.gnv.statistics.Statistics; 46 import de.intevation.gnv.statistics.Statistics;
46 import de.intevation.gnv.statistics.TimeseriesStatistics; 47 import de.intevation.gnv.statistics.TimeseriesStatistics;
47 import de.intevation.gnv.statistics.exception.StatisticsException; 48 import de.intevation.gnv.statistics.exception.StatisticsException;
48 import de.intevation.gnv.timeseries.gap.DefaultTimeGap; 49 import de.intevation.gnv.timeseries.gap.DefaultTimeGap;
49 import de.intevation.gnv.timeseries.gap.TimeGap; 50 import de.intevation.gnv.timeseries.gap.TimeGap;
201 this.createCSV(outputStream, chartResult); 202 this.createCSV(outputStream, chartResult);
202 } else if (outputMode.equalsIgnoreCase("statistics")) { 203 } else if (outputMode.equalsIgnoreCase("statistics")) {
203 log.debug("Statistics will be generated."); 204 log.debug("Statistics will be generated.");
204 Statistics s = getStatisticsGenerator(); 205 Statistics s = getStatisticsGenerator();
205 Collection<Result> chartResult = this.getChartResult(uuid); 206 Collection<Result> chartResult = this.getChartResult(uuid);
206 Collection<Statistic> statistics = s 207 Collection<KeyValueDescibeData> parameters =
207 .calculateStatistics(chartResult); 208 this.getParameters(uuid);
209 Collection<KeyValueDescibeData> measurements =
210 this.getMeasurements(uuid);
211 Collection<KeyValueDescibeData> dates =
212 this.getDates(uuid);
213 Collection<StatisticSet> statistics =
214 s.calculateStatistics(chartResult,
215 parameters,
216 measurements,
217 dates);
208 Document doc = this.writeStatistics2XML(statistics); 218 Document doc = this.writeStatistics2XML(statistics);
209 this.writeDocument2OutputStream(doc, outputStream); 219 this.writeDocument2OutputStream(doc, outputStream);
210 } else if (outputMode.equalsIgnoreCase("odv")) { 220 } else if (outputMode.equalsIgnoreCase("odv")) {
211 221
212 Collection<Result> odvResult = this.getODVResult(uuid); 222 Collection<Result> odvResult = this.getODVResult(uuid);
281 } catch (TransformerException e) { 291 } catch (TransformerException e) {
282 log.error(e, e); 292 log.error(e, e);
283 } 293 }
284 } 294 }
285 295
286 protected Document writeStatistics2XML(Collection<Statistic> statistic) { 296 protected Document writeStatistics2XML( Collection<StatisticSet> statistic) {
287 ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities(); 297 ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities();
288 Document doc = XMLUtils.newDocument(); 298 Document doc = XMLUtils.newDocument();
289 if (statistic != null) { 299 if (statistic != null) {
290 Node statisticResults = xmlUtilities.createArtifactElement(doc, 300 Node statisticResults = xmlUtilities.createArtifactElement(doc,
291 "statistic-values"); 301 "statistics");
292 doc.appendChild(statisticResults); 302 doc.appendChild(statisticResults);
293 Iterator<Statistic> it = statistic.iterator(); 303 Iterator<StatisticSet> it = statistic.iterator();
294 while (it.hasNext()) { 304 while (it.hasNext()) {
295 Statistic s = it.next(); 305 StatisticSet set = it.next();
296 Element result = xmlUtilities.createArtifactElement(doc, 306 Element setElement = xmlUtilities.createArtifactElement(doc,
297 "statistic"); 307 "statistic");
298 result.setAttribute("name", s.getKey()); 308 setElement.setAttribute("name", set.getName());
299 result.setAttribute("value", s.getStringValue()); 309
300 statisticResults.appendChild(result); 310 Iterator<Statistic> sit = set.getStatistics().iterator();
311 while (sit.hasNext()){
312 Statistic s = sit.next();
313 Element result = xmlUtilities.createArtifactElement(doc,
314 "statistic-value");
315 result.setAttribute("name", s.getKey());
316 result.setAttribute("value", s.getStringValue());
317 setElement.appendChild(result);
318 }
319 statisticResults.appendChild(setElement);
301 } 320 }
302 321
303 } 322 }
304 return doc; 323 return doc;
305 } 324 }

http://dive4elements.wald.intevation.org