diff artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java @ 7994:3c1a16755e61 facet-metadata

Add meta data to middle bed height CSV export.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 02 Jul 2014 14:42:43 +0200
parents 62befca02480
children 3bdb9f99b4a0
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java	Wed Jul 02 14:42:07 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java	Wed Jul 02 14:42:43 2014 +0200
@@ -63,6 +63,29 @@
     public static final String CSV_LOCATIONS =
         "export.bedheight_middle.csv.header.locations";
 
+    public static final String CSV_META_YEAR =
+        "export.bedheight_middle.csv.header.year";
+
+    public static final String CSV_META_TYPE =
+        "export.bedheight_middle.csv.header.type";
+
+    public static final String CSV_META_CUR_ELEV_MODEL =
+        "export.bedheight_middle.csv.header.cur.elevation";
+
+    public static final String CSV_META_OLD_ELEV_MODEL =
+        "export.bedheight_middle.csv.header.old.elevation";
+
+    public static final String CSV_META_SOUNDING_WIDTH =
+        "export.bedheight_middle.csv.header.sounding.width";
+
+    public static final String CSV_META_RANGE =
+        "export.bedheight_middle.csv.header.range";
+
+    public static final String CSV_META_LOC_SYSTEM =
+        "export.bedheight_middle.csv.header.location.system";
+
+    public static final String CSV_META_EVAL_BY =
+        "export.bedheight_middle.csv.header.evalby";
 
     protected List<MiddleBedHeightData> data;
 
@@ -90,7 +113,6 @@
         logger.info("MiddleBedHeightExporter.writeCSVData");
         logger.debug("CSV gets " + data.size() + " MiddleBedHeightData objects.");
 
-        writeCSVHeader(writer);
 
         Collections.sort(data);
 
@@ -121,6 +143,10 @@
 
         D4EArtifact flys = (D4EArtifact) master;
 
+        writeMetaData(writer, data);
+
+        writeCSVHeader(writer);
+
         NumberFormat kmF     = Formatter.getMiddleBedHeightKM(context);
         NumberFormat heightF = Formatter.getMiddleBedHeightHeight(context);
         NumberFormat uncertF = Formatter.getMiddleBedHeightUncert(context);
@@ -176,6 +202,27 @@
     }
 
 
+    private void writeMetaData(CSVWriter writer, MiddleBedHeightData data) {
+         writer.writeNext(new String[]{"#"});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_YEAR) +
+             ": " + data.getStartYear()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_TYPE) +
+             ": " + data.getType()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_LOC_SYSTEM) +
+             ": " + data.getLocationSystem()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_CUR_ELEV_MODEL) +
+             ": " + data.getCurElevationModel()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_OLD_ELEV_MODEL) +
+             ": " + data.getOldElevationModel()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_SOUNDING_WIDTH) +
+             ": " + data.getSoundingWidth()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_RANGE) +
+             ": " + data.getStations().min() + " - " + data.getStations().max()});
+         writer.writeNext(new String[]{"# " + msg(CSV_META_EVAL_BY) +
+             ": " + data.getEvaluatedBy()});
+         writer.writeNext(new String[]{"#"});
+    }
+
     @Override
     protected void writePDF(OutputStream out) {
         logger.error("TODO: Implement FlowVelocityExporter.writePDF");

http://dive4elements.wald.intevation.org