diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java @ 3080:dc2765e31e1f

Added getData method with an additional km parameter. flys-artifacts/trunk@4676 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 15 Jun 2012 12:42:13 +0000
parents d87aadaa4f7e
children 26119b7b3154
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java	Fri Jun 15 12:23:08 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java	Fri Jun 15 12:42:13 2012 +0000
@@ -33,6 +33,8 @@
     /** House logger. */
     private static Logger logger = Logger.getLogger(FixDerivateFacet.class);
 
+    private double currentKm;
+
     /** Trivial Constructor. */
     public FixDerivateFacet() {
     }
@@ -46,6 +48,12 @@
     }
 
 
+    public Object getData(Artifact artifact, CallContext context, double km) {
+        this.currentKm = km;
+        return getData(artifact, context);
+    }
+
+
     /**
      * Returns the data this facet requires.
      *
@@ -68,14 +76,12 @@
 
             FixResult result = (FixResult) res.getData();
 
-            double km = access.getCurrentKm();
-
             String function = access.getFunction();
             Function ff = FunctionFactory.getInstance().getFunction(function);
             Function.Derivative fd = ff.getDerivative();
 
             Parameters params = result.getParameters();
-            int row = params.binarySearch("km", km, Math.pow(10, -4));
+            int row = params.binarySearch("km", currentKm, Math.pow(10, -4));
             if(row < 0) {
                 row = -row - 1;
                 logger.debug("getData: no direct hit in params.binarySearch");
@@ -88,7 +94,7 @@
             de.intevation.flys.artifacts.math.Function mf =
                 fd.instantiate(coeffs);
 
-            double maxQ = getMaxQ(result, km);
+            double maxQ = getMaxQ(result, currentKm);
 
             FixFunction fix = new FixFunction(
                 "",

http://dive4elements.wald.intevation.org