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

http://dive4elements.wald.intevation.org