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 :

http://dive4elements.wald.intevation.org