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,

http://dive4elements.wald.intevation.org