Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/common/AbstractCalculationExportableResult.java @ 9195:a4121ec450d6
'ca.'-issue
ExportContextCSV+PDF separated
uinfo.inundationduration url export
author | gernotbelger |
---|---|
date | Fri, 29 Jun 2018 14:52:54 +0200 |
parents | 9b2e46090099 |
children | 49c0b687d22f |
comparison
equal
deleted
inserted
replaced
9191:f692f5a0536a | 9195:a4121ec450d6 |
---|---|
16 import net.sf.jasperreports.engine.JRException; | 16 import net.sf.jasperreports.engine.JRException; |
17 | 17 |
18 /** | 18 /** |
19 * @author Domenico Nardi Tironi | 19 * @author Domenico Nardi Tironi |
20 */ | 20 */ |
21 public abstract class AbstractCalculationExportableResult<RESULTS extends AbstractCalculationResults<?>> extends AbstractCalculationResult { | 21 public abstract class AbstractCalculationExportableResult extends AbstractCalculationResult { |
22 | 22 |
23 private static final long serialVersionUID = 1L; | 23 private static final long serialVersionUID = 1L; |
24 | 24 |
25 public AbstractCalculationExportableResult(final String label, final Collection<ResultRow> rows) { | 25 public AbstractCalculationExportableResult(final String label, final Collection<ResultRow> rows) { |
26 super(label, rows); | 26 super(label, rows); |
27 } | 27 } |
28 | 28 |
29 public abstract void writeCSVHeader(ExportContextCSV exportContextCSV, final RESULTS results, final RiverInfo river); | 29 public abstract void writeCSVHeader(ExportContextCSV exportContextCSV, final RiverInfo river); |
30 | 30 |
31 public final void writeCsv(final ExportContextCSV exportContextCSV, final RESULTS results) { | 31 public final void writeCsv(final ExportContextCSV exportContextCSV) { |
32 | 32 |
33 writeCSVResultMetadata(exportContextCSV, results); | 33 writeCSVResultMetadata(exportContextCSV); |
34 // wenn resultsmetadata null sind!? keine neue zeile | 34 // wenn resultsmetadata null sind!? keine neue zeile |
35 // writer.writeNext(new String[] { "" }); // break line in den Implementationen, | 35 // writer.writeNext(new String[] { "" }); // break line in den Implementationen, |
36 // weil es sein kann, dass KEINE ResultMetadata geschrieben werden; dann wäre eine Leerzeile überflüssig | 36 // weil es sein kann, dass KEINE ResultMetadata geschrieben werden; dann wäre eine Leerzeile überflüssig |
37 | 37 |
38 /* now the value rows */ | 38 /* now the value rows */ |
39 final Collection<ResultRow> rows = getRows(); | 39 final Collection<ResultRow> rows = getRows(); |
40 for (final ResultRow row : rows) | 40 for (final ResultRow row : rows) |
41 writeCSVRow(exportContextCSV, results, row); | 41 writeCSVRow(exportContextCSV, row); |
42 } | 42 } |
43 | 43 |
44 protected abstract void writeCSVResultMetadata(final ExportContextCSV exportContextCSV, final RESULTS results); | 44 protected abstract void writeCSVResultMetadata(final ExportContextCSV exportContextCSV); |
45 | 45 |
46 protected void writeCSVRow(final ExportContextCSV exportContextCSV, final RESULTS results, final ResultRow row) { | 46 protected void writeCSVRow(final ExportContextCSV exportContextCSV, final ResultRow row) { |
47 final String[] formattedRow = formatCSVRow(exportContextCSV, results, row); | 47 final String[] formattedRow = formatCSVRow(exportContextCSV, row); |
48 exportContextCSV.writeCSVLine(formattedRow); | 48 exportContextCSV.writeCSVLine(formattedRow); |
49 | |
50 } | 49 } |
51 | 50 |
52 protected abstract String[] formatCSVRow(ExportContextCSV exportContextCSV, final RESULTS results, final ResultRow row); | 51 protected abstract String[] formatCSVRow(ExportContextCSV exportContextCSV, final ResultRow row); |
53 | 52 |
54 protected abstract String[] formatPDFRow(ExportContextCSV exportContextPDF, RESULTS results, ResultRow row); | 53 protected abstract String[] formatPDFRow(ExportContextPDF exportContextPDF, ResultRow row); |
55 | 54 |
56 public JasperDesigner addReport(final ExportContextCSV exportContextPDF, final RESULTS results, final JasperReporter reporter, | 55 public JasperDesigner addReport(final ExportContextPDF exportContext, final JasperReporter reporter, final MetaAndTableJRDataSource source) |
57 final MetaAndTableJRDataSource source) throws JRException { | 56 throws JRException { |
58 | 57 |
59 final JasperDesigner design = reporter.addReport(getJasperFile(), source); | 58 final JasperDesigner design = reporter.addReport(getJasperFile(), source); |
60 addJRTableHeader(exportContextPDF, source, results); | 59 addJRTableHeader(exportContext, source); |
61 addJRTableData(exportContextPDF, source, results); | 60 addJRTableData(exportContext, source); |
62 return design; | 61 return design; |
63 } | 62 } |
64 | 63 |
65 protected abstract String getJasperFile(); | 64 protected abstract String getJasperFile(); |
66 | 65 |
67 protected abstract void addJRTableHeader(ExportContextCSV exportContextPDF, MetaAndTableJRDataSource source, RESULTS results); | 66 protected abstract void addJRTableHeader(ExportContextPDF exportContext, MetaAndTableJRDataSource source); |
68 | 67 |
69 private void addJRTableData(final ExportContextCSV exportContextPDF, final MetaAndTableJRDataSource source, final RESULTS results) { | 68 private void addJRTableData(final ExportContextPDF exportContext, final MetaAndTableJRDataSource source) { |
70 | 69 |
71 final Collection<ResultRow> rows = getRows(); | 70 final Collection<ResultRow> rows = getRows(); |
72 | 71 |
73 for (final ResultRow row : rows) { | 72 for (final ResultRow row : rows) { |
74 | 73 |
75 final String[] formattedRow = formatPDFRow(exportContextPDF, results, row); | 74 final String[] formattedRow = formatPDFRow(exportContext, row); |
76 source.addData(formattedRow); | 75 source.addData(formattedRow); |
77 } | 76 } |
78 } | 77 } |
79 } | 78 } |