view artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java @ 9318:7b2b086e45f0

collision pdf details, ResultType refactoring, bezugswst result
author gernotbelger
date Fri, 27 Jul 2018 10:11:23 +0200
parents 6ffcbb4f35d5
children 86d2cbfe7f7f
line wrap: on
line source
/* 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.bundu.bezugswst;

import java.util.ArrayList;
import java.util.List;

import org.dive4elements.artifacts.CallContext;
import org.dive4elements.river.artifacts.bundu.BUNDUArtifact;
import org.dive4elements.river.artifacts.bundu.BunduResultType;
import org.dive4elements.river.artifacts.common.GeneralResultType;
import org.dive4elements.river.artifacts.common.ResultRow;
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.model.River;

class BezugswstCalculation {

    // private static Logger log = Logger.getLogger(FloodDurationCalculation.class);

    private final CallContext context;

    public BezugswstCalculation(final CallContext context) {
        this.context = context;
    }

    public CalculationResult calculate(final BUNDUArtifact bunduartifact) {

        final String user = CalculationUtils.findArtifactUser(this.context, bunduartifact);

        /* access input data */
        final BunduAccess access = new BunduAccess(bunduartifact);

        final River river = access.getRiver();
        final RiverInfo riverInfo = new RiverInfo(river);
        final String calcModeLabel = Resources.getMsg(this.context.getMeta(), "bundu_bezugswst");
        final BezugswstCalculationResults results = new BezugswstCalculationResults(calcModeLabel, user, riverInfo, access.getRange());

        final List<ResultRow> list = new ArrayList<>();
        final ResultRow row = ResultRow.create();
        row.putValue(GeneralResultType.station, 666.666);
        row.putValue(BunduResultType.bezugswst, 22.15);
        row.putValue(GeneralResultType.dischargeQwithUnit, 77.666);
        row.putValue(GeneralResultType.waterlevelLabel, "GLQ");
        row.putValue(GeneralResultType.gaugeLabel, "Bonn");
        row.putValue(GeneralResultType.location, "keine Lage");
        list.add(row);

        final BezugswstCalculationResult result = new BezugswstCalculationResult("label? was fürn label?", list);
        results.addResult(result, null);
        return new CalculationResult(results, null);// problems);
    }

    /**
     * Calculates one W-MSH differences pair.
     *
     * @param infoProvider
     */

}

http://dive4elements.wald.intevation.org