Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FloodHeightProcessor.java @ 9208:53cc5b496692
funcion replaced by interface
author | gernotbelger |
---|---|
date | Tue, 03 Jul 2018 11:16:51 +0200 |
parents | 3dae6b78e1da |
children |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FloodHeightProcessor.java Mon Jul 02 19:12:54 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/FloodHeightProcessor.java Tue Jul 03 11:16:51 2018 +0200 @@ -12,7 +12,6 @@ import java.util.HashSet; import java.util.Set; -import java.util.function.Function; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifactdatabase.state.Facet; @@ -21,6 +20,7 @@ import org.dive4elements.river.artifacts.resources.Resources; import org.dive4elements.river.artifacts.sinfo.flood_duration.DurationWaterlevel; import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodDurationCalculationResult; +import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodDurationCalculationResult.ValueGetter; import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; import org.dive4elements.river.exports.DiagramGenerator; import org.dive4elements.river.exports.LongitudinalSectionGenerator; @@ -77,13 +77,21 @@ return buildSeriesForType(generator, bundle, theme, visible, SInfoResultType.infrastructureHeight, null); if (FACET_MAIN_VALUE_HEIGHT.contentEquals(facetName)) { - final double[][] heightPoints = FloodDurationProcessor.getMainValueDurationPoints(generator, bundle, new Function<DurationWaterlevel, Double>() { - @Override - public Double apply(final DurationWaterlevel waterlevel) { - return waterlevel.getWaterlevel(); - } - }); - return buildSeriesForType(heightPoints, generator, bundle, theme, visible, null); + + final AbstractCalculationResult data = getResult(generator, bundle); + + if (data instanceof FloodDurationCalculationResult) { + final int index = getDataIndex(bundle); + final FloodDurationCalculationResult.ValueGetter valuegetter = new ValueGetter() { + @Override + public double getValue(final DurationWaterlevel waterlevel) { + return waterlevel.getWaterlevel(); + } + }; + final double[][] points = ((FloodDurationCalculationResult) data).getMainValueDurationPoints(generator, bundle, valuegetter, index); + return buildSeriesForType(points, generator, bundle, theme, visible, null); + } + } final String error = String.format("Unknown facet name: %s", facetName);