Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
9293:e3e465766cfe | 9294:7a8b9331a946 |
---|---|
6 * documentation coming with Dive4Elements River for details. | 6 * documentation coming with Dive4Elements River for details. |
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.artifacts.sinfo.flood_duration; | 9 package org.dive4elements.river.artifacts.sinfo.flood_duration; |
10 | 10 |
11 import java.util.List; | |
12 | |
11 import org.dive4elements.river.artifacts.common.AbstractCommonExporter; | 13 import org.dive4elements.river.artifacts.common.AbstractCommonExporter; |
12 import org.dive4elements.river.artifacts.common.ExportContextCSV; | 14 import org.dive4elements.river.artifacts.common.ExportContextCSV; |
13 import org.dive4elements.river.artifacts.common.ExportContextPDF; | 15 import org.dive4elements.river.artifacts.common.ExportContextPDF; |
14 import org.dive4elements.river.artifacts.common.JasperDesigner; | 16 import org.dive4elements.river.artifacts.common.JasperDesigner; |
15 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; | 17 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; |
18 import org.dive4elements.river.artifacts.common.ResultRow; | |
19 import org.dive4elements.river.artifacts.sinfo.common.SInfoI18NStrings; | |
20 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; | |
16 | 21 |
17 /** | 22 /** |
18 * Generates different output formats (csv, pdf) of data that resulted from a flood duration computation. | 23 * Generates different output formats (csv, pdf) of data that resulted from a flood duration computation. |
19 * | 24 * |
20 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 25 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
25 public class FloodDurationExporter extends AbstractCommonExporter<FloodDurationCalculationResult, FloodDurationCalculationResults> { | 30 public class FloodDurationExporter extends AbstractCommonExporter<FloodDurationCalculationResult, FloodDurationCalculationResults> { |
26 | 31 |
27 @Override | 32 @Override |
28 protected void writeCSVGlobalMetadata(final ExportContextCSV exportContext, final FloodDurationCalculationResults results) { | 33 protected void writeCSVGlobalMetadata(final ExportContextCSV exportContext, final FloodDurationCalculationResults results) { |
29 exportContext.writeCSVGlobalMetadataDefaults(); | 34 exportContext.writeCSVGlobalMetadataDefaults(); |
35 | |
36 exportContext.writeBlankLine(); | |
37 | |
38 final List<FloodDurationCalculationResult> resultList = results.getResults(); | |
39 if (resultList.isEmpty()) | |
40 return; | |
41 | |
42 final FloodDurationCalculationResult result = resultList.get(0); | |
43 | |
44 final int waterlevelCount = result.getWaterlevelCount(); | |
45 if (waterlevelCount >= 1) { | |
46 | |
47 // "##METADATEN WASSERSPIEGELLAGE" | |
48 exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL); | |
49 | |
50 for (int i = 0; i < waterlevelCount; i++) { | |
51 // "# Bezeichnung der Wasserspiegellage: " | |
52 final String label = result.getWaterlevelLabel(i); | |
53 exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_NAME, String.format("%d: %s", i + 1, label)); | |
54 } | |
55 | |
56 // "# Bezugspegel: " | |
57 for (final ResultRow row : result.getRows()) { | |
58 exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_GAUGE, row.getValue(SInfoResultType.gaugeLabel)); | |
59 break; | |
60 } | |
61 } | |
30 } | 62 } |
31 | 63 |
32 @Override | 64 @Override |
33 protected void writePDFGlobalMetadata(final ExportContextPDF exportContext, final MetaAndTableJRDataSource source) { | 65 protected void writePDFGlobalMetadata(final ExportContextPDF exportContext, final MetaAndTableJRDataSource source) { |
34 exportContext.addJRMetaDataUSINFO(source); | 66 exportContext.addJRMetaDataUSINFO(source); |
35 } | 67 } |
36 | 68 |
37 @Override | 69 @Override |
38 protected void configureDesign(final FloodDurationCalculationResult result, final JasperDesigner design) { | 70 protected void configureDesign(final FloodDurationCalculationResult result, final JasperDesigner design) { |
39 if (result instanceof FloodDurationCalculationResult) { | 71 final int wlCount = result.getWaterlevelCount(); |
40 final int wlCount = result.getWaterlevelCount(); | 72 if (wlCount == 0 || wlCount == 2) { |
41 if (wlCount == 0 || wlCount == 2) { | 73 design.removeColumn("wOpt"); |
42 design.removeColumn("wOpt"); | 74 design.removeColumn("qOpt"); |
43 design.removeColumn("qOpt"); | 75 design.removeColumn("bezOpt"); |
44 design.removeColumn("bezOpt"); | 76 design.removeColumn("durOpt"); |
45 design.removeColumn("durOpt"); | |
46 } | |
47 } | 77 } |
48 } | 78 } |
49 } | 79 } |