comparison flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.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
23 public class ComputedDischargeCurveExporter extends AbstractExporter { 24 public class ComputedDischargeCurveExporter extends AbstractExporter {
24 25
25 /** The logger used in this exporter.*/ 26 /** The logger used in this exporter.*/
26 private static Logger logger = 27 private static Logger logger =
27 Logger.getLogger(ComputedDischargeCurveExporter.class); 28 Logger.getLogger(ComputedDischargeCurveExporter.class);
29
30
31 public static final int W_MIN_DIGITS = 2;
32 public static final int W_MAX_DIGITS = 2;
33 public static final int Q_MIN_DIGITS = 0;
34 public static final int Q_MAX_DIGITS = 0;
28 35
29 public static final String CSV_W_HEADER = 36 public static final String CSV_W_HEADER =
30 "export.computed.discharge.curve.csv.header.w"; 37 "export.computed.discharge.curve.csv.header.w";
31 38
32 public static final String CSV_Q_HEADER = 39 public static final String CSV_Q_HEADER =
57 protected void writeCSVData(CSVWriter writer) { 64 protected void writeCSVData(CSVWriter writer) {
58 logger.info("ComputedDischargeCurveExporter.writeData"); 65 logger.info("ComputedDischargeCurveExporter.writeData");
59 66
60 writeCSVHeader(writer); 67 writeCSVHeader(writer);
61 68
69 NumberFormat wf = getWFormatter();
70 NumberFormat qf = getQFormatter();
71
62 double[] res = new double[3]; 72 double[] res = new double[3];
63 73
64 for (WQKms wqkms: data) { 74 for (WQKms wqkms: data) {
65 int size = wqkms.size(); 75 int size = wqkms.size();
66 76
67 for (int i = 0; i < size; i++) { 77 for (int i = 0; i < size; i++) {
68 res = wqkms.get(i, res); 78 res = wqkms.get(i, res);
69 79
70 writer.writeNext(new String[] { 80 writer.writeNext(new String[] {
71 Double.toString(res[0]), 81 wf.format(res[0]),
72 Double.toString(res[1]) 82 qf.format(res[1])
73 }); 83 });
74 } 84 }
75 } 85 }
76 } 86 }
77 87
82 writer.writeNext(new String[] { 92 writer.writeNext(new String[] {
83 msg(CSV_W_HEADER, DEFAULT_CSV_W_HEADER), 93 msg(CSV_W_HEADER, DEFAULT_CSV_W_HEADER),
84 msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER) 94 msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER)
85 }); 95 });
86 } 96 }
97
98
99 /**
100 * Returns the number formatter for W values.
101 *
102 * @return the number formatter for W values.
103 */
104 protected NumberFormat getWFormatter() {
105 return getFormatter(W_MIN_DIGITS, W_MAX_DIGITS);
106 }
107
108
109 /**
110 * Returns the number formatter for Q values.
111 *
112 * @return the number formatter for Q values.
113 */
114 protected NumberFormat getQFormatter() {
115 return getFormatter(Q_MIN_DIGITS, Q_MAX_DIGITS);
116 }
87 } 117 }
88 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 118 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org