diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.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 6502b17931b9
children 26119b7b3154
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java	Fri Jun 15 12:23:08 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java	Fri Jun 15 12:42:13 2012 +0000
@@ -30,8 +30,11 @@
     /** House logger. */
     private static Logger logger = Logger.getLogger(FixWQCurveFacet.class);
 
+    private double currentKm;
+
     /** Trivial Constructor. */
     public FixWQCurveFacet() {
+        currentKm = 0;
     }
 
 
@@ -43,6 +46,12 @@
     }
 
 
+    public Object getData(Artifact artifact, CallContext context, double km) {
+        this.currentKm = km;
+        return getData(artifact, context);
+    }
+
+
     /**
      * Returns the data this facet requires.
      *
@@ -65,8 +74,7 @@
 
             FixResult result = (FixResult) res.getData();
 
-            double km = access.getCurrentKm();
-            logger.debug("FixWQCurveFacet.getData: km = " + km);
+            logger.debug("FixWQCurveFacet.getData: km = " + currentKm);
 
             String function = access.getFunction();
             Function ff = FunctionFactory.getInstance().getFunction(function);
@@ -78,7 +86,7 @@
             Parameters params = result.getParameters();
             String[] paramNames = ff.getParameterNames();
 
-            double [] coeffs = params.interpolate("km", km, paramNames);
+            double [] coeffs = params.interpolate("km", currentKm, paramNames);
 
             if (coeffs == null) {
                 return null;
@@ -87,7 +95,7 @@
             de.intevation.flys.artifacts.math.Function mf =
                 ff.instantiate(coeffs);
 
-            double maxQ = getMaxQ(params, km);
+            double maxQ = getMaxQ(params, currentKm);
 
             logger.debug("getData: maxQ = " + maxQ);
 

http://dive4elements.wald.intevation.org