Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthdev/FlowDepthDevelopmentExporter.java @ 8997:d5802f22e4f5
Work on uinfo
author | gernotbelger |
---|---|
date | Thu, 12 Apr 2018 19:14:19 +0200 |
parents | 7c1611b5a59e |
children | 7134a4c7d1b6 |
comparison
equal
deleted
inserted
replaced
8996:fb9430250899 | 8997:d5802f22e4f5 |
---|---|
10 | 10 |
11 import java.util.ArrayList; | 11 import java.util.ArrayList; |
12 import java.util.Collection; | 12 import java.util.Collection; |
13 | 13 |
14 import org.apache.log4j.Logger; | 14 import org.apache.log4j.Logger; |
15 import org.dive4elements.river.artifacts.common.GeneralResultType; | |
16 import org.dive4elements.river.artifacts.common.ResultRow; | |
15 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter; | 17 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter; |
16 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultRow; | |
17 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; | 18 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; |
18 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource; | 19 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource; |
19 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; | 20 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; |
20 | 21 |
21 import au.com.bytecode.opencsv.CSVWriter; | 22 import au.com.bytecode.opencsv.CSVWriter; |
50 @Override | 51 @Override |
51 protected void writeCSVResultMetadata(final CSVWriter writer, final FlowDepthDevelopmentCalculationResults results, | 52 protected void writeCSVResultMetadata(final CSVWriter writer, final FlowDepthDevelopmentCalculationResults results, |
52 final FlowDepthDevelopmentCalculationResult result) { | 53 final FlowDepthDevelopmentCalculationResult result) { |
53 | 54 |
54 writeCSVSoundingMetadata(writer, result.getCurrentSounding(), CSV_META_HEADER_SOUNDING_CURRENT); | 55 writeCSVSoundingMetadata(writer, result.getCurrentSounding(), CSV_META_HEADER_SOUNDING_CURRENT); |
56 writer.writeNext(new String[] { "" }); // break line | |
55 writeCSVWaterlevelMetadata(writer, result.getCurrentWst(), CSV_META_HEADER_WATERLEVEL_CURRENT); | 57 writeCSVWaterlevelMetadata(writer, result.getCurrentWst(), CSV_META_HEADER_WATERLEVEL_CURRENT); |
58 writer.writeNext(new String[] { "" }); // break line | |
56 writeCSVSoundingMetadata(writer, result.getHistoricalSounding(), CSV_META_HEADER_SOUNDING_HISTORICAL); | 59 writeCSVSoundingMetadata(writer, result.getHistoricalSounding(), CSV_META_HEADER_SOUNDING_HISTORICAL); |
60 writer.writeNext(new String[] { "" }); // break line | |
57 writeCSVWaterlevelMetadata(writer, result.getHistoricalWst(), CSV_META_HEADER_WATERLEVEL_HISTORICAL); | 61 writeCSVWaterlevelMetadata(writer, result.getHistoricalWst(), CSV_META_HEADER_WATERLEVEL_HISTORICAL); |
58 } | 62 } |
59 | 63 |
60 @Override | 64 @Override |
61 protected void writeCSVGlobalMetadata(final CSVWriter writer, final FlowDepthDevelopmentCalculationResults results) { | 65 protected void writeCSVGlobalMetadata(final CSVWriter writer, final FlowDepthDevelopmentCalculationResults results) { |
62 | |
63 super.writeCSVGlobalMetadataDefaults(writer, results); | 66 super.writeCSVGlobalMetadataDefaults(writer, results); |
64 | |
65 writer.writeNext(new String[] { "" }); | |
66 } | 67 } |
67 | 68 |
68 /** | 69 /** |
69 * Write the header, with different headings depending on whether at a | 70 * Write the header, with different headings depending on whether at a |
70 * gauge or at a location. | 71 * gauge or at a location. |
78 | 79 |
79 final FlowDepthDevelopmentCalculationResult result = results.getResult(); | 80 final FlowDepthDevelopmentCalculationResult result = results.getResult(); |
80 | 81 |
81 final Collection<String> header = new ArrayList<>(11); | 82 final Collection<String> header = new ArrayList<>(11); |
82 | 83 |
83 header.add(msg(SInfoResultType.station.getCsvHeader())); | 84 header.add(msg(GeneralResultType.station.getCsvHeader())); |
84 header.add(msgUnit(SInfoResultType.flowdepthDevelopment.getCsvHeader(), SInfoResultType.flowdepthDevelopment.getUnit())); | 85 header.add(msgUnit(SInfoResultType.flowdepthDevelopment.getCsvHeader(), SInfoResultType.flowdepthDevelopment.getUnit())); |
85 header.add(msgUnit(SInfoResultType.flowdepthDevelopmentPerYear.getCsvHeader(), SInfoResultType.flowdepthDevelopmentPerYear.getUnit())); | 86 header.add(msgUnit(SInfoResultType.flowdepthDevelopmentPerYear.getCsvHeader(), SInfoResultType.flowdepthDevelopmentPerYear.getUnit())); |
86 header.add(msgUnitLabel(SInfoResultType.waterlevelDifference.getCsvHeader(), SInfoResultType.waterlevelDifference.getUnit(), | 87 header.add(msgUnitLabel(SInfoResultType.waterlevelDifference.getCsvHeader(), SInfoResultType.waterlevelDifference.getUnit(), |
87 result.getWaterlevelDifferenceLabel())); | 88 result.getWaterlevelDifferenceLabel())); |
88 header.add(msgUnitLabel(SInfoResultType.bedHeightDifference.getCsvHeader(), SInfoResultType.bedHeightDifference.getUnit(), | 89 header.add(msgUnitLabel(SInfoResultType.bedHeightDifference.getCsvHeader(), SInfoResultType.bedHeightDifference.getUnit(), |
94 header.add(msg(SInfoResultType.location.getCsvHeader())); | 95 header.add(msg(SInfoResultType.location.getCsvHeader())); |
95 | 96 |
96 writer.writeNext(header.toArray(new String[header.size()])); | 97 writer.writeNext(header.toArray(new String[header.size()])); |
97 } | 98 } |
98 | 99 |
99 @Override | |
100 protected String[] formatCSVRow(final FlowDepthDevelopmentCalculationResults results, final FlowDepthDevelopmentCalculationResult result, | |
101 final SInfoResultRow row) { | |
102 return formatRow(result, row); | |
103 } | |
104 | |
105 /** | 100 /** |
106 * Format a row of a flow depth result into an array of string, both used by csv and pdf | 101 * Format a row of a flow depth result into an array of string, both used by csv and pdf |
107 * | 102 * |
108 * @param result | 103 * @param result |
109 * | 104 * |
110 * @param useTkh | 105 * @param useTkh |
111 */ | 106 */ |
112 private String[] formatRow(final FlowDepthDevelopmentCalculationResult result, final SInfoResultRow row) { | 107 @Override |
108 protected String[] formatRow(final FlowDepthDevelopmentCalculationResults results, final ResultRow row, final ExportMode mode) { | |
113 | 109 |
114 final Collection<String> lines = new ArrayList<>(10); | 110 final Collection<String> lines = new ArrayList<>(10); |
115 | 111 |
116 lines.add(row.exportValue(this.context, SInfoResultType.station)); | 112 lines.add(row.exportValue(this.context, GeneralResultType.station)); |
117 | |
118 lines.add(row.exportValue(this.context, SInfoResultType.flowdepthDevelopment)); | 113 lines.add(row.exportValue(this.context, SInfoResultType.flowdepthDevelopment)); |
119 lines.add(row.exportValue(this.context, SInfoResultType.flowdepthDevelopmentPerYear)); | 114 lines.add(row.exportValue(this.context, SInfoResultType.flowdepthDevelopmentPerYear)); |
120 lines.add(row.exportValue(this.context, SInfoResultType.waterlevelDifference)); | 115 lines.add(row.exportValue(this.context, SInfoResultType.waterlevelDifference)); |
121 lines.add(row.exportValue(this.context, SInfoResultType.bedHeightDifference)); | 116 lines.add(row.exportValue(this.context, SInfoResultType.bedHeightDifference)); |
122 lines.add(row.exportValue(this.context, SInfoResultType.flowdepthCurrent)); | 117 lines.add(row.exportValue(this.context, SInfoResultType.flowdepthCurrent)); |
133 | 128 |
134 @Override | 129 @Override |
135 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthDevelopmentCalculationResults results) { | 130 protected final void addJRMetaData(final MetaAndTableJRDataSource source, final FlowDepthDevelopmentCalculationResults results) { |
136 | 131 |
137 /* general metadata */ | 132 /* general metadata */ |
138 super.addJRMetaDataDefaults(source, results); | 133 super.addJRMetaData(source, results); |
139 | 134 |
140 final FlowDepthDevelopmentCalculationResult result = results.getResult(); | 135 final FlowDepthDevelopmentCalculationResult result = results.getResult(); |
141 source.addMetaData("flowdepthdevelopment", result.getLabel()); | 136 source.addMetaData("flowdepthdevelopment", result.getLabel()); |
142 source.addMetaData("flowdepthdevelopment_header_label",SInfoResultType.flowdepthDevelopment.getCsvHeader(this.context.getMeta()));//(this.context.getMeta())); | 137 source.addMetaData("flowdepthdevelopment_header_label", SInfoResultType.flowdepthDevelopment.getCsvHeader(this.context.getMeta()));// (this.context.getMeta())); |
143 | 138 |
144 /* column headings */ | 139 /* column headings */ |
145 source.addMetaData("station_header", SInfoResultType.station.getPdfHeader(this.context.getMeta())); | 140 source.addMetaData("station_header", GeneralResultType.station.getPdfHeader(this.context.getMeta())); |
146 source.addMetaData("flowdepthdevelopment_header", SInfoResultType.flowdepthDevelopment.getPdfHeader(this.context.getMeta())); | 141 source.addMetaData("flowdepthdevelopment_header", SInfoResultType.flowdepthDevelopment.getPdfHeader(this.context.getMeta())); |
147 source.addMetaData("flowdepthdevelopmentperyear_header", SInfoResultType.flowdepthDevelopmentPerYear.getPdfHeader(this.context.getMeta())); | 142 source.addMetaData("flowdepthdevelopmentperyear_header", SInfoResultType.flowdepthDevelopmentPerYear.getPdfHeader(this.context.getMeta())); |
148 | 143 |
149 source.addMetaData("waterleveldifference_header", SInfoResultType.waterlevelDifference.getPdfHeader(this.context.getMeta())); | 144 source.addMetaData("waterleveldifference_header", SInfoResultType.waterlevelDifference.getPdfHeader(this.context.getMeta())); |
150 source.addMetaData("waterleveldifference_header2", result.getWaterlevelDifferenceLabel()); | 145 source.addMetaData("waterleveldifference_header2", result.getWaterlevelDifferenceLabel()); |
159 source.addMetaData("flowdepthhistorical_header2", result.getFlowDepthHistoricalLabel()); | 154 source.addMetaData("flowdepthhistorical_header2", result.getFlowDepthHistoricalLabel()); |
160 | 155 |
161 source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta())); | 156 source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta())); |
162 } | 157 } |
163 | 158 |
164 @Override | |
165 protected String[] formatPDFRow(final FlowDepthDevelopmentCalculationResults results, final SInfoResultRow row) { | |
166 return formatRow(null, row); | |
167 } | |
168 } | 159 } |