# HG changeset patch # User Raimund Renkert # Date 1339764133 0 # Node ID dc2765e31e1fcb35658704fd0f01f31b4e2b15ff # Parent 8ad8a227d9839b777712c9f71078e596bb5423f7 Added getData method with an additional km parameter. flys-artifacts/trunk@4676 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Fri Jun 15 12:23:08 2012 +0000 +++ b/flys-artifacts/ChangeLog Fri Jun 15 12:42:13 2012 +0000 @@ -1,3 +1,15 @@ +2012-06-15 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java: + The getData() method now takes a km parameter to get the data at a specific + km. + 2012-06-15 Ingo Weinzierl * src/main/java/de/intevation/flys/artifacts/model/sq/SQ.java: New model to diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java Fri Jun 15 12:23:08 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java Fri Jun 15 12:42:13 2012 +0000 @@ -29,6 +29,8 @@ /** House logger. */ private static Logger logger = Logger.getLogger(FixAnalysisEventsFacet.class); + private double currentKm; + /** Trivial Constructor. */ public FixAnalysisEventsFacet() { } @@ -47,6 +49,12 @@ } + public Object getData(Artifact artifact, CallContext context, double km) { + this.currentKm = km; + return getData(artifact, context); + } + + /** * Returns the data this facet requires. * @@ -70,11 +78,9 @@ FixResult result = (FixResult) res.getData(); - double km = access.getCurrentKm(); - KMIndex kmPeriods = result.getAnalysisPeriods(); KMIndex.Entry kmPeriodsEntry = - kmPeriods.binarySearch(km); + kmPeriods.binarySearch(currentKm); if(kmPeriodsEntry == null) { return null; diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java Fri Jun 15 12:23:08 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java Fri Jun 15 12:42:13 2012 +0000 @@ -29,6 +29,8 @@ /** House logger. */ private static Logger logger = Logger.getLogger(FixAnalysisPeriodsFacet.class); + private double currentKm; + /** Trivial Constructor. */ public FixAnalysisPeriodsFacet() { } @@ -47,6 +49,12 @@ } + public Object getData(Artifact artifact, CallContext context, double km) { + this.currentKm = km; + return getData(artifact, context); + } + + /** * Returns the data this facet requires. * @@ -70,11 +78,9 @@ FixResult result = (FixResult) res.getData(); - double km = access.getCurrentKm(); - KMIndex kmPeriods = result.getAnalysisPeriods(); KMIndex.Entry kmPeriodsEntry = - kmPeriods.binarySearch(km); + kmPeriods.binarySearch(currentKm); if (kmPeriodsEntry == null) { return null; diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java Fri Jun 15 12:23:08 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java Fri Jun 15 12:42:13 2012 +0000 @@ -29,6 +29,8 @@ /** House logger. */ private static Logger logger = Logger.getLogger(FixAvSectorFacet.class); + private double currentKm; + /** Trivial Constructor. */ public FixAvSectorFacet() { } @@ -45,6 +47,12 @@ } + public Object getData(Artifact artifact, CallContext context, double km) { + this.currentKm = km; + return getData(artifact, context); + } + + /** * Returns the data this facet requires. * @@ -68,16 +76,12 @@ FixResult result = (FixResult) res.getData(); - double km = access.getCurrentKm(); - - logger.debug("Current KM = " + km); - KMIndex kmPeriods = result.getAnalysisPeriods(); KMIndex.Entry kmPeriodsEntry = - kmPeriods.binarySearch(km); + kmPeriods.binarySearch(currentKm); if (kmPeriodsEntry == null) { - logger.warn("No analysis periods found for km '" + km + "'"); + logger.warn("No analysis periods found for km '" + currentKm + "'"); return null; } diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java --- 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( "", diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java Fri Jun 15 12:23:08 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java Fri Jun 15 12:42:13 2012 +0000 @@ -29,6 +29,8 @@ /** House logger. */ private static Logger logger = Logger.getLogger(FixOutlierFacet.class); + private double currentKm; + /** Trivial Constructor. */ public FixOutlierFacet() { } @@ -42,6 +44,12 @@ } + public Object getData(Artifact artifact, CallContext context, double km) { + this.currentKm = km; + return getData(artifact, context); + } + + /** * Returns the data this facet requires. * @@ -65,10 +73,9 @@ FixResult result = (FixResult) res.getData(); - double km = access.getCurrentKm(); KMIndex kmQWs = result.getOutliers(); - KMIndex.Entry qwsEntry = kmQWs.binarySearch(km); + KMIndex.Entry qwsEntry = kmQWs.binarySearch(currentKm); QW[] qws = null; if(qwsEntry != null) { qws = qwsEntry.getValue(); diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java Fri Jun 15 12:23:08 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java Fri Jun 15 12:42:13 2012 +0000 @@ -29,6 +29,8 @@ /** House logger. */ private static Logger logger = Logger.getLogger(FixReferenceEventsFacet.class); + private double currentKm; + /** Trivial Constructor. */ public FixReferenceEventsFacet() { } @@ -47,6 +49,12 @@ } + public Object getData(Artifact artifact, CallContext context, double km) { + this.currentKm = km; + return getData(artifact, context); + } + + /** * Returns the data this facet requires. * @@ -70,9 +78,8 @@ FixResult result = (FixResult) res.getData(); - double km = access.getCurrentKm(); KMIndex kmQWs = result.getReferenced(); - KMIndex.Entry kmQWsEntry = kmQWs.binarySearch(km); + KMIndex.Entry kmQWsEntry = kmQWs.binarySearch(currentKm); QW[] qws = null; if (kmQWsEntry != null) { qws = kmQWsEntry.getValue(); diff -r 8ad8a227d983 -r dc2765e31e1f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java --- 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);