comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.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.flowdepth; 9 package org.dive4elements.river.artifacts.sinfo.flowdepth;
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.JasperDesigner;
18 import org.dive4elements.river.artifacts.common.JasperReporter;
19 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
16 import org.dive4elements.river.artifacts.common.ResultRow; 20 import org.dive4elements.river.artifacts.common.ResultRow;
17 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter; 21 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter;
18 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; 22 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
19 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo; 23 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo;
20 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource;
21 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; 24 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
22 import org.dive4elements.river.artifacts.sinfo.util.WstInfo; 25 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
23 26
24 import au.com.bytecode.opencsv.CSVWriter; 27 import au.com.bytecode.opencsv.CSVWriter;
28 import net.sf.jasperreports.engine.JRException;
25 29
26 /** 30 /**
27 * Generates different output formats (csv, pdf) of data that resulted from a flow depths min/max computation. 31 * Generates different output formats (csv, pdf) of data that resulted from a flow depths min/max computation.
28 * 32 *
29 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 33 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
56 60
57 writer.writeNext(new String[] { "" }); // break line 61 writer.writeNext(new String[] { "" }); // break line
58 62
59 final WstInfo wst = result.getWst(); 63 final WstInfo wst = result.getWst();
60 super.writeCSVWaterlevelMetadata(writer, wst); 64 super.writeCSVWaterlevelMetadata(writer, wst);
65
66 writer.writeNext(new String[] { "" }); // break line
61 67
62 } 68 }
63 69
64 /** 70 /**
65 * Write the header, with different headings depending on whether at a 71 * Write the header, with different headings depending on whether at a
123 129
124 return lines.toArray(new String[lines.size()]); 130 return lines.toArray(new String[lines.size()]);
125 } 131 }
126 132
127 @Override 133 @Override
128 protected final String getJasperFile() { 134 protected void writePDF(final OutputStream out) {
129 return JASPER_FILE; 135
136 try {
137 final MetaAndTableJRDataSource source = createJRData(this.data);
138 final JasperReporter reporter = new JasperReporter();
139 final JasperDesigner design = reporter.addReport(JASPER_FILE, source);
140
141 if (!getData().isUseTkh()) {
142 design.removeColumn("tkh");
143 design.removeColumn("flowdepthtkh");
144 }
145 reporter.exportPDF(out);
146 }
147 catch (final JRException je) {
148 getLog().warn("Error generating PDF Report!", je);
149 }
130 } 150 }
131 151
132 @Override 152 @Override
133 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthCalculationResults results) { 153 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthCalculationResults results) {
134 154

http://dive4elements.wald.intevation.org