Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveFacet.java @ 9268:ae9dee74e43e
Fixed: current station of duration chart was not changed
author | gernotbelger |
---|---|
date | Wed, 18 Jul 2018 18:53:15 +0200 |
parents | 465347d12990 |
children | 83ebeb620b5a |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveFacet.java Wed Jul 18 15:34:53 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveFacet.java Wed Jul 18 18:53:15 2018 +0200 @@ -8,17 +8,14 @@ package org.dive4elements.river.artifacts.sinfo.flood_duration; -import static org.dive4elements.river.exports.injector.InjectorConstants.CURRENT_KM; - import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.DefaultFacet; import org.dive4elements.artifactdatabase.state.Facet; import org.dive4elements.artifacts.Artifact; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.D4EArtifact; -import org.dive4elements.river.artifacts.model.CalculationResult; import org.dive4elements.river.artifacts.sinfo.SINFOArtifact; -import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; +import org.dive4elements.river.exports.fixings.FixChartGenerator; /** @@ -26,6 +23,8 @@ */ public class FloodDurationCurveFacet extends DefaultFacet { + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(FloodDurationCurveFacet.class); // /** Blackboard data provider key for durationcurve (wqday) data. */ @@ -52,37 +51,12 @@ final D4EArtifact flys = (D4EArtifact) artifact; - final CalculationResult res = (CalculationResult) flys.compute(context, ComputeType.ADVANCE, false); - - final FloodDurationCalculationResults data = (FloodDurationCalculationResults) res.getData(); - - final double currentKm = getCurrentKm(context); - // TODO: entweder in data.getDurationCurve() reingeben, oder bei FloodDurationCalculationResults auswerten... - // TODO: was ist aus perfromanz/speicher-sicht besser? - - // return data.getDurationCurve(); - return new FloodDurationCalculation(context).calcStationCurve(currentKm, (SINFOArtifact) flys); - } + // TODO: wird das hier noch benötigt? + // final CalculationResult res = (CalculationResult) flys.compute(context, ComputeType.ADVANCE, false); + // final FloodDurationCalculationResults data = (FloodDurationCalculationResults) res.getData(); - /** - * Returns the current km from the context. - * If the context is null or doesn't contain a currentKm - * then a double value of -1 will be returned. - * - * @param context - * The CallContext instance - * @return the current km as double - */ - // FIXME: copied from org.dive4elements.river.artifacts.model.fixings.FixingsFacet - private double getCurrentKm(final CallContext context) { - if (context == null) - return Double.NaN; - - final Double dkm = (Double) context.getContextValue(CURRENT_KM); - if (dkm == null) - return Double.NaN; - - return dkm.doubleValue(); + final double currentKm = FixChartGenerator.getCurrentKm(context); + return new FloodDurationCalculation(context).calcStationCurve(currentKm, (SINFOArtifact) flys); } // private WQDay getTestData() {