changeset 5681:aa06e25528ae

Added processor for new factes in bed difference chart generators.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 12 Apr 2013 14:50:18 +0200
parents 8cb8b03a423d
children b536c0e7abd7
files flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceEpochGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceYearGenerator.java
diffstat 2 files changed, 84 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceEpochGenerator.java	Fri Apr 12 14:49:04 2013 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceEpochGenerator.java	Fri Apr 12 14:50:18 2013 +0200
@@ -9,15 +9,18 @@
 import de.intevation.flys.artifacts.FLYSArtifact;
 import de.intevation.flys.artifacts.access.FlowVelocityAccess;
 import de.intevation.flys.artifacts.model.FacetTypes;
+import de.intevation.flys.artifacts.model.WKms;
 import de.intevation.flys.artifacts.model.minfo.BedDiffEpochResult;
 import de.intevation.flys.exports.StyledSeriesBuilder;
 import de.intevation.flys.exports.fixings.FixChartGenerator;
 import de.intevation.flys.exports.process.KMIndexProcessor;
 import de.intevation.flys.exports.process.Processor;
+import de.intevation.flys.exports.process.WOutProcessor;
 import de.intevation.flys.jfree.Bounds;
 import de.intevation.flys.jfree.DoubleBounds;
 import de.intevation.flys.jfree.FLYSAnnotation;
 import de.intevation.flys.jfree.StyledXYSeries;
+import de.intevation.flys.utils.DataUtil;
 
 
 public class BedDifferenceEpochGenerator
@@ -25,7 +28,7 @@
 implements FacetTypes
 {
     public enum YAXIS {
-        D(0), H(1), dW(2);
+        D(0), H(1), dW(2), W(3);
 
         protected int idx;
 
@@ -51,6 +54,10 @@
     public static final String I18N_DW_YAXIS_LABEL =
             "chart.fixings.longitudinalsection.yaxis.label";
 
+    private static final String I18N_W_YAXIS_LABEL =
+        "chart.longitudinal.section.yaxis.label";
+    private static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]";
+
 
     @Override
     protected YAxisWalker getYAxisWalker() {
@@ -112,6 +119,7 @@
             context.putContextValue("endkm", bounds.getUpper());
         }
         Processor processor = new KMIndexProcessor();
+        Processor woutp = new WOutProcessor();
         if (name.equals(BED_DIFFERENCE_EPOCH)) {
             doBedDifferenceEpochOut(
                 (BedDiffEpochResult) bundle.getData(context),
@@ -141,6 +149,16 @@
         else if (processor.canHandle(name)) {
             processor.doOut(this, bundle, attr, visible, YAXIS.dW.idx);
         }
+        else if (woutp.canHandle(name)) {
+            woutp.doOut(this, bundle, attr, visible, YAXIS.W.idx);
+        }
+        else if (name.equals(W_DIFFERENCES)) {
+            doWDifferencesOut(
+                (WKms) bundle.getData(context),
+                bundle,
+                attr,
+                visible);
+        }
         else if (name.equals(LONGITUDINAL_ANNOTATION)) {
             doAnnotations(
                 (FLYSAnnotation) bundle.getData(context),
@@ -175,7 +193,9 @@
         else if (pos == YAXIS.dW.idx) {
             return msg(I18N_DW_YAXIS_LABEL, I18N_DW_YAXIS_LABEL_DEFAULT);
         }
-
+        else if (pos == YAXIS.W.idx) {
+            return msg(I18N_W_YAXIS_LABEL, I18N_W_YAXIS_LABEL_DEFAULT);
+        }
         return label;
     }
 
@@ -206,4 +226,24 @@
 
         addAxisSeries(series, YAXIS.H.idx, visible);
     }
+
+    protected void doWDifferencesOut(
+        WKms       wkms,
+        ArtifactAndFacet aandf,
+        Document   theme,
+        boolean    visible
+    ) {
+        if (wkms == null) {
+            logger.warn("No data to add to WDifferencesChart.");
+            return;
+         }
+
+        XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+        StyledSeriesBuilder.addPoints(series, wkms);
+
+        addAxisSeries(series, YAXIS.D.idx, visible);
+        if (DataUtil.guessWaterIncreasing(wkms.allWs())) {
+            setInverted(true);
+        }
+    }
 }
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceYearGenerator.java	Fri Apr 12 14:49:04 2013 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceYearGenerator.java	Fri Apr 12 14:50:18 2013 +0200
@@ -7,16 +7,19 @@
 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
 import de.intevation.artifactdatabase.state.Facet;
 import de.intevation.flys.artifacts.model.FacetTypes;
+import de.intevation.flys.artifacts.model.WKms;
 import de.intevation.flys.artifacts.model.minfo.BedDiffYearResult;
 import de.intevation.flys.artifacts.model.minfo.BedDifferencesResult;
 import de.intevation.flys.exports.StyledSeriesBuilder;
 import de.intevation.flys.exports.fixings.FixChartGenerator;
 import de.intevation.flys.exports.process.KMIndexProcessor;
 import de.intevation.flys.exports.process.Processor;
+import de.intevation.flys.exports.process.WOutProcessor;
 import de.intevation.flys.jfree.Bounds;
 import de.intevation.flys.jfree.DoubleBounds;
 import de.intevation.flys.jfree.FLYSAnnotation;
 import de.intevation.flys.jfree.StyledXYSeries;
+import de.intevation.flys.utils.DataUtil;
 
 
 public class BedDifferenceYearGenerator
@@ -24,7 +27,7 @@
 implements FacetTypes
 {
     public enum YAXIS {
-        D(0), M(1), H(2),  dW(3);
+        D(0), M(1), H(2),  dW(3), W(4);
 
         protected int idx;
 
@@ -51,6 +54,9 @@
             "delta W [cm]";
     public static final String I18N_DW_YAXIS_LABEL =
             "chart.fixings.longitudinalsection.yaxis.label";
+    private static final String I18N_W_YAXIS_LABEL =
+        "chart.longitudinal.section.yaxis.label";
+    private static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]";
 
     @Override
     protected YAxisWalker getYAxisWalker() {
@@ -110,6 +116,7 @@
             context.putContextValue("endkm", bounds.getUpper());
         }
         Processor processor = new KMIndexProcessor();
+        Processor woutp = new WOutProcessor();
         if (name.equals(BED_DIFFERENCE_YEAR)) {
             doBedDifferenceYearOut(
                 (BedDiffYearResult) bundle.getData(context),
@@ -155,8 +162,15 @@
                  attr,
                  visible);
         }
-        else if (processor.canHandle(name)) {
-            processor.doOut(this, bundle, attr, visible, YAXIS.dW.idx);
+        else if (woutp.canHandle(name)) {
+            woutp.doOut(this, bundle, attr, visible, YAXIS.W.idx);
+        }
+        else if (name.equals(W_DIFFERENCES)) {
+            doWDifferencesOut(
+                (WKms) bundle.getData(context),
+                bundle,
+                attr,
+                visible);
         }
         else {
             logger.warn("Unknown facet name " + name);
@@ -207,6 +221,10 @@
         else if (pos == YAXIS.dW.idx) {
             label = msg(I18N_DW_YAXIS_LABEL, I18N_DW_YAXIS_LABEL_DEFAULT);
         }
+        else if (pos == YAXIS.W.idx) {
+            return msg(I18N_W_YAXIS_LABEL, I18N_W_YAXIS_LABEL_DEFAULT);
+        }
+
         return label;
     }
 
@@ -229,4 +247,24 @@
 
         addAxisSeries(series, YAXIS.M.idx, visible);
     }
-}
+
+    protected void doWDifferencesOut(
+        WKms       wkms,
+        ArtifactAndFacet aandf,
+        Document   theme,
+        boolean    visible
+    ) {
+        if (wkms == null) {
+            logger.warn("No data to add to WDifferencesChart.");
+            return;
+         }
+
+        XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+        StyledSeriesBuilder.addPoints(series, wkms);
+
+        addAxisSeries(series, YAXIS.D.idx, visible);
+        if (DataUtil.guessWaterIncreasing(wkms.allWs())) {
+            setInverted(true);
+        }
+    }
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org