Mercurial > dive4elements > river
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( "",