comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculationResult.java @ 9195:a4121ec450d6

'ca.'-issue ExportContextCSV+PDF separated uinfo.inundationduration url export
author gernotbelger
date Fri, 29 Jun 2018 14:52:54 +0200
parents 1614cb14308f
children b4402594213b
comparison
equal deleted inserted replaced
9191:f692f5a0536a 9195:a4121ec450d6
12 import java.util.ArrayList; 12 import java.util.ArrayList;
13 import java.util.Collection; 13 import java.util.Collection;
14 14
15 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult; 15 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult;
16 import org.dive4elements.river.artifacts.common.ExportContextCSV; 16 import org.dive4elements.river.artifacts.common.ExportContextCSV;
17 import org.dive4elements.river.artifacts.common.ExportContextPDF;
17 import org.dive4elements.river.artifacts.common.GeneralResultType; 18 import org.dive4elements.river.artifacts.common.GeneralResultType;
19 import org.dive4elements.river.artifacts.common.IExportContext;
18 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; 20 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
19 import org.dive4elements.river.artifacts.common.ResultRow; 21 import org.dive4elements.river.artifacts.common.ResultRow;
20 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; 22 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
21 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; 23 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
22 24
23 /** 25 /**
24 * Contains the result of a {@link FloodDurationCalculation}. 26 * Contains the result of a {@link FloodDurationCalculation}.
25 * 27 *
26 * @author Gernot Belger 28 * @author Gernot Belger
27 */ 29 */
28 final class FloodDurationCalculationResult extends AbstractCalculationExportableResult<FloodDurationCalculationResults> { 30 final class FloodDurationCalculationResult extends AbstractCalculationExportableResult {
29 31
30 private static final long serialVersionUID = 1L; 32 private static final long serialVersionUID = 1L;
31 33
32 private static final String JASPER_FILE = "/jasper/templates/sinfo.floodduration.jrxml"; 34 private static final String JASPER_FILE = "/jasper/templates/sinfo.floodduration.jrxml";
33 35
34
35 public FloodDurationCalculationResult(final String label, final Collection<ResultRow> rows) { 36 public FloodDurationCalculationResult(final String label, final Collection<ResultRow> rows) {
36 super(label, rows); 37 super(label, rows);
37 } 38 }
38 39
39
40 @Override 40 @Override
41 protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results) { 41 protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV) {
42 // TODO Metadaten der Wasserspiegellage(n) falls gewählt 42 // TODO Metadaten der Wasserspiegellage(n) falls gewählt
43 // exportContextCSV.writeCSVWaterlevelMetadata(this.wstInfo); 43 // exportContextCSV.writeCSVWaterlevelMetadata(this.wstInfo);
44 // exportContextCSV.writeBlankLine(); 44 // exportContextCSV.writeBlankLine();
45 // writer.writeNext(new String[] { "" }); // break line 45 // writer.writeNext(new String[] { "" }); // break line
46 } 46 }
49 protected String getJasperFile() { 49 protected String getJasperFile() {
50 // TODO Variante mit Wasserspiegellage(n) 50 // TODO Variante mit Wasserspiegellage(n)
51 return JASPER_FILE; 51 return JASPER_FILE;
52 } 52 }
53 53
54 protected String[] formatRow(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final ResultRow row) { 54 protected String[] formatRow(final IExportContext exportContextCSV, final ResultRow row) {
55 55
56 final Collection<String> lines = new ArrayList<>(10); 56 final Collection<String> lines = new ArrayList<>(10);
57 57
58 lines.add(exportContextCSV.formatRowValue(row, GeneralResultType.station)); 58 lines.add(exportContextCSV.formatRowValue(row, GeneralResultType.station));
59 lines.add(exportContextCSV.formatRowValue(row, SInfoResultType.riverside)); 59 lines.add(exportContextCSV.formatRowValue(row, SInfoResultType.riverside));
69 69
70 return lines.toArray(new String[lines.size()]); 70 return lines.toArray(new String[lines.size()]);
71 } 71 }
72 72
73 @Override 73 @Override
74 public void writeCSVHeader(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final RiverInfo river) { 74 public void writeCSVHeader(final ExportContextCSV exportContextCSV, final RiverInfo river) {
75 75
76 final Collection<String> header = new ArrayList<>(20); 76 final Collection<String> header = new ArrayList<>(20);
77 77
78 header.add(exportContextCSV.formatCsvHeader(GeneralResultType.station)); 78 header.add(exportContextCSV.formatCsvHeader(GeneralResultType.station));
79 header.add(exportContextCSV.formatCsvHeader(SInfoResultType.riverside)); 79 header.add(exportContextCSV.formatCsvHeader(SInfoResultType.riverside));
90 exportContextCSV.writeCSVLine(header.toArray(new String[header.size()])); 90 exportContextCSV.writeCSVLine(header.toArray(new String[header.size()]));
91 91
92 } 92 }
93 93
94 @Override 94 @Override
95 protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final ResultRow row) { 95 protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final ResultRow row) {
96 96
97 return this.formatRow(exportContextCSV, results, row); 97 return this.formatRow(exportContextCSV, row);
98 } 98 }
99 99
100 @Override 100 @Override
101 protected String[] formatPDFRow(final ExportContextCSV exportContextPDF, final FloodDurationCalculationResults results, final ResultRow row) { 101 protected String[] formatPDFRow(final ExportContextPDF exportContextPDF, final ResultRow row) {
102 102
103 return this.formatRow(exportContextPDF, results, row); 103 return this.formatRow(exportContextPDF, row);
104 } 104 }
105 105
106 @Override 106 @Override
107 protected void addJRTableHeader(final ExportContextCSV exportContextPDF, final MetaAndTableJRDataSource source, 107 protected void addJRTableHeader(final ExportContextPDF exportContextPDF, final MetaAndTableJRDataSource source) {
108 final FloodDurationCalculationResults results) {
109 108
110 /* column headings */ 109 /* column headings */
111 exportContextPDF.addJRMetadata(source, "station_header", GeneralResultType.station); 110 exportContextPDF.addJRMetadata(source, "station_header", GeneralResultType.station);
112 exportContextPDF.addJRMetadata(source, "riverside_header", SInfoResultType.riverside); 111 exportContextPDF.addJRMetadata(source, "riverside_header", SInfoResultType.riverside);
113 exportContextPDF.addJRMetadata(source, "inundationduration_header", SInfoResultType.floodDuration); 112 exportContextPDF.addJRMetadata(source, "inundationduration_header", SInfoResultType.floodDuration);

http://dive4elements.wald.intevation.org