annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/TkhExporter.java @ 9105:ae3565385e6a

Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
author gernotbelger
date Tue, 29 May 2018 11:36:42 +0200
parents 7134a4c7d1b6
children 23945061daec
rev   line source
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
3 *
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
7 */
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
8
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.artifacts.sinfo.tkhstate;
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
10
9006
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
11 import java.io.OutputStream;
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
12 import java.util.ArrayList;
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
13 import java.util.Collection;
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
14
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
15 import org.apache.log4j.Logger;
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
16 import org.dive4elements.river.artifacts.common.GeneralResultType;
9006
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
17 import org.dive4elements.river.artifacts.common.JasperReporter;
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
18 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
19 import org.dive4elements.river.artifacts.common.ResultRow;
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter;
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
21 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
22 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
23 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
24
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
25 import au.com.bytecode.opencsv.CSVWriter;
9006
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
26 import net.sf.jasperreports.engine.JRException;
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
27
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
28 /**
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
29 * Generates different output formats (csv, pdf) of data that resulted from a tkh computation.
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
30 *
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
31 * @author Gernot Belger
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
32 */
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
33 // REMARK: must be public because its registered in generators.xml
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
34 public class TkhExporter extends AbstractSInfoExporter<TkhCalculationResult, TkhCalculationResults> {
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
35
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
36 /** The log used in this exporter. */
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
37 private static Logger log = Logger.getLogger(TkhExporter.class);
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
38
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
39 private static final String CSV_META_CALCULATION_FORMULA = "sinfo.export.tkh.calculation.formula";
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
40
9006
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
41 private static final String JASPER_FILE = "/jasper/templates/sinfo.tkh.jrxml";
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
42
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
43 @Override
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
44 protected Logger getLog() {
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
45 return log;
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
46 }
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
47
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
48 @Override
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
49 protected void writeCSVGlobalMetadata(final CSVWriter writer, final TkhCalculationResults results) {
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
50 log.info("TkhExporter.writeCSVMeta");
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
51
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8938
diff changeset
52 super.writeCSVGlobalMetadataDefaults(writer, results);
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
53
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
54 // "# Berechnungsgrundlage: Gleichung nach GILL (1971)"
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
55 writeCSVMetaEntry(writer, CSV_META_CALCULATION_FORMULA);
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
56 }
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
57
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
58 /**
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
59 * Write the header, with different headings depending on whether at a gauge or at a location.
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
60 */
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
61
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
62 @Override
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
63 protected void writeCSVHeader(final CSVWriter writer, final TkhCalculationResults results, final RiverInfo river) {
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
64 log.info("TkhExporter.writeCSVHeader");
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
65
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
66 final Collection<String> header = new ArrayList<>(11);
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
67
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
68 header.add(msg(GeneralResultType.station.getCsvHeader()));
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
69 header.add(msgUnit(SInfoResultType.tkh.getCsvHeader(), SInfoResultType.tkh.getUnit()));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
70 header.add(msg(SInfoResultType.soilkind.getCsvHeader()));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
71 header.add(msgUnit(SInfoResultType.meanBedHeight.getCsvHeader(), river.getWstUnit()));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
72 header.add(msgUnit(SInfoResultType.waterlevel.getCsvHeader(), river.getWstUnit()));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
73 header.add(msgUnit(SInfoResultType.discharge.getCsvHeader(), SInfoResultType.discharge.getUnit()));
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
74
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
75 final String descriptionHeader = results.getDescriptionHeader();
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
76 if (descriptionHeader != null)
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
77 header.add(msg(descriptionHeader));
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
78
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
79 header.add(msg(SInfoResultType.gaugeLabel.getCsvHeader()));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
80 header.add(msg(SInfoResultType.location.getCsvHeader()));
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
81
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
82 writer.writeNext(header.toArray(new String[header.size()]));
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
83 }
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
84
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
85 @Override
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
86 protected void writeCSVResultMetadata(final CSVWriter writer, final TkhCalculationResults results, final TkhCalculationResult result) {
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
87
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
88 final WstInfo wst = result.getWst();
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8938
diff changeset
89 super.writeCSVWaterlevelMetadata(writer, wst);
9105
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
90
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
91 // REAMRK:
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8938
diff changeset
92 // "# W/Pegel [cm]: " (nur bei Eingabe des Wasserstands am Pegel)
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8938
diff changeset
93 // "# Q (m³/s): " (nur bei Eingabe des Durchflusses)
9105
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
94 // WaterlevelEXporter does this
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
95 // final WaterlevelDescriptionBuilder descBuilder = new WaterlevelDescriptionBuilder((D4EArtifact) this.master,
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
96 // this.context);
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
97 // final String metadata = descBuilder.getMetadata();
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
98 // BUT:
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
99 // - the WINFO results do not contain this info per wst
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
100 // - the WaterlevelExporter prints this in the global header for all waterlevels, simply based on the input fields
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
101 // - instead we would want tis information per waterlevel
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
102 // - the metadata 'Bezeichnung WST' contains exactly the wanted data
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
103
ae3565385e6a Some finetuning an Tkh calculation, preparation for wsp calculation with bed height stations only
gernotbelger
parents: 9006
diff changeset
104 writer.writeNext(new String[] { "" }); // break line
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
105 }
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
106
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
107 /**
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
108 * Format a row of a flow depth result into an array of string, both used by csv and pdf
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
109 *
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
110 * @param results
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
111 *
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
112 * @param useTkh
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
113 */
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
114 @Override
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
115 protected String[] formatRow(final TkhCalculationResults results, final ResultRow row, final ExportMode mode) {
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
116
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
117 final Collection<String> lines = new ArrayList<>(11);
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
118
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
119 lines.add(row.exportValue(this.context, GeneralResultType.station));
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
120 lines.add(row.exportValue(this.context, SInfoResultType.tkh));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
121 lines.add(row.exportValue(this.context, SInfoResultType.soilkind));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
122 lines.add(row.exportValue(this.context, SInfoResultType.meanBedHeight));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
123 lines.add(row.exportValue(this.context, SInfoResultType.waterlevel));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
124 lines.add(row.exportValue(this.context, SInfoResultType.discharge));
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
125
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
126 // REMARK: always export this column in pdf-mode, because WInfo also does it (no need for two jasper-templates).
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
127 if (results.getDescriptionHeader() != null || mode == ExportMode.pdf)
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
128 lines.add(row.exportValue(this.context, SInfoResultType.waterlevelLabel));
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
129
8948
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
130 lines.add(row.exportValue(this.context, SInfoResultType.gaugeLabel));
a4f1ac81f26d Work on SINFO-FlowDepthMinMax.
gernotbelger
parents: 8946
diff changeset
131 lines.add(row.exportValue(this.context, SInfoResultType.location));
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
132
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
133 return lines.toArray(new String[lines.size()]);
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
134 }
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
135
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
136 @Override
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
137 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final TkhCalculationResults results) {
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
138
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
139 /* general metadata */
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
140 super.addJRMetaData(source, results);
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
141
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
142 source.addMetaData("calculation_label", msg("sinfo.export.flow_depth.pdf.meta.calculation.label"));
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
143 source.addMetaData("calculation_name", msg("sinfo.export.flow_depth.pdf.meta.calculation.name"));
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
144
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
145 /* column headings */
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
146 source.addMetaData("station_header", GeneralResultType.station.getPdfHeader(this.context.getMeta()));
8949
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
147 source.addMetaData("tkh_header", SInfoResultType.tkh.getPdfHeader(this.context.getMeta()));
8984
7c1611b5a59e Work on SINFO Exporters
gernotbelger
parents: 8949
diff changeset
148 source.addMetaData("tkhkind_header", SInfoResultType.soilkind.getPdfHeader(this.context.getMeta()));
8949
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
149 source.addMetaData("bedheight_header", SInfoResultType.meanBedHeight.getPdfHeader(this.context.getMeta()));
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
150 source.addMetaData("waterlevel_header", SInfoResultType.waterlevel.getPdfHeader(this.context.getMeta()));
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
151 source.addMetaData("discharge_header", SInfoResultType.discharge.getPdfHeader(this.context.getMeta()));
8996
fb9430250899 Work on uinfo
gernotbelger
parents: 8984
diff changeset
152
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
153 // REMARK: actually the column makes no sense if description header is null. But (software symmetry...) WINFO also
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
154 // writes an empty column into the pdf in that case (most probably to avoid the need for two jasper templates).
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
155 final String descriptionHeader = results.getDescriptionHeader();
8949
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
156 final String waterlevelNameHeader = descriptionHeader == null ? SInfoResultType.waterlevelLabel.getPdfHeader(this.context.getMeta())
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
157 : descriptionHeader;
8938
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
158 source.addMetaData("waterlevel_name_header", waterlevelNameHeader);
9c02733a1b3c Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
gernotbelger
parents: 8928
diff changeset
159
8949
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
160 source.addMetaData("gauge_header", SInfoResultType.gaugeLabel.getPdfHeader(this.context.getMeta()));
09e4a4909814 Distinguish between csv and pdf column headers
gernotbelger
parents: 8948
diff changeset
161 source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta()));
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
162 }
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
163
9006
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
164 @Override
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
165 protected void writePDF(final OutputStream out) {
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
166 try {
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
167 final MetaAndTableJRDataSource source = createJRData(this.data);
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
168
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
169 final JasperReporter reporter = new JasperReporter();
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
170 reporter.addReport(JASPER_FILE, source);
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
171 reporter.exportPDF(out);
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
172 }
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
173 catch (final JRException je) {
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
174 getLog().warn("Error generating PDF Report!", je);
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
175 }
7134a4c7d1b6 U-Info S-Info general work
gernotbelger
parents: 8996
diff changeset
176 }
8928
791714b92b5c Basically implemented SINFO-Tkh Exports
gernotbelger
parents:
diff changeset
177 }

http://dive4elements.wald.intevation.org