Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthdev/FlowDepthDevelopmentExporter.java @ 9006:7134a4c7d1b6
U-Info S-Info general work
author | gernotbelger |
---|---|
date | Tue, 17 Apr 2018 13:20:25 +0200 |
parents | d5802f22e4f5 |
children | 23945061daec |
comparison
equal
deleted
inserted
replaced
9005:460fcc128794 | 9006:7134a4c7d1b6 |
---|---|
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.flowdepthdev; | 9 package org.dive4elements.river.artifacts.sinfo.flowdepthdev; |
10 | 10 |
11 import java.io.OutputStream; | |
11 import java.util.ArrayList; | 12 import java.util.ArrayList; |
12 import java.util.Collection; | 13 import java.util.Collection; |
13 | 14 |
14 import org.apache.log4j.Logger; | 15 import org.apache.log4j.Logger; |
15 import org.dive4elements.river.artifacts.common.GeneralResultType; | 16 import org.dive4elements.river.artifacts.common.GeneralResultType; |
17 import org.dive4elements.river.artifacts.common.JasperReporter; | |
18 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; | |
16 import org.dive4elements.river.artifacts.common.ResultRow; | 19 import org.dive4elements.river.artifacts.common.ResultRow; |
17 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter; | 20 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter; |
18 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; | 21 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; |
19 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource; | |
20 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; | 22 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; |
21 | 23 |
22 import au.com.bytecode.opencsv.CSVWriter; | 24 import au.com.bytecode.opencsv.CSVWriter; |
25 import net.sf.jasperreports.engine.JRException; | |
23 | 26 |
24 /** | 27 /** |
25 * Generates different output formats (csv, pdf) of data that resulted from a flow depths computation. | 28 * Generates different output formats (csv, pdf) of data that resulted from a flow depths computation. |
26 * | 29 * |
27 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 30 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
39 private static final String CSV_META_HEADER_WATERLEVEL_HISTORICAL = "sinfo.export.csv.meta.header.waterlevel.historical"; | 42 private static final String CSV_META_HEADER_WATERLEVEL_HISTORICAL = "sinfo.export.csv.meta.header.waterlevel.historical"; |
40 | 43 |
41 /** The log used in this exporter. */ | 44 /** The log used in this exporter. */ |
42 private static Logger log = Logger.getLogger(FlowDepthDevelopmentExporter.class); | 45 private static Logger log = Logger.getLogger(FlowDepthDevelopmentExporter.class); |
43 | 46 |
44 private static final String JASPER_FILE = "/jasper/sinfo.flowdepthdevelopment.jasper"; | 47 private static final String JASPER_FILE = "/jasper/templates/sinfo.flowdepthdevelopment.jrxml"; |
45 | 48 |
46 @Override | 49 @Override |
47 protected Logger getLog() { | 50 protected Logger getLog() { |
48 return log; | 51 return log; |
49 } | 52 } |
57 writeCSVWaterlevelMetadata(writer, result.getCurrentWst(), CSV_META_HEADER_WATERLEVEL_CURRENT); | 60 writeCSVWaterlevelMetadata(writer, result.getCurrentWst(), CSV_META_HEADER_WATERLEVEL_CURRENT); |
58 writer.writeNext(new String[] { "" }); // break line | 61 writer.writeNext(new String[] { "" }); // break line |
59 writeCSVSoundingMetadata(writer, result.getHistoricalSounding(), CSV_META_HEADER_SOUNDING_HISTORICAL); | 62 writeCSVSoundingMetadata(writer, result.getHistoricalSounding(), CSV_META_HEADER_SOUNDING_HISTORICAL); |
60 writer.writeNext(new String[] { "" }); // break line | 63 writer.writeNext(new String[] { "" }); // break line |
61 writeCSVWaterlevelMetadata(writer, result.getHistoricalWst(), CSV_META_HEADER_WATERLEVEL_HISTORICAL); | 64 writeCSVWaterlevelMetadata(writer, result.getHistoricalWst(), CSV_META_HEADER_WATERLEVEL_HISTORICAL); |
65 writer.writeNext(new String[] { "" }); // break line | |
62 } | 66 } |
63 | 67 |
64 @Override | 68 @Override |
65 protected void writeCSVGlobalMetadata(final CSVWriter writer, final FlowDepthDevelopmentCalculationResults results) { | 69 protected void writeCSVGlobalMetadata(final CSVWriter writer, final FlowDepthDevelopmentCalculationResults results) { |
66 super.writeCSVGlobalMetadataDefaults(writer, results); | 70 super.writeCSVGlobalMetadataDefaults(writer, results); |
120 | 124 |
121 return lines.toArray(new String[lines.size()]); | 125 return lines.toArray(new String[lines.size()]); |
122 } | 126 } |
123 | 127 |
124 @Override | 128 @Override |
125 protected final String getJasperFile() { | |
126 return JASPER_FILE; | |
127 } | |
128 | |
129 @Override | |
130 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthDevelopmentCalculationResults results) { | 129 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthDevelopmentCalculationResults results) { |
131 | 130 |
132 /* general metadata */ | 131 /* general metadata */ |
133 super.addJRMetaData(source, results); | 132 super.addJRMetaData(source, results); |
134 | 133 |
154 source.addMetaData("flowdepthhistorical_header2", result.getFlowDepthHistoricalLabel()); | 153 source.addMetaData("flowdepthhistorical_header2", result.getFlowDepthHistoricalLabel()); |
155 | 154 |
156 source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta())); | 155 source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta())); |
157 } | 156 } |
158 | 157 |
158 @Override | |
159 protected void writePDF(final OutputStream out) { | |
160 try { | |
161 final MetaAndTableJRDataSource source = createJRData(this.data); | |
162 | |
163 final JasperReporter reporter = new JasperReporter(); | |
164 reporter.addReport(JASPER_FILE, source); | |
165 reporter.exportPDF(out); | |
166 } | |
167 catch (final JRException je) { | |
168 getLog().warn("Error generating PDF Report!", je); | |
169 } | |
170 } | |
171 | |
159 } | 172 } |