Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoExporter.java @ 8938:9c02733a1b3c
Work on Sinfo-tkh - exports; using same logic for wst-description as winfo
author | gernotbelger |
---|---|
date | Tue, 06 Mar 2018 17:09:39 +0100 |
parents | 791714b92b5c |
children | 5d5d482da3e9 |
comparison
equal
deleted
inserted
replaced
8937:8596f95673b1 | 8938:9c02733a1b3c |
---|---|
50 this.data = null; | 50 this.data = null; |
51 | 51 |
52 if (d instanceof CalculationResult) { | 52 if (d instanceof CalculationResult) { |
53 | 53 |
54 final Object dat = ((CalculationResult) d).getData(); | 54 final Object dat = ((CalculationResult) d).getData(); |
55 if (dat != null) | 55 if (dat != null) { |
56 this.data = (RESULTS) dat; | 56 @SuppressWarnings("unchecked") |
57 final RESULTS result = (RESULTS) dat; | |
58 this.data = result; | |
59 } | |
57 } | 60 } |
58 } | 61 } |
59 | 62 |
60 @Override | 63 @Override |
61 protected final void writeCSVData(final CSVWriter writer) { | 64 protected final void writeCSVData(final CSVWriter writer) { |
65 final RESULTS results = this.data; | 68 final RESULTS results = this.data; |
66 | 69 |
67 final RiverInfo river = results.getRiver(); | 70 final RiverInfo river = results.getRiver(); |
68 | 71 |
69 /* write as csv */ | 72 /* write as csv */ |
70 writeCSVMeta(writer, results); | 73 writeCSVGlobalMetadata(writer, results); |
71 writeCSVHeader(writer, river); | 74 writeCSVHeader(writer, results, river); |
72 | 75 |
73 for (final RESULT result : results.getResults()) { | 76 for (final RESULT result : results.getResults()) { |
74 writeCSVResult(writer, result); | 77 writeCSVResult(writer, results, result); |
75 } | 78 } |
76 } | 79 } |
77 | 80 |
78 protected abstract void writeCSVHeader(final CSVWriter writer, final RiverInfo river); | 81 protected abstract void writeCSVHeader(final CSVWriter writer, final RESULTS results, final RiverInfo river); |
79 | 82 |
80 protected abstract void writeCSVMeta(final CSVWriter writer, final RESULTS results); | 83 /** |
84 * Add metadata that is once written to the top of the file. | |
85 */ | |
86 protected abstract void writeCSVGlobalMetadata(final CSVWriter writer, final RESULTS results); | |
81 | 87 |
82 protected final void writeCSVMetaEntry(final CSVWriter writer, final String message, final Object... messageArgs) { | 88 protected final void writeCSVMetaEntry(final CSVWriter writer, final String message, final Object... messageArgs) { |
83 | 89 |
84 final CallMeta meta = this.context.getMeta(); | 90 final CallMeta meta = this.context.getMeta(); |
85 | 91 |
86 writer.writeNext(new String[] { Resources.getMsg(meta, message, message, messageArgs) }); | 92 writer.writeNext(new String[] { Resources.getMsg(meta, message, message, messageArgs) }); |
87 } | 93 } |
88 | 94 |
89 protected final void writeCSVResult(final CSVWriter writer, final RESULT result) { | 95 protected final void writeCSVResult(final CSVWriter writer, final RESULTS results, final RESULT result) { |
90 | 96 |
91 writeCSVResultHeader(writer, result); | 97 writeCSVResultMetadata(writer, results, result); |
92 | 98 |
93 /* nwo the value rows */ | 99 /* nwo the value rows */ |
94 final Collection<ROW> rows = result.getRows(); | 100 final Collection<ROW> rows = result.getRows(); |
95 for (final ROW row : rows) { | 101 for (final ROW row : rows) { |
96 writeCSVRow(writer, row); | 102 writeCSVRow(writer, results, row); |
97 } | 103 } |
98 } | 104 } |
99 | 105 |
100 protected abstract void writeCSVResultHeader(CSVWriter writer, RESULT result); | 106 /** |
107 * Add metadata that is written once per result set. | |
108 */ | |
109 protected abstract void writeCSVResultMetadata(CSVWriter writer, RESULTS results, RESULT result); | |
101 | 110 |
102 protected final void writeCSVRow(final CSVWriter writer, final ROW row) { | 111 protected final void writeCSVRow(final CSVWriter writer, final RESULTS results, final ROW row) { |
103 getLog().debug("writeCSVFlowDepthRow"); | 112 getLog().debug("writeCSVFlowDepthRow"); |
104 | 113 |
105 final String[] formattedRow = formatCSVRow(row); | 114 final String[] formattedRow = formatCSVRow(results, row); |
106 writer.writeNext(formattedRow); | 115 writer.writeNext(formattedRow); |
107 } | 116 } |
108 | 117 |
109 protected abstract String[] formatCSVRow(final ROW row); | 118 protected abstract String[] formatCSVRow(RESULTS results, final ROW row); |
110 | 119 |
111 @Override | 120 @Override |
112 protected final void writePDF(final OutputStream outStream) { | 121 protected final void writePDF(final OutputStream outStream) { |
113 getLog().debug("write PDF"); | 122 getLog().debug("write PDF"); |
114 | 123 |
142 final MetaAndTableJRDataSource source = new MetaAndTableJRDataSource(); | 151 final MetaAndTableJRDataSource source = new MetaAndTableJRDataSource(); |
143 | 152 |
144 addJRMetaData(source, results); | 153 addJRMetaData(source, results); |
145 | 154 |
146 for (final RESULT result : results.getResults()) { | 155 for (final RESULT result : results.getResults()) { |
147 addJRTableData(source, result); | 156 addJRTableData(source, results, result); |
148 } | 157 } |
149 | 158 |
150 return source; | 159 return source; |
151 } | 160 } |
152 | 161 |
153 protected abstract void addJRMetaData(final MetaAndTableJRDataSource source, final RESULTS results); | 162 protected abstract void addJRMetaData(final MetaAndTableJRDataSource source, final RESULTS results); |
154 | 163 |
155 protected final void addJRTableData(final MetaAndTableJRDataSource source, final RESULT result) { | 164 protected final void addJRTableData(final MetaAndTableJRDataSource source, final RESULTS results, final RESULT result) { |
156 | 165 |
157 final Collection<ROW> rows = result.getRows(); | 166 final Collection<ROW> rows = result.getRows(); |
158 | 167 |
159 for (final ROW row : rows) { | 168 for (final ROW row : rows) { |
160 | 169 |
161 final String[] formattedRow = formatPDFRow(row); | 170 final String[] formattedRow = formatPDFRow(results, row); |
162 source.addData(formattedRow); | 171 source.addData(formattedRow); |
163 } | 172 } |
164 } | 173 } |
165 | 174 |
166 protected abstract String[] formatPDFRow(final ROW row); | 175 protected abstract String[] formatPDFRow(RESULTS results, final ROW row); |
167 } | 176 } |