Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationExporter.java @ 9294:7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
author | gernotbelger |
---|---|
date | Tue, 24 Jul 2018 16:55:43 +0200 |
parents | 3dae6b78e1da |
children | 7b2b086e45f0 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationExporter.java Tue Jul 24 16:02:40 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationExporter.java Tue Jul 24 16:55:43 2018 +0200 @@ -8,11 +8,16 @@ package org.dive4elements.river.artifacts.sinfo.flood_duration; +import java.util.List; + import org.dive4elements.river.artifacts.common.AbstractCommonExporter; import org.dive4elements.river.artifacts.common.ExportContextCSV; import org.dive4elements.river.artifacts.common.ExportContextPDF; import org.dive4elements.river.artifacts.common.JasperDesigner; import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; +import org.dive4elements.river.artifacts.common.ResultRow; +import org.dive4elements.river.artifacts.sinfo.common.SInfoI18NStrings; +import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; /** * Generates different output formats (csv, pdf) of data that resulted from a flood duration computation. @@ -27,6 +32,33 @@ @Override protected void writeCSVGlobalMetadata(final ExportContextCSV exportContext, final FloodDurationCalculationResults results) { exportContext.writeCSVGlobalMetadataDefaults(); + + exportContext.writeBlankLine(); + + final List<FloodDurationCalculationResult> resultList = results.getResults(); + if (resultList.isEmpty()) + return; + + final FloodDurationCalculationResult result = resultList.get(0); + + final int waterlevelCount = result.getWaterlevelCount(); + if (waterlevelCount >= 1) { + + // "##METADATEN WASSERSPIEGELLAGE" + exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL); + + for (int i = 0; i < waterlevelCount; i++) { + // "# Bezeichnung der Wasserspiegellage: " + final String label = result.getWaterlevelLabel(i); + exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_NAME, String.format("%d: %s", i + 1, label)); + } + + // "# Bezugspegel: " + for (final ResultRow row : result.getRows()) { + exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_GAUGE, row.getValue(SInfoResultType.gaugeLabel)); + break; + } + } } @Override @@ -36,14 +68,12 @@ @Override protected void configureDesign(final FloodDurationCalculationResult result, final JasperDesigner design) { - if (result instanceof FloodDurationCalculationResult) { - final int wlCount = result.getWaterlevelCount(); - if (wlCount == 0 || wlCount == 2) { - design.removeColumn("wOpt"); - design.removeColumn("qOpt"); - design.removeColumn("bezOpt"); - design.removeColumn("durOpt"); - } + final int wlCount = result.getWaterlevelCount(); + if (wlCount == 0 || wlCount == 2) { + design.removeColumn("wOpt"); + design.removeColumn("qOpt"); + design.removeColumn("bezOpt"); + design.removeColumn("durOpt"); } } } \ No newline at end of file