Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveFacet.java @ 9265:e5367900dd6d
Small cleanup concerning getPoints
Adding validStations as dataItem to flood duration calculation
Flood duration now km aware
author | gernotbelger |
---|---|
date | Tue, 17 Jul 2018 19:48:28 +0200 |
parents | ef7b65576d4b |
children | 465347d12990 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveFacet.java Tue Jul 17 19:48:23 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveFacet.java Tue Jul 17 19:48:28 2018 +0200 @@ -8,8 +8,7 @@ package org.dive4elements.river.artifacts.sinfo.flood_duration; -//import java.util.ArrayList; -//import java.util.List; +import static org.dive4elements.river.exports.injector.InjectorConstants.CURRENT_KM; import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.DefaultFacet; @@ -18,7 +17,6 @@ import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.model.CalculationResult; -//import org.dive4elements.river.artifacts.model.WQDay; import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; @@ -57,8 +55,32 @@ 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 getTestData(); + } + + /** + * 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(); } // private WQDay getTestData() { @@ -74,7 +96,6 @@ // return new WQDay(days, ws, qs); // } - // @Override // public List getStaticDataProviderKeys(final Artifact art) { // final List list = new ArrayList();