annotate artifacts/src/main/java/org/dive4elements/river/artifacts/common/ExportContextCSV.java @ 9154:cd24db77f044

little bugfix on soundings
author gernotbelger
date Thu, 14 Jun 2018 17:51:30 +0200
parents 23945061daec
children f1be005f0c46
rev   line source
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
2 * Software engineering by
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
5 *
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
9 */
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.common;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
11
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
12 import java.text.DateFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
13 import java.text.NumberFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
14 import java.util.Date;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
15 import java.util.Locale;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
16
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
17 import org.apache.commons.lang.math.DoubleRange;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
18 import org.dive4elements.artifacts.CallContext;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
19 import org.dive4elements.artifacts.CallMeta;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.FLYS;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
21 import org.dive4elements.river.artifacts.resources.Resources;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
22 import org.dive4elements.river.artifacts.sinfo.common.SInfoI18NStrings;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
23 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
24 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
25 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
26 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
27 import org.dive4elements.river.utils.Formatter;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
28
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
29 import au.com.bytecode.opencsv.CSVWriter;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
30
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
31 /**
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
32 * @author Domenico Nardi Tironi
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
33 *
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
34 */
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
35 public final class ExportContextCSV {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
36
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
37 private static final String CSV_META_HEADER_EVALUATOR = "sinfo.export.flow_depth.csv.meta.header.sounding.evaluator";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
38
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
39 private static final String CSV_META_HEADER_SOUNDING = "sinfo.export.flow_depth.csv.meta.header.sounding";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
40
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
41 private static final String CSV_META_HEADER_SOUNDING_YEAR = "sinfo.export.flow_depth.csv.meta.header.sounding.year";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
42
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
43 private static final String CSV_META_HEADER_SOUNDING_TYPE = "sinfo.export.flow_depth.csv.meta.header.sounding.type";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
44
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
45 private static final String CSV_META_HEADER_SOUNDING_PRJ = "sinfo.export.flow_depth.csv.meta.header.sounding.prj";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
46
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
47 private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
48
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
49 private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL_ORIGINAL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel.original";
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
50
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
51 private static NumberFormat qFormat = null;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
52
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
53 private static NumberFormat flowDepthFormat = null;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
54
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
55 private NumberFormat kmFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
56
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
57 /** The CallContext object. */
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
58 private final CallContext context;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
59
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
60 private final CSVWriter writer;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
61
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
62 public ExportContextCSV(final CallContext context, final CSVWriter writer) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
63 this.context = context;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
64 this.writer = writer;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
65 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
66
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
67 private String msg(final String key) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
68 return Resources.getMsg(this.context.getMeta(), key, key);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
69 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
70
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
71 public String msg(final String key, final Object... args) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
72 return Resources.getMsg(this.context.getMeta(), key, key, args);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
73 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
74
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
75 public final void writeCSVMetaEntry(final String message, final Object... messageArgs) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
76
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
77 final CallMeta meta = this.context.getMeta();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
78
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
79 this.writer.writeNext(new String[] { Resources.getMsg(meta, message, message, messageArgs) });
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
80 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
81
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
82 public void writeBlankLine() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
83 writeCSVLine(new String[] { "" });
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
84
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
85 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
86
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
87 // *** CUSTOM STUFF that is used multiple times ***///
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
88
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
89 public final void writeCSVSoundingMetadata(final BedHeightInfo sounding) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
90 // "##METADATEN PEILUNG"
9154
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
91 writeCSVSoundingMetadata(sounding, CSV_META_HEADER_SOUNDING);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
92
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
93 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
94
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
95 public void writeCSVLine(final String[] line) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
96 this.writer.writeNext(line);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
97 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
98
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
99 public String formatCsvHeader(final IResultType type) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
100 return msg(type.getCsvHeader());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
101 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
102
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
103 public String formatRowValue(final ResultRow row, final IResultType type) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
104 return row.exportValue(this.context, type);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
105 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
106
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
107 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final IResultType type) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
108 source.addMetaData(key, type.getPdfHeader(this.context.getMeta()));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
109 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
110
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
111 public final void writeCSVGlobalMetadataDefaults(final AbstractCalculationResults results) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
112 // TODO: results as member
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
113 final String calcModeLabel = results.getCalcModeLabel();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
114 final RiverInfo river = results.getRiver();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
115 final DoubleRange calcRange = results.getCalcRange();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
116
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
117 writeCSVMetaEntry(I18NStrings.CSV_META_HEADER_RESULT, msg(I18NStrings.CSV_META_HEADER_RESULT_LABEL), river.getName(), calcModeLabel);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
118
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
119 // "# FLYS-Version: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
120 writeCSVMetaEntry(I18NStrings.CSV_META_VERSION, msg(I18NStrings.CSV_META_VERSION_LABEL), FLYS.VERSION);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
121
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
122 // "# Bearbeiter: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
123 writeCSVMetaEntry(I18NStrings.CSV_META_USER, msg(I18NStrings.CSV_META_USER_LABEL), results.getUser());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
124
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
125 // "# Datum der Erstellung: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
126 final Locale locale = Resources.getLocale(this.context.getMeta());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
127 final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
128 writeCSVMetaEntry(I18NStrings.CSV_META_CREATION, msg(I18NStrings.CSV_META_CREATION_LABEL), df.format(new Date()));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
129
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
130 // "# Gewässer: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
131 writeCSVMetaEntry(I18NStrings.CSV_META_RIVER, msg(I18NStrings.CSV_META_RIVER_LABEL), river.getName());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
132
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
133 // "# Höhensystem des Flusses: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
134 writeCSVMetaEntry(I18NStrings.CSV_META_HEIGHT_UNIT_RIVER, river.getWstUnit());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
135
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
136 if (calcRange != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
137 // "# Ort/Bereich (km): "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
138 writeCSVMetaEntry(I18NStrings.CSV_META_RANGE, msg(I18NStrings.CSV_META_RANGE_LABEL), getKmFormatter().format(calcRange.getMinimumDouble()),
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
139 getKmFormatter().format(calcRange.getMaximumDouble()));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
140 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
141 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
142
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
143 public final void writeCSVWaterlevelMetadata(final WstInfo wst) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
144 writeCSVWaterlevelMetadata(wst, SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL); // default Label; used in 99%
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
145 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
146
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
147 public final void writeCSVWaterlevelMetadata(final WstInfo wst, final String mainLabel) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
148 // "##METADATEN WASSERSPIEGELLAGE"
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
149 writeCSVMetaEntry(mainLabel);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
151 // "# Bezeichnung der Wasserspiegellage: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
152 writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_NAME, wst.getLabel());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
153
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
154 // "# Bezugspegel: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
155 writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_GAUGE, wst.getGauge());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
156
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
157 // "# Jahr/Zeitraum der Wasserspiegellage: "
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
158 final int year = wst.getYear();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
159 if (year > 0)
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
160 writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_YEAR, Integer.toString(year));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
161 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
162
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
163 // copy from AbstractExporter TODO merge with ExportContextPDF
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
164 protected NumberFormat getKmFormatter() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
165
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
166 if (this.kmFormat == null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
167 this.kmFormat = Formatter.getWaterlevelKM(this.context);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
168 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
169 return this.kmFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
170 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
171
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
172 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final String msg) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
173 source.addMetaData(key, msg);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
174
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
175 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
176
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
177 public NumberFormat getQFormatter() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
178 if (this.qFormat == null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
179 this.qFormat = Formatter.getWaterlevelQ(this.context);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
180 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
181 return this.qFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
182 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
183
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
184 public final NumberFormat getFlowDepthFormatter() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
185 if (this.flowDepthFormat == null)
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
186 this.flowDepthFormat = Formatter.getFlowDepth(this.context);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
187 return this.flowDepthFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
188 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
189
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
190 /**
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
191 * Formats header with unit: msg [unit]
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
192 */
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
193
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
194 public String msgUnitCSV(final IResultType typeWithUnit) { // TODO: use generic Type!
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
195 final String unit = msg(typeWithUnit.getUnit());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
196 return msgUnitCSV(typeWithUnit, unit);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
197 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
198
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
199 public String msgUnitCSV(final IResultType type, final String unit) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
200 final String msg = msg(type.getCsvHeader());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
201 return String.format("%s [%s]", msg, unit);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
202 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
203
9154
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
204 public void writeCSVSoundingMetadata(final BedHeightInfo sounding, final String label) {
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
205
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
206 // "##METADATEN PEILUNG"
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
207 writeCSVMetaEntry(label);
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
208
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
209 // "# Jahr der Peilung: "
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
210 writeCSVMetaEntry(CSV_META_HEADER_SOUNDING_YEAR, Integer.toString(sounding.getYear()));
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
211 // "# Aufnahmeart: "
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
212 writeCSVMetaEntry(CSV_META_HEADER_SOUNDING_TYPE, sounding.getType());
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
213 // "# Auswerter: "
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
214 writeCSVMetaEntry(CSV_META_HEADER_EVALUATOR, sounding.getEvaluationBy());
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
215 // "# Lagesystem: "
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
216 writeCSVMetaEntry(CSV_META_HEADER_SOUNDING_PRJ, sounding.getLocationSystem());
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
217 // "# Höhensystem: "
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
218 writeCSVMetaEntry(CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL, sounding.getCurElevationModelUnit());
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
219 // "# ursprüngliches Höhensystem: "
cd24db77f044 little bugfix on soundings
gernotbelger
parents: 9150
diff changeset
220 writeCSVMetaEntry(CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL_ORIGINAL, sounding.getOldElevationModelUnit());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
221
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
222 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
223
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
224 public final String msgUnitLabel(final IResultType typeWithUnit, final String label) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
225 final String msg = msg(typeWithUnit.getCsvHeader());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
226 final String unit = msg(typeWithUnit.getUnit());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
227 return String.format("%s [%s] (%s)", msg, unit, label);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
228 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
229
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
230 public String msgPdf(final SInfoResultType type) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
231 return type.getPdfHeader(this.context.getMeta());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
232
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
233 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
234 }

http://dive4elements.wald.intevation.org