annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationExporter.java @ 9205:3dae6b78e1da

inundationDuration/floodDuration multiple columns+chartLines refactoring
author gernotbelger
date Mon, 02 Jul 2018 19:01:09 +0200
parents b4402594213b
children 7a8b9331a946
rev   line source
9145
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
3 *
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
7 */
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
8
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.artifacts.sinfo.flood_duration;
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
10
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 9145
diff changeset
11 import org.dive4elements.river.artifacts.common.AbstractCommonExporter;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 9145
diff changeset
12 import org.dive4elements.river.artifacts.common.ExportContextCSV;
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
13 import org.dive4elements.river.artifacts.common.ExportContextPDF;
9145
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.artifacts.common.JasperDesigner;
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
15 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
16
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
17 /**
9202
b4402594213b More work on calculations and output for S-Info flood duration workflow (chart types 1 and 2)
mschaefer
parents: 9195
diff changeset
18 * Generates different output formats (csv, pdf) of data that resulted from a flood duration computation.
9145
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
19 *
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
20 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
21 * @author Gernot Belger
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
22 */
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
23 // REMARK: must be public because its registered in generators.xml
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
24
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
25 public class FloodDurationExporter extends AbstractCommonExporter<FloodDurationCalculationResult, FloodDurationCalculationResults> {
9145
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
26
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
27 @Override
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
28 protected void writeCSVGlobalMetadata(final ExportContextCSV exportContext, final FloodDurationCalculationResults results) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
29 exportContext.writeCSVGlobalMetadataDefaults();
9145
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
30 }
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
31
9176
1614cb14308f Work on calculations for S-Info flood duration workflow
mschaefer
parents: 9150
diff changeset
32 @Override
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
33 protected void writePDFGlobalMetadata(final ExportContextPDF exportContext, final MetaAndTableJRDataSource source) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
34 exportContext.addJRMetaDataUSINFO(source);
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
35 }
9176
1614cb14308f Work on calculations for S-Info flood duration workflow
mschaefer
parents: 9150
diff changeset
36
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
37 @Override
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9176
diff changeset
38 protected void configureDesign(final FloodDurationCalculationResult result, final JasperDesigner design) {
9205
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
39 if (result instanceof FloodDurationCalculationResult) {
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
40 final int wlCount = result.getWaterlevelCount();
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
41 if (wlCount == 0 || wlCount == 2) {
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
42 design.removeColumn("wOpt");
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
43 design.removeColumn("qOpt");
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
44 design.removeColumn("bezOpt");
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
45 design.removeColumn("durOpt");
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9202
diff changeset
46 }
9176
1614cb14308f Work on calculations for S-Info flood duration workflow
mschaefer
parents: 9150
diff changeset
47 }
1614cb14308f Work on calculations for S-Info flood duration workflow
mschaefer
parents: 9150
diff changeset
48 }
9145
e6b63b2b41b9 sinfo.flood_duration pdf, csv, ui
gernotbelger
parents:
diff changeset
49 }

http://dive4elements.wald.intevation.org