changeset 3215:750e98fc8b76

FixA: Tweaked the derivate diagram a bit and added chart info. flys-artifacts/trunk@4838 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 29 Jun 2012 15:40:43 +0000
parents 3287019ad04b
children a46910e61dfb
files flys-artifacts/ChangeLog flys-artifacts/doc/conf/conf.xml flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/jfree/Function2DAdapter.java
diffstat 10 files changed, 126 insertions(+), 127 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/ChangeLog	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/ChangeLog	Fri Jun 29 15:40:43 2012 +0000
@@ -1,3 +1,32 @@
+2012-06-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
+
+	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveInfoGenerator.java:
+	  New. Added chart info companion for FixDerivedCurveGenerator.
+
+	* doc/conf/conf.xml: Added to configuration.
+
+	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java:
+	  Code clean up.
+
+	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java:
+	  Simplified. Not Serializable any more because its only a transient object.
+
+	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java:
+	  Clean up. Simplified. Removed dependency from Function2DAdapter because
+	  we are doing our own sampling.
+
+	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java:
+	  Removed empty last line.
+
+	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
+	  Small cosmetics.
+
+	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
+	  Do not notify listeners when add data series.
+
+	* src/main/java/de/intevation/flys/jfree/Function2DAdapter.java:
+	  Removed. Obsolete.
+
 2012-06-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
 
 	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
@@ -6,7 +35,7 @@
 2012-06-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
 
 	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java:
-	  Added chart info companion for FixLongitudinalSectionGenerator.
+	  New. Added chart info companion for FixLongitudinalSectionGenerator.
 
 	* doc/conf/conf.xml: Added to configuration.
 
--- a/flys-artifacts/doc/conf/conf.xml	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/doc/conf/conf.xml	Fri Jun 29 15:40:43 2012 +0000
@@ -269,6 +269,7 @@
         <output-generator name="fix_longitudinal_section_curve">de.intevation.flys.exports.fixings.FixLongitudinalSectionGenerator</output-generator>
         <output-generator name="fix_longitudinal_section_curve_chartinfo">de.intevation.flys.exports.fixings.FixLongitudinalSectionInfoGenerator</output-generator>
         <output-generator name="fix_derivate_curve">de.intevation.flys.exports.fixings.FixDerivedCurveGenerator</output-generator>
+        <output-generator name="fix_derivate_curve_chartinfo">de.intevation.flys.exports.fixings.FixDerivedCurveInfoGenerator</output-generator>
         <!-- Error report generators. -->
         <output-generator name="discharge_longitudinal_section_report">de.intevation.flys.exports.ReportGenerator</output-generator>
         <output-generator name="waterlevel_report">de.intevation.flys.exports.ReportGenerator</output-generator>
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java	Fri Jun 29 15:40:43 2012 +0000
@@ -60,50 +60,50 @@
      */
     @Override
     public Object getData(Artifact artifact, CallContext context) {
-        logger.debug("FixDerivateFacet.getData");
-        if (artifact instanceof FLYSArtifact) {
-            FLYSArtifact flys = (FLYSArtifact)artifact;
-            FixationArtifactAccess access = new FixationArtifactAccess(flys);
-
-            CalculationResult res =
-                (CalculationResult) flys.compute(context,
-                                                 ComputeType.ADVANCE,
-                                                 false);
-
-            FixResult result = (FixResult) res.getData();
-            double currentKm =
-                ((Double)context.getContextValue("currentKm")).doubleValue();
-
-            String function = access.getFunction();
-            Function ff = FunctionFactory.getInstance().getFunction(function);
-            Function.Derivative fd = ff.getDerivative();
 
-            Parameters params = result.getParameters();
-            double maxQ = FixFacetUtils.getMaxQ(params, currentKm);
-
-            String[] paramNames = ff.getParameterNames();
-
-            double[] coeffs = params.interpolate("km", currentKm, paramNames);
-            if(coeffs == null) {
-                logger.warn("getData: coeffs == null");
-                return null;
-            }
-
-            de.intevation.flys.artifacts.math.Function mf =
-                fd.instantiate(coeffs);
-
-            FixFunction fix = new FixFunction(
-                "",
-                ff.getDescription(),
-                mf,
-                maxQ);
-
-            return fix;
-        }
-        else {
+        logger.debug("FixDerivateFacet.getData");
+        if (!(artifact instanceof FLYSArtifact)) {
             logger.debug("Not an instance of FixationArtifact.");
             return null;
         }
+
+        FLYSArtifact flys = (FLYSArtifact)artifact;
+        FixationArtifactAccess access = new FixationArtifactAccess(flys);
+
+        CalculationResult res =
+            (CalculationResult) flys.compute(context,
+                                             ComputeType.ADVANCE,
+                                             false);
+
+        FixResult result = (FixResult) res.getData();
+        double currentKm =
+            ((Double)context.getContextValue("currentKm")).doubleValue();
+
+        String function = access.getFunction();
+        Function ff = FunctionFactory.getInstance().getFunction(function);
+        Function.Derivative fd = ff.getDerivative();
+
+        Parameters params = result.getParameters();
+        double maxQ = FixFacetUtils.getMaxQ(params, currentKm);
+
+        String[] paramNames = ff.getParameterNames();
+
+        double[] coeffs = params.interpolate("km", currentKm, paramNames);
+        if (coeffs == null) {
+            logger.warn("getData: coeffs == null");
+            return null;
+        }
+
+        de.intevation.flys.artifacts.math.Function mf =
+            fd.instantiate(coeffs);
+
+        FixFunction fix = new FixFunction(
+            "",
+            fd.getDescription(),
+            mf,
+            maxQ);
+
+        return fix;
     }
 
 
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java	Fri Jun 29 15:40:43 2012 +0000
@@ -2,45 +2,39 @@
 
 import de.intevation.flys.artifacts.math.Function;
 
-import java.io.Serializable;
-
 public class FixFunction
-implements   Serializable
 {
-    protected String name;
-    protected String description;
-    protected Function mathFunction;
-    protected double maxQ;
-
+    protected String   name;
+    protected String   description;
+    protected Function function;
+    protected double   maxQ;
 
     public FixFunction (
-        String name,
-        String description,
-        Function f,
-        double maxQ) {
-            this.name = name;
-            this.description = description;
-            this.mathFunction = f;
-            this.maxQ = maxQ;
+        String   name,
+        String   description,
+        Function function,
+        double   maxQ
+    ) {
+        this.name        = name;
+        this.description = description;
+        this.function    = function;
+        this.maxQ        = maxQ;
     }
 
     public String getName() {
-        return this.name;
-    }
-
-
-    public String getDescription() {
-        return this.description;
+        return name;
     }
 
+    public String getDescription() {
+        return description;
+    }
 
     public Function getFunction() {
-        return this.mathFunction;
+        return function;
     }
 
-
     public double getMaxQ() {
-        return this.maxQ;
+        return maxQ;
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java	Fri Jun 29 15:40:43 2012 +0000
@@ -9,14 +9,11 @@
 
 import de.intevation.flys.exports.ChartGenerator;
 
-import de.intevation.flys.jfree.Function2DAdapter;
+import de.intevation.flys.jfree.JFreeUtil;
+import de.intevation.flys.jfree.StyledXYSeries;
 
 import org.apache.log4j.Logger;
 
-import org.jfree.data.general.DatasetUtilities;
-
-import org.jfree.data.xy.XYSeries;
-
 import org.w3c.dom.Document;
 
 /**
@@ -70,21 +67,22 @@
         FixFunction func = (FixFunction)facet.getData(
             aaf.getArtifact(), context);
 
-        if(func != null) {
-            double maxQ = func.getMaxQ();
+        if (func == null) {
+            logger.warn("doOut: Facet does not contain FixFunction");
+            return;
+        }
 
-            if(maxQ > 0) {
-                XYSeries series = DatasetUtilities.sampleFunction2DToSeries(
-                    new Function2DAdapter(func.getFunction()),
-                    0,              // start
-                    maxQ, // end
-                    500,            // number of samples
-                    aaf.getFacetDescription());
-                addAxisSeries(series, 0, visible);
-            }
-        }
-        else {
-            logger.debug("doOut: func == null");
+        double maxQ = func.getMaxQ();
+
+        if (maxQ > 0) {
+            StyledXYSeries series = JFreeUtil.sampleFunction2D(
+                func.getFunction(),
+                doc,
+                aaf.getFacetDescription(),
+                500,   // number of samples
+                0.0 ,  // start
+                maxQ); // end
+            addAxisSeries(series, 0, visible);
         }
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveInfoGenerator.java	Fri Jun 29 15:40:43 2012 +0000
@@ -0,0 +1,11 @@
+package de.intevation.flys.exports.fixings;
+
+import de.intevation.flys.exports.ChartInfoGenerator;
+
+public class FixDerivedCurveInfoGenerator extends ChartInfoGenerator {
+
+    public FixDerivedCurveInfoGenerator() {
+        super(new FixDerivedCurveGenerator());
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java	Fri Jun 29 15:40:43 2012 +0000
@@ -205,8 +205,8 @@
             double dev = devArray[0];
             double up = dev;
             double lo = -dev;
-            upper.add(km, up);
-            lower.add(km, lo);
+            upper.add(km, up, false);
+            lower.add(km, lo, false);
         }
         area.addSeries(upper);
         area.addSeries(lower);
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java	Fri Jun 29 15:40:43 2012 +0000
@@ -9,4 +9,3 @@
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
-
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java	Fri Jun 29 13:42:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java	Fri Jun 29 15:40:43 2012 +0000
@@ -27,12 +27,11 @@
 
 import org.jfree.data.xy.XYSeries;
 
-
 import org.w3c.dom.Document;
 
 public class FixWQCurveGenerator
-extends FixChartGenerator
-implements FacetTypes
+extends      FixChartGenerator
+implements   FacetTypes
 {
     private static Logger logger =
         Logger.getLogger(FixWQCurveGenerator.class);
@@ -141,14 +140,14 @@
 
         double maxQ = func.getMaxQ();
 
-        if(maxQ > 0) {
+        if (maxQ > 0) {
             StyledXYSeries series = JFreeUtil.sampleFunction2D(
                 func.getFunction(),
                 doc,
                 aaf.getFacetDescription(),
-                500,             // number of samples
-                0.0 ,            // start
-                func.getMaxQ()); // end
+                500,   // number of samples
+                0.0 ,  // start
+                maxQ); // end
 
             addAxisSeries(series, 0, visible);
         }
--- a/flys-artifacts/src/main/java/de/intevation/flys/jfree/Function2DAdapter.java	Fri Jun 29 13:42:06 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-package de.intevation.flys.jfree;
-
-import de.intevation.flys.artifacts.math.Function;
-
-import org.jfree.data.function.Function2D;
-
-public class Function2DAdapter
-implements   Function2D
-{
-    protected Function function;
-
-    public Function2DAdapter() {
-    }
-
-    public Function2DAdapter(Function function) {
-        this.function = function;
-    }
-
-    public Function getFunction() {
-        return function;
-    }
-
-    public void setFunction(Function function) {
-        this.function = function;
-    }
-
-    @Override
-    public double getValue(double x) {
-        return function.value(x);
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org