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 }

http://dive4elements.wald.intevation.org