Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java @ 446:f5a041000357
Connected vertical cross section with chart generation.
gnv-artifacts/trunk@494 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 01 Jan 2010 12:08:05 +0000 |
parents | da21c256a0ba |
children | 4cd03910f97e |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java Wed Dec 30 23:02:10 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java Fri Jan 01 12:08:05 2010 +0000 @@ -358,20 +358,32 @@ this.createCSV(outputStream, chartResult); } else if (outputMode.equalsIgnoreCase("statistics")) { log.debug("Statistics will be generated."); + Statistics s = getStatisticsGenerator(); - Collection<Result> chartResult = - (Collection<Result>) getChartResult(uuid, callContext); - 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); + + Collection<StatisticSet> statistics; + + Object result = getChartResult(uuid, callContext); + + if (result instanceof Collection) { + Collection<Result> chartResult = + (Collection<Result>) result; + Collection<KeyValueDescibeData> parameters = + this.getParameters(uuid); + Collection<KeyValueDescibeData> measurements = + this.getMeasurements(uuid); + Collection<KeyValueDescibeData> dates = + this.getDates(uuid); + statistics = s.calculateStatistics( + chartResult, + parameters, + measurements, + dates); + } + else { + statistics = new ArrayList<StatisticSet>(); + } + Document doc = this.writeStatistics2XML(statistics); this.writeDocument2OutputStream(doc, outputStream); } else if (outputMode.equalsIgnoreCase("odv")) { @@ -691,7 +703,7 @@ parameters, measurements, dates, - (Collection) getChartResult(uuid, callContext), + getChartResult(uuid, callContext), locale, uuid, linesVisible,