diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java @ 8894:a66f2a7c4f84

SINFO FlowDepth - slight code cleanup
author gernotbelger
date Thu, 15 Feb 2018 18:40:40 +0100
parents 7a8c12706834
children 791714b92b5c
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java	Thu Feb 15 13:47:19 2018 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java	Thu Feb 15 18:40:40 2018 +0100
@@ -10,6 +10,7 @@
 
 import java.io.OutputStream;
 import java.text.DateFormat;
+import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -18,16 +19,18 @@
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.math.DoubleRange;
 import org.apache.log4j.Logger;
 import org.dive4elements.artifacts.CallMeta;
 import org.dive4elements.artifacts.common.utils.Config;
 import org.dive4elements.river.FLYS;
 import org.dive4elements.river.artifacts.model.CalculationResult;
 import org.dive4elements.river.artifacts.resources.Resources;
+import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo;
 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource;
+import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
+import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
 import org.dive4elements.river.exports.AbstractExporter;
-import org.dive4elements.river.model.River;
-import org.dive4elements.river.model.Unit;
 import org.dive4elements.river.utils.RiverUtils;
 
 import au.com.bytecode.opencsv.CSVWriter;
@@ -151,7 +154,7 @@
         final FlowDepthCalculationResults results = this.data;
 
         final boolean useTkh = results.isUseTkh();
-        final River river = results.getRiver();
+        final RiverInfo river = results.getRiver();
 
         /* write as csv */
         writeCSVMeta(writer, results);
@@ -204,7 +207,7 @@
         log.info("FlowDepthExporter.writeCSVMeta");
 
         final String calcModeLabel = results.getCalcModeLabel();
-        final River river = results.getRiver();
+        final RiverInfo river = results.getRiver();
         writeCSVMetaEntry(writer, CSV_META_HEADER_RESULT, msg(CSV_META_HEADER_RESULT_LABEL), river.getName(), calcModeLabel);
 
         // "# FLYS-Version: "
@@ -222,12 +225,12 @@
         writeCSVMetaEntry(writer, CSV_META_RIVER, msg(CSV_META_RIVER_LABEL), river.getName());
 
         // "# Höhensystem des Flusses: "
-        final Unit wstUnit = river.getWstUnit();
-        writeCSVMetaEntry(writer, CSV_META_HEIGHT_UNIT_RIVER, wstUnit.getName());
+        writeCSVMetaEntry(writer, CSV_META_HEIGHT_UNIT_RIVER, river.getWstUnit());
 
         // "# Ort/Bereich (km): "
-        writeCSVMetaEntry(writer, CSV_META_RANGE, msg(CSV_META_RANGE_LABEL), getKmFormatter().format(results.getFrom()),
-                getKmFormatter().format(results.getTo()));
+        final DoubleRange calcRange = results.getCalcRange();
+        writeCSVMetaEntry(writer, CSV_META_RANGE, msg(CSV_META_RANGE_LABEL), getKmFormatter().format(calcRange.getMinimumDouble()),
+                getKmFormatter().format(calcRange.getMaximumDouble()));
 
         writer.writeNext(new String[] { "" });
     }
@@ -246,7 +249,7 @@
      * @param river
      * @param useTkh
      */
-    private void writeCSVHeader(final CSVWriter writer, final River river, final boolean useTkh) {
+    private void writeCSVHeader(final CSVWriter writer, final RiverInfo river, final boolean useTkh) {
         log.info("FlowDepthExporter.writeCSVHeader");
 
         final Collection<String> header = new ArrayList<>(11);
@@ -258,12 +261,11 @@
             header.add(msgUnit(CSV_TKH_HEADER, UNIT_CM));
         }
 
-        final String wstUnitName = river.getWstUnit().getName();
-        header.add(msgUnit(CSV_WATERLEVEL_HEADER, wstUnitName));
+        header.add(msgUnit(CSV_WATERLEVEL_HEADER, river.getWstUnit()));
         header.add(msgUnit(CSV_DISCHARGE_HEADER, UNIT_CUBIC_M));
         header.add(msg(CSV_LABEL_HEADER));
         header.add(msg(CSV_GAUGE_HEADER));
-        header.add(msgUnit(CSV_MEAN_BED_HEIGHT_HEADER, wstUnitName));
+        header.add(msgUnit(CSV_MEAN_BED_HEIGHT_HEADER, river.getWstUnit()));
         header.add(msg(CSV_SOUNDING_HEADER));
         header.add(msg(CSV_LOCATION_HEADER));
 
@@ -376,8 +378,8 @@
 
     private void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthCalculationResults results) {
 
-        final River river = results.getRiver();
-        final String wstUnitName = river.getWstUnit().getName();
+        final RiverInfo river = results.getRiver();
+        final String wstUnitName = river.getWstUnit();
 
         /* general metadata */
         source.addMetaData("header", msg(CSV_META_HEADER_RESULT_LABEL));
@@ -397,7 +399,9 @@
         source.addMetaData("river_label", msg(CSV_META_RIVER_LABEL));
         source.addMetaData("river", river.getName());
 
-        final String rangeValue = String.format("%s - %s", getKmFormatter().format(results.getFrom()), getKmFormatter().format(results.getTo()));
+        final DoubleRange calcRange = results.getCalcRange();
+        final NumberFormat kmFormatter = getKmFormatter();
+        final String rangeValue = String.format("%s - %s", kmFormatter.format(calcRange.getMinimumDouble()), kmFormatter.format(calcRange.getMaximumDouble()));
         source.addMetaData("range_label", msg(CSV_META_RANGE_LABEL));
         source.addMetaData("range", rangeValue);
 

http://dive4elements.wald.intevation.org