Mercurial > dive4elements > river
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 : |