diff flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java @ 696:708b270dfd30 facets-slt

OutGenerators use now facets to fetch necessary data. flys-artifacts/branches/facets-slt@2140 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 17 Jun 2011 09:19:43 +0000
parents 45cd58a2a2bb
children ddd8b37d5cd3
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java	Thu Jun 16 14:31:41 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java	Fri Jun 17 09:19:43 2011 +0000
@@ -23,6 +23,7 @@
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 import de.intevation.flys.artifacts.WINFOArtifact;
+import de.intevation.flys.artifacts.model.FacetTypes;
 import de.intevation.flys.artifacts.model.WQKms;
 
 
@@ -31,8 +32,10 @@
  *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
-public class LongitudinalSectionGenerator extends XYChartGenerator {
-
+public class LongitudinalSectionGenerator
+extends      XYChartGenerator
+implements   FacetTypes
+{
     /** The logger that is used in this generator.*/
     private static Logger logger =
         Logger.getLogger(LongitudinalSectionGenerator.class);
@@ -191,11 +194,18 @@
             return;
         }
 
-        if (name.equals(LONGITUDINAL_SECTION_W)) {
-            doWOut(getWaterlevelData(artifact));
+        FLYSArtifact flys = (FLYSArtifact) artifact;
+        Facet        f    = flys.getNativeFacet(facet);
+
+        if (f == null) {
+            return;
         }
-        else if (name.equals(LONGITUDINAL_SECTION_Q)) {
-            doQOut(getWaterlevelData(artifact));
+
+        if (name.equals(LONGITUDINAL_W)) {
+            doWOut((WQKms) f.getData(artifact, context));
+        }
+        else if (name.equals(LONGITUDINAL_Q)) {
+            doQOut((WQKms) f.getData(artifact, context));
         }
         else {
             logger.warn("Unknown facet name: " + name);
@@ -226,33 +236,30 @@
      *
      * @param wqkms An array of WQKms values.
      */
-    protected void doWOut(WQKms[] wqkms) {
+    protected void doWOut(WQKms wqkms) {
         logger.debug("LongitudinalSectionGenerator.doWOut");
 
-        int idx = 0;
-        for (WQKms tmp: wqkms) {
-            XYSeries series = new XYSeries(getSeriesName(tmp, "W"));
-
-            double[] target = new double[3];
-            int      size   = tmp.size();
+        XYSeries series = new XYSeries(getSeriesName(wqkms, "W"));
 
-            if (logger.isDebugEnabled()) {
-                if (tmp.size() > 0) {
-                    logger.debug("Generate series: " + series.getKey());
-                    logger.debug("Start km: " + tmp.getKms(0));
-                    logger.debug("End   km: " + tmp.getKms(size-1));
-                    logger.debug("Values  : " + size);
-                }
+        double[] target = new double[3];
+        int      size   = wqkms.size();
+
+        if (logger.isDebugEnabled()) {
+            if (wqkms.size() > 0) {
+                logger.debug("Generate series: " + series.getKey());
+                logger.debug("Start km: " + wqkms.getKms(0));
+                logger.debug("End   km: " + wqkms.getKms(size-1));
+                logger.debug("Values  : " + size);
             }
-
-            for (int i = 0; i < size; i++) {
-                target = tmp.get(i, target);
+        }
 
-                series.add(target[2], target[0]);
-            }
+        for (int i = 0; i < size; i++) {
+            target = wqkms.get(i, target);
 
-            w.addSeries(series);
+            series.add(target[2], target[0]);
         }
+
+        w.addSeries(series);
     }
 
 
@@ -261,34 +268,31 @@
      *
      * @param wqkms An array of WQKms values.
      */
-    protected void doQOut(WQKms[] wqkms) {
+    protected void doQOut(WQKms wqkms) {
         logger.debug("LongitudinalSectionGenerator.doQOut");
 
-        int idx = 0;
-        for (WQKms tmp: wqkms) {
-            XYSeries series = new XYSeries(getSeriesName(tmp, "Q"));
-
-            double[] target = new double[3];
-            int      size   = tmp.size();
+        XYSeries series = new XYSeries(getSeriesName(wqkms, "Q"));
 
-            if (logger.isDebugEnabled()) {
-                if (tmp.size() > 0) {
-                    logger.debug("Generate series: " + series.getKey());
-                    logger.debug("Start km: " + tmp.getKms(0));
-                    logger.debug("End   km: " + tmp.getKms(size-1));
-                    logger.debug("Values  : " + size);
-                }
-            }
+        double[] target = new double[3];
+        int      size   = wqkms.size();
 
-            for (int i = 0; i < size; i++) {
-                target = tmp.get(i, target);
+        if (logger.isDebugEnabled()) {
+            if (wqkms.size() > 0) {
+                logger.debug("Generate series: " + series.getKey());
+                logger.debug("Start km: " + wqkms.getKms(0));
+                logger.debug("End   km: " + wqkms.getKms(size-1));
+                logger.debug("Values  : " + size);
+            }
+        }
 
-                //logger.debug("++ Q Tuple: " + target[2] + " -> " + target[1]);
-                series.add(target[2], target[1]);
-            }
+        for (int i = 0; i < size; i++) {
+            target = wqkms.get(i, target);
 
-            q.addSeries(series);
+            //logger.debug("++ Q Tuple: " + target[2] + " -> " + target[1]);
+            series.add(target[2], target[1]);
         }
+
+        q.addSeries(series);
     }
 
 

http://dive4elements.wald.intevation.org