Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java @ 9321:a978b601a034
Salix: Fixed ArrrayoutOfBoundsException; minor cleanup
author | gernotbelger |
---|---|
date | Fri, 27 Jul 2018 10:25:09 +0200 |
parents | 7b2b086e45f0 |
children | 2aec052d4088 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java Fri Jul 27 10:19:38 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java Fri Jul 27 10:25:09 2018 +0200 @@ -14,6 +14,7 @@ import java.util.NavigableMap; import java.util.TreeMap; +import org.apache.commons.lang.math.DoubleRange; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.access.RangeAccess; import org.dive4elements.river.artifacts.model.Calculation; @@ -49,29 +50,18 @@ final River river = accessSalix.getRiver(); final RiverInfo riverInfo = new RiverInfo(river); - // final DoubleRange range = accessSalix.getRange(); - // final boolean useScenario = accessSalix.getUseScenario(); - // final String selectedScenario = accessSalix.getScenario(); - // final Double fromPart = accessSalix.getFromPart(); - // final Double toPart = accessSalix.getToPart(); - // - // final boolean useSCenario = accessSalix.getUseScenario(); - // final String scenario = accessSalix.getScenario(); - // calculation_mode - // ld_from , ld_to - // use_scenario (boolean) - // ld_from_part; ld_to_part - // scenario_selection (mögliche Werte:"scenarioType.option1" "scenarioType.option2" "scenarioType.option3" - final RiverInfoProvider riverInfoProvider = RiverInfoProvider.forRange(this.context, river, accessSalix.getRange()); + final DoubleRange range = accessSalix.getRange(); - // FIXME: real calculation + final ScenarioType scenarioType = accessSalix.getScenario(); - final SalixLineCalculationResults results = new SalixLineCalculationResults(calcModeLabel, user, riverInfo, accessSalix.getRange()); + final RiverInfoProvider riverInfoProvider = RiverInfoProvider.forRange(this.context, river, range); - final SalixLineCalculator calculator = new SalixLineCalculator(this.context, riverInfoProvider); + final SalixLineCalculationResults results = new SalixLineCalculationResults(calcModeLabel, user, riverInfo, range); + + final SalixLineCalculator calculator = new SalixLineCalculator(riverInfoProvider); final NavigableMap<Double, List<Double>> rangeScenarios = buildRangeScenarios(accessSalix); - calculator.execute(problems, uinfo, rangeScenarios, accessSalix.getScenario(), buildScenarioLabels(accessSalix), results); + calculator.execute(problems, uinfo, rangeScenarios, scenarioType, buildScenarioLabels(accessSalix), results); // final Collection<ResultRow> rows = new ArrayList<>(); // SalixLineCalculationNoScenarioResult result = null; // verzweigung etwas ungünstig. möglicherweise auch die @@ -150,17 +140,6 @@ return new CalculationResult(results, problems); } - // private SalixScenario findScenarioByKm(final double km, final Map<DoubleRange, SalixScenario> rangeScenarioMap) { - // final Iterator<DoubleRange> rangeIterator = rangeScenarioMap.keySet().iterator(); - // while (rangeIterator.hasNext()) { - // final DoubleRange range = rangeIterator.next(); - // if (range.containsDouble(km + 0.0001)) { - // return rangeScenarioMap.get(range); - // } - // } - // return null; - // } - /** * Build a map of delta-Ws by km-range for the selected scenario */ @@ -175,6 +154,7 @@ // historisches Szenario aus MSH etc. else fillRangeScenarios(rangeScenarios, access); + return rangeScenarios; }