diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 82:5eb62df21f9a

Added Support for Vertical Profiles Marnet, STAUN, IMIS gnv-artifacts/trunk@111 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 22 Sep 2009 13:20:30 +0000
parents 9b41f3688610
children 5d4f5d26bb7a
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java	Mon Sep 21 11:50:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java	Tue Sep 22 13:20:30 2009 +0000
@@ -55,7 +55,7 @@
         log.debug("TimeSeriesOutputTransition");
         try {
             this.advance(); // TODO nur neu holen wenn hash auf chartResult sich ge�ndert hat
-            ChartFactory chartFactory = new ChartFactory();
+           
             
             Collection<KeyValueDescibeData> parameters = this.getParameters();
             Collection<KeyValueDescibeData> measurements = this.getMeasurements();
@@ -65,9 +65,8 @@
             lDiagramTitle.append(/*mSelectedFis.getTitle()*/ "FIS-TITLE").append(" - ").append(/*mSelectedFeatureId[0].getTitle()*/"FeatureTitle"); // TODO: FIXME
             String domainLable = "BLA"; // TODO woher bekommen wir das
             ChartLabels chartLables = new ChartLabels(lDiagramTitle.toString(),domainLable , /*mSelectedParams[0].getTitle()*/ "Selected Params Title");
-            chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle, timeSeriesName, 
-                                                     parameters, measurements, 
-                                                     outputStream, this.chartResult);
+            createChart(outputStream, parameters, measurements, timeSeriesName,
+                    chartStyle, chartLables);
         } catch (IOException e) {
             log.error(e,e);
             throw new TransitionException(e);
@@ -77,6 +76,27 @@
         }
     }
 
+/**
+ * @param outputStream
+ * @param parameters
+ * @param measurements
+ * @param timeSeriesName
+ * @param chartStyle
+ * @param chartLables
+ * @throws IOException
+ * @throws TechnicalChartException
+ */
+protected void createChart(OutputStream outputStream,
+        Collection<KeyValueDescibeData> parameters,
+        Collection<KeyValueDescibeData> measurements, String timeSeriesName,
+        ChartStyle chartStyle, ChartLabels chartLables) throws IOException,
+        TechnicalChartException {
+    ChartFactory chartFactory = new ChartFactory();
+    chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle, timeSeriesName, 
+                                             parameters, measurements, 
+                                             outputStream, this.chartResult);
+}
+
     /**
      * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection)
      */
@@ -93,29 +113,29 @@
     }
     
     protected Collection<KeyValueDescibeData> getParameters(){
-        Iterator<Object> it = this.descibeData.iterator();
-        
-        while (it.hasNext()){
-           
-           Object o = it.next();
-           if (o instanceof NamedCollection<?>){
-               NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o;
-               if (nc.getName().equals("parameterid")){ // TODO: konfigurierbar machen.
-                   return nc;
-               }
-           }
-        }
-        return null;
+        String collectionName = "parameterid";
+        return this.getCollection(collectionName);
     }
     
     protected Collection<KeyValueDescibeData> getMeasurements(){
+        String collectionName = "measurementid";
+        return this.getCollection(collectionName);
+    }
+
+    /**
+     * @param collectionName
+     * @return
+     */
+    protected Collection<KeyValueDescibeData> getCollection(
+            String collectionName) {
         Iterator<Object> it = this.descibeData.iterator();
         while (it.hasNext()){
            
            Object o = it.next();
+           
            if (o instanceof NamedCollection<?>){
                NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o;
-               if (nc.getName().equals("measurementid")){ // TODO: konfigurierbar machen.
+               if (nc.getName().equals(collectionName)){ // TODO: konfigurierbar machen.
                    return nc;
                }
            }

http://dive4elements.wald.intevation.org