Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java @ 418:e0fec407a280
ISSUE-53 Formatted number values of CSV exports.
flys-artifacts/trunk@1885 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 10 May 2011 16:10:01 +0000 |
parents | 340dc41a7ea3 |
children | a7947972fdeb |
comparison
equal
deleted
inserted
replaced
417:e54053bc0e70 | 418:e0fec407a280 |
---|---|
1 package de.intevation.flys.exports; | 1 package de.intevation.flys.exports; |
2 | 2 |
3 import java.io.OutputStream; | 3 import java.io.OutputStream; |
4 import java.text.NumberFormat; | |
4 import java.util.ArrayList; | 5 import java.util.ArrayList; |
5 import java.util.List; | 6 import java.util.List; |
6 | 7 |
7 import org.w3c.dom.Document; | 8 import org.w3c.dom.Document; |
8 | 9 |
22 */ | 23 */ |
23 public class WaterlevelExporter extends AbstractExporter { | 24 public class WaterlevelExporter extends AbstractExporter { |
24 | 25 |
25 /** The logger used in this exporter.*/ | 26 /** The logger used in this exporter.*/ |
26 private static Logger logger = Logger.getLogger(WaterlevelExporter.class); | 27 private static Logger logger = Logger.getLogger(WaterlevelExporter.class); |
28 | |
29 | |
30 public static final int KM_MIN_DIGITS = 3; | |
31 public static final int KM_MAX_DIGITS = 3; | |
32 public static final int W_MIN_DIGITS = 0; | |
33 public static final int W_MAX_DIGITS = 2; | |
34 public static final int Q_MIN_DIGITS = 0; | |
35 public static final int Q_MAX_DIGITS = 2; | |
27 | 36 |
28 | 37 |
29 public static final String CSV_KM_HEADER = | 38 public static final String CSV_KM_HEADER = |
30 "export.waterlevel.csv.header.km"; | 39 "export.waterlevel.csv.header.km"; |
31 | 40 |
100 | 109 |
101 | 110 |
102 protected void wQKms2CSV(CSVWriter writer, WQKms wqkms) { | 111 protected void wQKms2CSV(CSVWriter writer, WQKms wqkms) { |
103 logger.debug("WaterlevelExporter.wQKms2CSV"); | 112 logger.debug("WaterlevelExporter.wQKms2CSV"); |
104 | 113 |
114 NumberFormat kmf = getKmFormatter(); | |
115 NumberFormat wf = getWFormatter(); | |
116 NumberFormat qf = getQFormatter(); | |
117 | |
105 int size = wqkms.size(); | 118 int size = wqkms.size(); |
106 double[] result = new double[3]; | 119 double[] result = new double[3]; |
107 | 120 |
108 for (int i = 0; i < size; i ++) { | 121 for (int i = 0; i < size; i ++) { |
109 result = wqkms.get(i, result); | 122 result = wqkms.get(i, result); |
110 | 123 |
111 writer.writeNext(new String[] { | 124 writer.writeNext(new String[] { |
112 Double.toString(result[2]), | 125 kmf.format(result[2]), |
113 Double.toString(result[0]), | 126 wf.format(result[0]), |
114 Double.toString(result[1]) | 127 qf.format(result[1]) |
115 }); | 128 }); |
116 } | 129 } |
117 } | 130 } |
131 | |
132 | |
133 /** | |
134 * Returns the number formatter for kilometer values. | |
135 * | |
136 * @return the number formatter for kilometer values. | |
137 */ | |
138 protected NumberFormat getKmFormatter() { | |
139 return getFormatter(KM_MIN_DIGITS, KM_MAX_DIGITS); | |
140 } | |
141 | |
142 | |
143 /** | |
144 * Returns the number formatter for W values. | |
145 * | |
146 * @return the number formatter for W values. | |
147 */ | |
148 protected NumberFormat getWFormatter() { | |
149 return getFormatter(W_MIN_DIGITS, W_MAX_DIGITS); | |
150 } | |
151 | |
152 | |
153 /** | |
154 * Returns the number formatter for Q values. | |
155 * | |
156 * @return the number formatter for Q values. | |
157 */ | |
158 protected NumberFormat getQFormatter() { | |
159 return getFormatter(Q_MIN_DIGITS, Q_MAX_DIGITS); | |
160 } | |
118 } | 161 } |
119 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 162 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |