Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculation.java @ 8996:fb9430250899
Work on uinfo
author | gernotbelger |
---|---|
date | Thu, 12 Apr 2018 19:13:39 +0200 |
parents | |
children | 7134a4c7d1b6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculation.java Thu Apr 12 19:13:39 2018 +0200 @@ -0,0 +1,75 @@ +/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde + * Software engineering by + * Björnsen Beratende Ingenieure GmbH + * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt + * + * This file is Free Software under the GNU AGPL (>=v3) + * and comes with ABSOLUTELY NO WARRANTY! Check out the + * documentation coming with Dive4Elements River for details. + */ +package org.dive4elements.river.artifacts.uinfo.vegetationzones; + +import java.util.ArrayList; +import java.util.Collection; + +import org.apache.commons.lang.math.DoubleRange; +import org.dive4elements.artifacts.CallContext; +import org.dive4elements.river.artifacts.access.RiverAccess; +import org.dive4elements.river.artifacts.common.ResultRow; +import org.dive4elements.river.artifacts.model.Calculation; +import org.dive4elements.river.artifacts.model.CalculationResult; +import org.dive4elements.river.artifacts.resources.Resources; +import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; +import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; +import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; +import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; +import org.dive4elements.river.model.River; + +/** + * @author Domenico Nardi Tironi + * + */ +final class VegetationZonesCalculation { + + private CallContext context; + + public VegetationZonesCalculation(CallContext context) { + this.context = context; + } + + public CalculationResult calculate(UINFOArtifact uinfo) { + final Calculation problems = new Calculation(); + + final String calcModeLabel = Resources.getMsg(this.context.getMeta(), uinfo.getCalculationMode().name()); + final String user = CalculationUtils.findArtifactUser(this.context, uinfo); + + final RiverAccess access = new RiverAccess(uinfo); + final River river = access.getRiver(); + DoubleRange calcRange = null; + final RiverInfo riverInfo = new RiverInfo(river); + + final VegetationZonesCalculationResults results = new VegetationZonesCalculationResults(calcModeLabel, user, riverInfo, calcRange); + + final Collection<ResultRow> rows = new ArrayList<ResultRow>(); + + final ResultRow row1 = ResultRow.create(). // + putValue(SInfoResultType.discharge, 100). // + putValue(SInfoResultType.waterlevel, 2). // + putValue(SInfoResultType.gaugeLabel, "Torgau"); + + rows.add(row1); + + ResultRow row2 = ResultRow.create(). // + putValue(SInfoResultType.discharge, 200). // + putValue(SInfoResultType.waterlevel, 3). // + putValue(SInfoResultType.gaugeLabel, "Zollenspieker"); + + rows.add(row2); + + final VegetationZonesCalculationResult result = new VegetationZonesCalculationResult("Ergebnis 1", null, rows); + + results.addResult(result, problems); + + return new CalculationResult(results, problems); + } +} \ No newline at end of file