Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationExporter.java @ 9492:10530f1d7dd5
Meilenstein-2-Rücklauf Punkt 2.2.4 Angabe des Bezugspegels
author | gernotbelger |
---|---|
date | Thu, 20 Sep 2018 14:00:30 +0200 |
parents | a49fe0ebb297 |
children |
rev | line source |
---|---|
9145 | 1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU AGPL (>=v3) | |
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
6 * documentation coming with Dive4Elements River for details. | |
7 */ | |
8 | |
9 package org.dive4elements.river.artifacts.sinfo.flood_duration; | |
10 | |
9294
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
11 import java.util.List; |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
12 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
9145
diff
changeset
|
13 import org.dive4elements.river.artifacts.common.AbstractCommonExporter; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
9145
diff
changeset
|
14 import org.dive4elements.river.artifacts.common.ExportContextCSV; |
9195 | 15 import org.dive4elements.river.artifacts.common.ExportContextPDF; |
9318
7b2b086e45f0
collision pdf details, ResultType refactoring, bezugswst result
gernotbelger
parents:
9294
diff
changeset
|
16 import org.dive4elements.river.artifacts.common.GeneralResultType; |
9145 | 17 import org.dive4elements.river.artifacts.common.JasperDesigner; |
18 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; | |
9294
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
19 import org.dive4elements.river.artifacts.common.ResultRow; |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
20 import org.dive4elements.river.artifacts.sinfo.common.SInfoI18NStrings; |
9145 | 21 |
22 /** | |
9202
b4402594213b
More work on calculations and output for S-Info flood duration workflow (chart types 1 and 2)
mschaefer
parents:
9195
diff
changeset
|
23 * Generates different output formats (csv, pdf) of data that resulted from a flood duration computation. |
9145 | 24 * |
25 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
26 * @author Gernot Belger | |
27 */ | |
28 // REMARK: must be public because its registered in generators.xml | |
9195 | 29 |
30 public class FloodDurationExporter extends AbstractCommonExporter<FloodDurationCalculationResult, FloodDurationCalculationResults> { | |
9145 | 31 |
32 @Override | |
9195 | 33 protected void writeCSVGlobalMetadata(final ExportContextCSV exportContext, final FloodDurationCalculationResults results) { |
34 exportContext.writeCSVGlobalMetadataDefaults(); | |
9294
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
35 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
36 exportContext.writeBlankLine(); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
37 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
38 final List<FloodDurationCalculationResult> resultList = results.getResults(); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
39 if (resultList.isEmpty()) |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
40 return; |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
41 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
42 final FloodDurationCalculationResult result = resultList.get(0); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
43 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
44 final int waterlevelCount = result.getWaterlevelCount(); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
45 if (waterlevelCount >= 1) { |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
46 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
47 // "##METADATEN WASSERSPIEGELLAGE" |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
48 exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
49 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
50 for (int i = 0; i < waterlevelCount; i++) { |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
51 // "# Bezeichnung der Wasserspiegellage: " |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
52 final String label = result.getWaterlevelLabel(i); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
53 exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_NAME, String.format("%d: %s", i + 1, label)); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
54 } |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
55 |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
56 // "# Bezugspegel: " |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
57 for (final ResultRow row : result.getRows()) { |
9318
7b2b086e45f0
collision pdf details, ResultType refactoring, bezugswst result
gernotbelger
parents:
9294
diff
changeset
|
58 exportContext.writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_GAUGE, row.getValue(GeneralResultType.gaugeLabel)); |
9294
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
59 break; |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
60 } |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
61 } |
9145 | 62 } |
63 | |
9176
1614cb14308f
Work on calculations for S-Info flood duration workflow
mschaefer
parents:
9150
diff
changeset
|
64 @Override |
9195 | 65 protected void writePDFGlobalMetadata(final ExportContextPDF exportContext, final MetaAndTableJRDataSource source) { |
9322 | 66 exportContext.addJRMetaDataForModules(source); |
9195 | 67 } |
9176
1614cb14308f
Work on calculations for S-Info flood duration workflow
mschaefer
parents:
9150
diff
changeset
|
68 |
9195 | 69 @Override |
70 protected void configureDesign(final FloodDurationCalculationResult result, final JasperDesigner design) { | |
9294
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
71 final int wlCount = result.getWaterlevelCount(); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
72 if (wlCount == 0 || wlCount == 2) { |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
73 design.removeColumn("wOpt"); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
74 design.removeColumn("qOpt"); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
75 design.removeColumn("bezOpt"); |
7a8b9331a946
Moved waterlevel metadata block to global metadata, because its only written once
gernotbelger
parents:
9205
diff
changeset
|
76 design.removeColumn("durOpt"); |
9176
1614cb14308f
Work on calculations for S-Info flood duration workflow
mschaefer
parents:
9150
diff
changeset
|
77 } |
9492
10530f1d7dd5
Meilenstein-2-Rücklauf Punkt 2.2.4 Angabe des Bezugspegels
gernotbelger
parents:
9322
diff
changeset
|
78 |
10530f1d7dd5
Meilenstein-2-Rücklauf Punkt 2.2.4 Angabe des Bezugspegels
gernotbelger
parents:
9322
diff
changeset
|
79 if (!result.isUseWspl()) |
10530f1d7dd5
Meilenstein-2-Rücklauf Punkt 2.2.4 Angabe des Bezugspegels
gernotbelger
parents:
9322
diff
changeset
|
80 design.removeColumn("gauge_header"); |
9176
1614cb14308f
Work on calculations for S-Info flood duration workflow
mschaefer
parents:
9150
diff
changeset
|
81 } |
9145 | 82 } |