Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveExporter.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 DurationCurveExporter extends AbstractExporter { | 24 public class DurationCurveExporter 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); |
27 | 28 |
29 | |
30 public static final int W_MIN_DIGITS = 0; | |
31 public static final int W_MAX_DIGITS = 2; | |
32 public static final int Q_MIN_DIGITS = 0; | |
33 public static final int Q_MAX_DIGITS = 1; | |
34 public static final int D_MIN_DIGITS = 0; | |
35 public static final int D_MAX_DIGITS = 0; | |
28 | 36 |
29 public static final String CSV_DURATION_HEADER = | 37 public static final String CSV_DURATION_HEADER = |
30 "export.duration.curve.csv.header.duration"; | 38 "export.duration.curve.csv.header.duration"; |
31 | 39 |
32 public static final String CSV_W_HEADER = | 40 public static final String CSV_W_HEADER = |
84 protected void wQDay2CSV(CSVWriter writer, WQDay wqday) { | 92 protected void wQDay2CSV(CSVWriter writer, WQDay wqday) { |
85 logger.debug("DurationCurveExporter.wQDay2CSV"); | 93 logger.debug("DurationCurveExporter.wQDay2CSV"); |
86 | 94 |
87 int size = wqday.size(); | 95 int size = wqday.size(); |
88 | 96 |
97 NumberFormat wf = getWFormatter(); | |
98 NumberFormat qf = getQFormatter(); | |
99 NumberFormat df = getDFormatter(); | |
100 | |
89 for (int i = 0; i < size; i ++) { | 101 for (int i = 0; i < size; i ++) { |
90 writer.writeNext(new String[] { | 102 writer.writeNext(new String[] { |
91 Double.toString(wqday.getW(i)), | 103 wf.format(wqday.getW(i)), |
92 Double.toString(wqday.getQ(i)), | 104 qf.format(wqday.getQ(i)), |
93 Double.toString(wqday.getDay(i)) | 105 df.format(wqday.getDay(i)) |
94 }); | 106 }); |
95 } | 107 } |
96 } | 108 } |
109 | |
110 | |
111 /** | |
112 * Returns the number formatter for W values. | |
113 * | |
114 * @return the number formatter for W values. | |
115 */ | |
116 protected NumberFormat getWFormatter() { | |
117 return getFormatter(W_MIN_DIGITS, W_MAX_DIGITS); | |
118 } | |
119 | |
120 | |
121 /** | |
122 * Returns the number formatter for Q values. | |
123 * | |
124 * @return the number formatter for Q values. | |
125 */ | |
126 protected NumberFormat getQFormatter() { | |
127 return getFormatter(Q_MIN_DIGITS, Q_MAX_DIGITS); | |
128 } | |
129 | |
130 | |
131 /** | |
132 * Returns the number formatter for duration values. | |
133 * | |
134 * @return the number formatter for duration values. | |
135 */ | |
136 protected NumberFormat getDFormatter() { | |
137 return getFormatter(D_MIN_DIGITS, D_MAX_DIGITS); | |
138 } | |
97 } | 139 } |