diff artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstMissVolCalculationResult2.java @ 9444:ecadc9ed0ba0

Added heights and depths of cross section fields in the bundu bzws calculation and longitudinal section charts
author mschaefer
date Tue, 21 Aug 2018 13:41:18 +0200
parents d194c5b24bf8
children e60584f2a531
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstMissVolCalculationResult2.java	Mon Aug 20 18:50:33 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstMissVolCalculationResult2.java	Tue Aug 21 13:41:18 2018 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
+/** 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
@@ -33,7 +33,8 @@
     private static final long serialVersionUID = 1L;
 
     private static final String JASPER_FILE = "/jasper/templates/bundu.bezugswst.result2.jrxml";
-    private static final String fieldMsgStr = "bundu.export.bezugswst.csv.meta.miss.field";
+    private static final String fieldVolumeMsgKey = "bundu.export.bezugswst.csv.meta.miss.volume.field";
+    private static final String fieldMassMsgKey = "bundu.export.bezugswst.csv.meta.miss.mass.field";
     private static final int fieldSize = 10;
 
     public BezugswstMissVolCalculationResult2(final String label, final Collection<ResultRow> rows) {
@@ -56,10 +57,12 @@
         final Collection<String> lines = new ArrayList<>(20);
 
         lines.add(exportContext.formatRowValue(row, GeneralResultType.station));
-        final List<String> fields = (List<String>) row.getValue(BunduResultType.missVolumeFields);
-        assert (fields.size() == fieldSize); // immer abgleichen mit der Calculation!
-        for (final String field : fields) {
-            lines.add(field);
+        final List<String> vFields = (List<String>) row.getValue(BunduResultType.missVolumeFields);
+        assert (vFields.size() == fieldSize); // immer abgleichen mit der Calculation!
+        final List<String> mFields = (List<String>) row.getValue(BunduResultType.missMassFields);
+        for (int i = 0; i <= vFields.size() - 1; i++) {
+            lines.add(vFields.get(i));
+            lines.add(mFields.get(i));
         }
         lines.add(exportContext.formatRowValue(row, BunduResultType.missVolumeMeanBed));
         lines.add(exportContext.formatRowValue(row, BunduResultType.missMassMeanBed));
@@ -70,14 +73,15 @@
     @Override
     public void writeCSVHeader(final ExportContextCSV exportContextCSV, final RiverInfo river) {
 
-        final int colSize = fieldSize + 2;
+        final int colSize = 2 * fieldSize + 2;
         exportContextCSV.writeTitleForTabs("bundu.export.csv.title.bezugswst.result2", colSize); // Voraussetzung für Tabs ist, dass der Titel vor den Headern
         final Collection<String> header = new ArrayList<>(colSize);
 
         header.add(exportContextCSV.formatCsvHeader(GeneralResultType.station));
 
         for (int i = 1; i <= fieldSize; i++) {
-            header.add(exportContextCSV.msg(fieldMsgStr, i));
+            header.add(exportContextCSV.msg(fieldVolumeMsgKey, i));
+            header.add(exportContextCSV.msg(fieldMassMsgKey, i));
         }
         header.add(exportContextCSV.formatCsvHeader(BunduResultType.missVolumeMeanBed));
         header.add(exportContextCSV.formatCsvHeader(BunduResultType.missMassMeanBed));
@@ -104,7 +108,8 @@
 
         exportContextPDF.addJRMetadata(source, "station_header", GeneralResultType.station);
         for (int i = 1; i <= fieldSize; i++) {
-            exportContextPDF.addJRMetadata(source, "field_header" + String.valueOf(i), exportContextPDF.msg(fieldMsgStr, i));
+            exportContextPDF.addJRMetadata(source, "field_header" + String.valueOf(i), exportContextPDF.msg(fieldVolumeMsgKey, i));
+            exportContextPDF.addJRMetadata(source, "field_header" + String.valueOf(i), exportContextPDF.msg(fieldMassMsgKey, i));
         }
         exportContextPDF.addJRMetadata(source, "mean_bedheight_header", BunduResultType.missVolumeMeanBed);
         exportContextPDF.addJRMetadata(source, "mean_bedheight_header", BunduResultType.missMassMeanBed);

http://dive4elements.wald.intevation.org