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);
     }
 
     /**

http://dive4elements.wald.intevation.org