Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculator.java @ 9309:9a9f076d5716
Work on U-Info salix line calculation
author | mschaefer |
---|---|
date | Wed, 25 Jul 2018 19:29:25 +0200 |
parents | 385b52ccde23 |
children | 72b3270e1568 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculator.java Wed Jul 25 19:28:54 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculator.java Wed Jul 25 19:29:25 2018 +0200 @@ -13,6 +13,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.NavigableMap; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.WINFOArtifact; @@ -29,6 +30,7 @@ import org.dive4elements.river.artifacts.sinfo.tkhstate.WinfoArtifactWrapper; import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; import org.dive4elements.river.artifacts.uinfo.commons.UInfoResultType; +import org.dive4elements.river.artifacts.uinfo.salix.SalixLineAccess.ScenarioType; import org.dive4elements.river.model.Gauge; import org.dive4elements.river.model.MainValue; import org.dive4elements.river.model.MainValueType.MainValueTypeKey; @@ -54,6 +56,9 @@ private WstValueTable wst; + private NavigableMap<Double, List<Double>> rangeScenarios; + + public SalixLineCalculator(final CallContext context, final RiverInfoProvider riverInfoProvider) { this.context = context; this.riverInfoProvider = riverInfoProvider; @@ -66,10 +71,12 @@ /** * Calculate the salix line result rows */ - public void execute(final Calculation problems, final UINFOArtifact uinfo, final SalixLineCalculationResults results) { + public void execute(final Calculation problems, final UINFOArtifact uinfo, final NavigableMap<Double, List<Double>> rangeScenarios, + final ScenarioType scenarioType, final SalixLineCalculationResults results) { this.problems = problems; this.wst = WstValueTableFactory.getTable(this.riverInfoProvider.getRiver()); + this.rangeScenarios = rangeScenarios; fetchGaugeMainValuePositions(); @@ -79,7 +86,14 @@ for (final double station : new ComputationRangeAccess(winfo).getKms()) { this.rows.add(createRow(station)); } - results.addResult(new SalixLineCalculationNoScenarioResult("Salix", null, this.rows), problems); + if (scenarioType == ScenarioType.REGIONAL) + results.addResult(new SalixLineCalculationRegionalResult("Salix", null, this.rows), problems); + else if (scenarioType == ScenarioType.SUPRAREGIONAL) + results.addResult(new SalixLineCalculationSupraRegionalResult("Salix", null, this.rows), problems); + else if (scenarioType == ScenarioType.HISTORICAL) + results.addResult(new SalixLineCalculationHistoricalResult("Salix", null, this.rows), problems); + else + results.addResult(new SalixLineCalculationNoScenarioResult("Salix", null, this.rows), problems); } /**