gernotbelger@8996: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9006: * Software engineering by gernotbelger@9006: * Björnsen Beratende Ingenieure GmbH gernotbelger@8996: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8996: * gernotbelger@8996: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8996: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8996: * documentation coming with Dive4Elements River for details. gernotbelger@8996: */ gernotbelger@8996: package org.dive4elements.river.artifacts.uinfo.vegetationzones; gernotbelger@8996: gernotbelger@8996: import java.util.ArrayList; gernotbelger@8996: import java.util.Collection; gernotbelger@8996: gernotbelger@8996: import org.apache.commons.lang.math.DoubleRange; gernotbelger@8996: import org.dive4elements.artifacts.CallContext; gernotbelger@8996: import org.dive4elements.river.artifacts.access.RiverAccess; gernotbelger@8996: import org.dive4elements.river.artifacts.common.ResultRow; gernotbelger@8996: import org.dive4elements.river.artifacts.model.Calculation; gernotbelger@8996: import org.dive4elements.river.artifacts.model.CalculationResult; gernotbelger@8996: import org.dive4elements.river.artifacts.resources.Resources; gernotbelger@8996: import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; gernotbelger@8996: import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; gernotbelger@8996: import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; gernotbelger@9006: import org.dive4elements.river.artifacts.uinfo.commons.UInfoResultType; gernotbelger@8996: import org.dive4elements.river.model.River; gernotbelger@8996: gernotbelger@8996: /** gernotbelger@8996: * @author Domenico Nardi Tironi gernotbelger@8996: * gernotbelger@8996: */ gernotbelger@8996: final class VegetationZonesCalculation { gernotbelger@8996: gernotbelger@9006: private final CallContext context; gernotbelger@8996: gernotbelger@9006: public VegetationZonesCalculation(final CallContext context) { gernotbelger@8996: this.context = context; gernotbelger@8996: } gernotbelger@8996: gernotbelger@9006: public CalculationResult calculate(final UINFOArtifact uinfo) { gernotbelger@8996: final Calculation problems = new Calculation(); gernotbelger@8996: gernotbelger@8996: final String calcModeLabel = Resources.getMsg(this.context.getMeta(), uinfo.getCalculationMode().name()); gernotbelger@8996: final String user = CalculationUtils.findArtifactUser(this.context, uinfo); gernotbelger@8996: gernotbelger@8996: final RiverAccess access = new RiverAccess(uinfo); gernotbelger@8996: final River river = access.getRiver(); gernotbelger@9006: final DoubleRange calcRange = null; gernotbelger@8996: final RiverInfo riverInfo = new RiverInfo(river); gernotbelger@9006: gernotbelger@8996: final VegetationZonesCalculationResults results = new VegetationZonesCalculationResults(calcModeLabel, user, riverInfo, calcRange); gernotbelger@8996: gernotbelger@9006: final Collection rows = new ArrayList<>(); gernotbelger@9068: // TODO: get results from access! gernotbelger@9006: final ResultRow row2 = ResultRow.create(). // gernotbelger@9006: putValue(UInfoResultType.vegname, "Zonaler Wald"). // gernotbelger@9006: putValue(UInfoResultType.vegdauervon, 0). // gernotbelger@9006: putValue(UInfoResultType.vegdauerbis, 5); gernotbelger@8996: gernotbelger@8996: rows.add(row2); gernotbelger@8996: gernotbelger@8996: final VegetationZonesCalculationResult result = new VegetationZonesCalculationResult("Ergebnis 1", null, rows); gernotbelger@9006: gernotbelger@8996: results.addResult(result, problems); gernotbelger@9006: gernotbelger@8996: return new CalculationResult(results, problems); gernotbelger@8996: } gernotbelger@8996: }