changeset 4448:9425b7c51b73

Use new WOutProcessor for generating charts Use WOutProcessor in DischargeLongitudinalSectionGenerator and LongitudinalSectionGenerator.
author Björn Ricks <bjoern.ricks@intevation.de>
date Wed, 07 Nov 2012 15:56:28 +0100
parents a5993b69439b
children f3c4976874f2
files flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
diffstat 2 files changed, 14 insertions(+), 87 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java	Wed Nov 07 15:52:25 2012 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java	Wed Nov 07 15:56:28 2012 +0100
@@ -12,7 +12,8 @@
 import de.intevation.flys.artifacts.model.FacetTypes;
 import de.intevation.flys.artifacts.model.WQCKms;
 import de.intevation.flys.artifacts.model.WQKms;
-import de.intevation.flys.artifacts.model.WKms;
+import de.intevation.flys.exports.process.Processor;
+import de.intevation.flys.exports.process.WOutProcessor;
 
 import de.intevation.flys.jfree.FLYSAnnotation;
 import de.intevation.flys.jfree.StyledXYSeries;
@@ -53,14 +54,7 @@
 
         Facet facet = artifactFacet.getFacet();
 
-        if (IS.WQ_KM(name)) {
-            doWOut(
-                (WQKms) artifactFacet.getData(context),
-                artifactFacet,
-                attr,
-                visible);
-        }
-        else if (name.equals(DISCHARGE_LONGITUDINAL_Q)) {
+        if (name.equals(DISCHARGE_LONGITUDINAL_Q)) {
             doQOut(
                 (WQKms) artifactFacet.getData(context),
                 artifactFacet,
@@ -74,12 +68,6 @@
                 attr,
                 visible);
         }
-        else if (IS.W_KM(name)) {
-            doWOut(
-                (WKms) artifactFacet.getData(context),
-                artifactFacet,
-                attr, visible);
-        }
         else if (name.equals(LONGITUDINAL_ANNOTATION)) {
             doAnnotations((FLYSAnnotation) artifactFacet.getData(context),
                  artifactFacet, attr, visible);
@@ -90,7 +78,13 @@
                 attr, visible, YAXIS.W.idx);
         }
         else {
-            logger.warn("Unknown facet name: " + name);
+            Processor processor = new WOutProcessor();
+            if (processor.canHandle(name)) {
+                processor.doOut(this, artifactFacet, attr, visible, YAXIS.W.idx);
+            }
+            else {
+                logger.warn("Unknown facet name: " + name);
+            }
         }
     }
 
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java	Wed Nov 07 15:52:25 2012 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java	Wed Nov 07 15:56:28 2012 +0100
@@ -8,13 +8,12 @@
 import de.intevation.flys.artifacts.model.FacetTypes;
 import de.intevation.flys.artifacts.model.WKms;
 import de.intevation.flys.artifacts.model.WQKms;
+import de.intevation.flys.exports.process.WOutProcessor;
 import de.intevation.flys.jfree.FLYSAnnotation;
 import de.intevation.flys.jfree.StyledAreaSeriesCollection;
 import de.intevation.flys.jfree.StyledXYSeries;
 import de.intevation.flys.utils.DataUtil;
 import de.intevation.flys.utils.FLYSUtils;
-import de.intevation.flys.utils.ThemeUtil;
-
 import org.apache.log4j.Logger;
 import org.jfree.chart.axis.NumberAxis;
 import org.jfree.chart.axis.ValueAxis;
@@ -326,12 +325,9 @@
             return;
         }
 
-        if (name.equals(LONGITUDINAL_W)) {
-            doWOut(
-                (WQKms) artifactAndFacet.getData(context),
-                artifactAndFacet,
-                attr,
-                visible);
+        WOutProcessor processor = new WOutProcessor();
+        if (processor.canHandle(name)) {
+            processor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx);
         }
         else if (name.equals(LONGITUDINAL_Q)) {
             doQOut(
@@ -347,22 +343,6 @@
                  attr,
                  visible);
         }
-        else if (name.equals(STATIC_WKMS)
-                || name.equals(HEIGHTMARKS_POINTS)
-                || name.equals(STATIC_WQKMS)) {
-            doWOut(
-                (WKms) artifactAndFacet.getData(context),
-                artifactAndFacet,
-                attr,
-                visible);
-        }
-        else if (name.equals(STATIC_WQKMS_W)) {
-            doWOut(
-                (WQKms) artifactAndFacet.getData(context),
-                artifactAndFacet,
-                attr,
-                visible);
-        }
         else if (name.equals(STATIC_WQKMS_Q)) {
             doQOut(
                 (WQKms) artifactAndFacet.getData(context),
@@ -398,53 +378,6 @@
         }
     }
 
-
-    /**
-     * Process the output for W facets in a longitudinal section curve.
-     *
-     * @param wkms WKms data.
-     * @param aandf The artifact and facet. This facet does NOT support any data objects. Use
-     * FLYSArtifact.getNativeFacet() instead to retrieve a Facet which supports
-     * data.
-     * @param theme The theme that contains styling information.
-     * @param visible The visibility of the curve.
-     */
-    protected void doWOut(
-        WKms             wkms,
-        ArtifactAndFacet aandf,
-        Document         theme,
-        boolean          visible
-    ) {
-        logger.debug("LongitudinalSectionGenerator.doWOut");
-
-        XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
-
-        StyledSeriesBuilder.addPoints(series, wkms);
-        addAxisSeries(series, YAXIS.W.idx, visible);
-
-        // If a "band around the curve shall be drawn, add according area.
-        double bandWidth = ThemeUtil.parseBandWidth(theme);
-        if (bandWidth > 0 ) {
-            XYSeries seriesDown = new StyledXYSeries(
-                "band " + aandf.getFacetDescription(), false, theme);
-            XYSeries seriesUp = new StyledXYSeries(
-                aandf.getFacetDescription()+"+/-"+bandWidth, false, theme);
-            StyledSeriesBuilder.addUpperBand(seriesUp, wkms, bandWidth);
-            StyledSeriesBuilder.addLowerBand(seriesDown, wkms, bandWidth);
-
-            StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(theme);
-            area.addSeries(seriesUp);
-            area.addSeries(seriesDown);
-            area.setMode(StyledAreaSeriesCollection.FILL_MODE.BETWEEN);
-            addAreaSeries(area, YAXIS.W.idx, visible);
-        }
-
-        if (needInvertAxis(wkms)) {
-            setInverted(true);
-        }
-    }
-
-
     /**
      * Add items to dataseries which describes the differences.
      */

http://dive4elements.wald.intevation.org