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

Some Codecleanup done gnv-artifacts/trunk@123 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 24 Sep 2009 09:39:27 +0000
parents 5eb62df21f9a
children 6bdef6e590d6
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java	Wed Sep 23 14:32:55 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java	Thu Sep 24 09:39:27 2009 +0000
@@ -5,7 +5,6 @@
 
 import java.awt.Color;
 import java.awt.Dimension;
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Collection;
@@ -28,12 +27,19 @@
  *
  */
 public class TimeSeriesOutputTransition extends OutputTransitionBase{
+
+    /**
+     * The UID of this Class
+     */
+    private static final long serialVersionUID = 4178407570503098858L;
     
-    protected Collection<Result> chartResult = null;
     /**
      * the logger, used to log exceptions and additonaly information
      */
     private static Logger log = Logger.getLogger(TimeSeriesOutputTransition.class);
+    
+    protected String domainLable = "Zeit [UTC]"; 
+    
     /**
      * Constructor
      */
@@ -54,18 +60,12 @@
     public void out(String outputMode, OutputStream outputStream) throws TransitionException {
         log.debug("TimeSeriesOutputTransition");
         try {
-            this.advance(); // TODO nur neu holen wenn hash auf chartResult sich ge�ndert hat
-           
-            
+            this.advance(); 
             Collection<KeyValueDescibeData> parameters = this.getParameters();
             Collection<KeyValueDescibeData> measurements = this.getMeasurements();
-            String timeSeriesName = "BLA";
             ChartStyle chartStyle = this.creatStyle(600,400);
-            StringBuffer lDiagramTitle = new StringBuffer();
-            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");
-            createChart(outputStream, parameters, measurements, timeSeriesName,
+            ChartLabels chartLables = new ChartLabels(this.getSelectedFeatureName(),this.domainLable);
+            this.createChart(outputStream, parameters, measurements,
                     chartStyle, chartLables);
         } catch (IOException e) {
             log.error(e,e);
@@ -76,26 +76,41 @@
         }
     }
 
-/**
- * @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);
-}
+    
+    protected String getSelectedFeatureName(){
+        String collectionName = "featureid"; // TODO: Konfigurierbar machen
+        Collection<KeyValueDescibeData> values =  this.getCollection(collectionName);
+        if (values != null){
+            Iterator<KeyValueDescibeData> it = values.iterator();
+            while(it.hasNext()){
+                KeyValueDescibeData data = it.next();
+                if (data.isSelected()){
+                    return data.getValue();
+                }
+            }
+        }
+        return null;
+    }
+    /**
+     * @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,
+            ChartStyle chartStyle, ChartLabels chartLables) throws IOException,
+            TechnicalChartException {
+        ChartFactory chartFactory = new ChartFactory();
+        chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle,
+                                                 parameters, measurements, 
+                                                 outputStream, this.chartResult);
+    }
 
     /**
      * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection)
@@ -113,12 +128,12 @@
     }
     
     protected Collection<KeyValueDescibeData> getParameters(){
-        String collectionName = "parameterid";
+        String collectionName = "parameterid"; // TODO: Konfigurierbar machen
         return this.getCollection(collectionName);
     }
     
     protected Collection<KeyValueDescibeData> getMeasurements(){
-        String collectionName = "measurementid";
+        String collectionName = "measurementid"; // TODO: Konfigurierbar machen
         return this.getCollection(collectionName);
     }
 
@@ -135,7 +150,7 @@
            
            if (o instanceof NamedCollection<?>){
                NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o;
-               if (nc.getName().equals(collectionName)){ // TODO: konfigurierbar machen.
+               if (nc.getName().equals(collectionName)){
                    return nc;
                }
            }

http://dive4elements.wald.intevation.org