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 }

http://dive4elements.wald.intevation.org