Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java @ 8996:fb9430250899
Work on uinfo
author | gernotbelger |
---|---|
date | Thu, 12 Apr 2018 19:13:39 +0200 |
parents | |
children | a5cf8d7bff3c |
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/salix/SalixLineCalculation.java Thu Apr 12 19:13:39 2018 +0200 @@ -0,0 +1,74 @@ +/** 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.salix; + +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.GeneralResultType; +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.util.CalculationUtils; +import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; +import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; +import org.dive4elements.river.artifacts.uinfo.commons.UInfoResultType; +import org.dive4elements.river.model.River; + +/** + * @author Domenico Nardi Tironi + * + */ +final class SalixLineCalculation { + + private final CallContext context; + + public SalixLineCalculation(final CallContext context) { + this.context = context; + } + + public CalculationResult calculate(final 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(); + final DoubleRange calcRange = null; + final RiverInfo riverInfo = new RiverInfo(river); + + final SalixLineCalculationResults results = new SalixLineCalculationResults(calcModeLabel, user, riverInfo, calcRange); + + final Collection<ResultRow> rows = new ArrayList<>(); + + final ResultRow row1 = ResultRow.create(). // + putValue(GeneralResultType.station, 100).putValue(UInfoResultType.salixline, 28).putValue(UInfoResultType.salixlinehist, 2) + .putValue(UInfoResultType.salixlinescen, 82); + rows.add(row1); + + final ResultRow row2 = ResultRow.create(). // + putValue(GeneralResultType.station, 200). // + putValue(UInfoResultType.salixline, 3). // + putValue(UInfoResultType.salixlinehist, 2).putValue(UInfoResultType.salixlinescen, 822); + + rows.add(row2); + + final SalixLineCalculationResult result = new SalixLineCalculationResult("Ergebnis 1", null, rows); + + results.addResult(result, problems); + + return new CalculationResult(results, problems); + } +} \ No newline at end of file