Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BunduMinfoArtifactWrapper.java @ 9450:7e1fb8d0cb0d
Bundu bzws calculation nearly completed, some corrections with csv output, started with linking the minfo density calculation
author | mschaefer |
---|---|
date | Wed, 22 Aug 2018 19:12:51 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BunduMinfoArtifactWrapper.java Wed Aug 22 19:12:51 2018 +0200 @@ -0,0 +1,44 @@ +/** 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())); + } +} \ No newline at end of file