view artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BunduMinfoArtifactWrapper.java @ 9573:b9c87bbff6a4

mean bed height -> mean bed LEVEL
author gernotbelger
date Tue, 06 Nov 2018 10:56:22 +0100
parents 7e1fb8d0cb0d
children
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.Collection;
import java.util.Date;

import org.dive4elements.artifactdatabase.data.DefaultStateData;
import org.dive4elements.artifactdatabase.data.StateData;
import org.dive4elements.river.artifacts.D4EArtifact;

/**
 * Wrapper around an (bundu) artifact to be extended and used for calculations that expect a MinfoArtifact
 * (BedQualityCalculation)
 *
 * @author Matthias Schäfer
 */
public final class BunduMinfoArtifactWrapper extends D4EArtifact {

    private static final long serialVersionUID = 1L;

    public BunduMinfoArtifactWrapper(final D4EArtifact dataSource, final Date startDay, final Date endDay) {

        final Collection<StateData> allData = dataSource.getAllData();
        for (final StateData stateData : allData) {

            final DefaultStateData clonedData = new DefaultStateData();
            clonedData.set(stateData);

            addData(clonedData.getName(), clonedData);
        }

        addStringData("calculation_mode", "calc.bed.quality");
        addStringData("bed_diameter", "d50"); // REMARK we don't need any calculation for d50 but the BedQualityCalculation must have at least one diameter
        addStringData("periods", Long.toString(startDay.getTime()) + "," + Long.toString(endDay.getTime()));
    }
}

http://dive4elements.wald.intevation.org