Mercurial > dive4elements > gnv-client
diff 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 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Wed Nov 11 15:54:31 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Thu Nov 12 10:15:05 2009 +0000 @@ -42,6 +42,7 @@ import de.intevation.gnv.exports.Export.Profile; import de.intevation.gnv.geobackend.base.Result; import de.intevation.gnv.statistics.Statistic; +import de.intevation.gnv.statistics.StatisticSet; import de.intevation.gnv.statistics.Statistics; import de.intevation.gnv.statistics.TimeseriesStatistics; import de.intevation.gnv.statistics.exception.StatisticsException; @@ -203,8 +204,17 @@ log.debug("Statistics will be generated."); Statistics s = getStatisticsGenerator(); Collection<Result> chartResult = this.getChartResult(uuid); - Collection<Statistic> statistics = s - .calculateStatistics(chartResult); + Collection<KeyValueDescibeData> parameters = + this.getParameters(uuid); + Collection<KeyValueDescibeData> measurements = + this.getMeasurements(uuid); + Collection<KeyValueDescibeData> dates = + this.getDates(uuid); + Collection<StatisticSet> statistics = + s.calculateStatistics(chartResult, + parameters, + measurements, + dates); Document doc = this.writeStatistics2XML(statistics); this.writeDocument2OutputStream(doc, outputStream); } else if (outputMode.equalsIgnoreCase("odv")) { @@ -283,21 +293,30 @@ } } - protected Document writeStatistics2XML(Collection<Statistic> statistic) { + protected Document writeStatistics2XML( Collection<StatisticSet> statistic) { ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities(); Document doc = XMLUtils.newDocument(); if (statistic != null) { Node statisticResults = xmlUtilities.createArtifactElement(doc, - "statistic-values"); + "statistics"); doc.appendChild(statisticResults); - Iterator<Statistic> it = statistic.iterator(); + Iterator<StatisticSet> it = statistic.iterator(); while (it.hasNext()) { - Statistic s = it.next(); - Element result = xmlUtilities.createArtifactElement(doc, - "statistic"); - result.setAttribute("name", s.getKey()); - result.setAttribute("value", s.getStringValue()); - statisticResults.appendChild(result); + StatisticSet set = it.next(); + Element setElement = xmlUtilities.createArtifactElement(doc, + "statistic"); + setElement.setAttribute("name", set.getName()); + + Iterator<Statistic> sit = set.getStatistics().iterator(); + while (sit.hasNext()){ + Statistic s = sit.next(); + Element result = xmlUtilities.createArtifactElement(doc, + "statistic-value"); + result.setAttribute("name", s.getKey()); + result.setAttribute("value", s.getStringValue()); + setElement.appendChild(result); + } + statisticResults.appendChild(setElement); } }