Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java @ 3077:5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
flys-artifacts/trunk@4672 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 15 Jun 2012 10:17:22 +0000 |
parents | |
children | ed07dd55f487 |
comparison
equal
deleted
inserted
replaced
3076:5642a83420f2 | 3077:5c87d4ca1bd3 |
---|---|
1 package de.intevation.flys.exports; | |
2 | |
3 import java.io.OutputStream; | |
4 import java.util.ArrayList; | |
5 import java.util.List; | |
6 | |
7 import org.w3c.dom.Document; | |
8 | |
9 import org.apache.log4j.Logger; | |
10 | |
11 import au.com.bytecode.opencsv.CSVWriter; | |
12 | |
13 import de.intevation.artifacts.CallContext; | |
14 | |
15 import de.intevation.flys.artifacts.model.CalculationResult; | |
16 | |
17 | |
18 /** | |
19 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
20 */ | |
21 public class SQRelationExporter extends AbstractExporter { | |
22 | |
23 /** Private logger. */ | |
24 private static final Logger logger = | |
25 Logger.getLogger(SQRelationExporter.class); | |
26 | |
27 | |
28 public static final String CSV_PARAMETER = | |
29 "export.sqrelation.csv.header.parameter"; | |
30 | |
31 public static final String CSV_STATION = | |
32 "export.sqrelation.csv.header.station"; | |
33 | |
34 public static final String CSV_KM = | |
35 "export.sqrelation.csv.header.km"; | |
36 | |
37 public static final String CSV_FUNCTION = | |
38 "export.sqrelation.csv.header.function"; | |
39 | |
40 public static final String CSV_GAUGE = | |
41 "export.sqrelation.csv.header.gauge"; | |
42 | |
43 public static final String CSV_COEFF_A = | |
44 "export.sqrelation.csv.header.coeff.a"; | |
45 | |
46 public static final String CSV_COEFF_B = | |
47 "export.sqrelation.csv.header.coeff.b"; | |
48 | |
49 public static final String CSV_COEFF_Q = | |
50 "export.sqrelation.csv.header.coeff.q"; | |
51 | |
52 public static final String CSV_COEFF_R = | |
53 "export.sqrelation.csv.header.coeff.r"; | |
54 | |
55 public static final String CSV_N_TOTAL = | |
56 "export.sqrelation.csv.header.n.total"; | |
57 | |
58 public static final String CSV_N_OUTLIERS = | |
59 "export.sqrelation.csv.header.n.outliers"; | |
60 | |
61 public static final String CSV_C_DUAN = | |
62 "export.sqrelation.csv.header.c.duan"; | |
63 | |
64 public static final String CSV_C_FERGUSON = | |
65 "export.sqrelation.csv.header.c.ferguson"; | |
66 | |
67 public static final String CSV_VARIANCE = | |
68 "export.sqrelation.csv.header.variance"; | |
69 | |
70 | |
71 // TODO use correct model class here! | |
72 protected List<Object[]> data; | |
73 | |
74 | |
75 public void init(Document request, OutputStream out, CallContext cc) { | |
76 super.init(request, out, cc); | |
77 data = new ArrayList<Object[]>(); | |
78 } | |
79 | |
80 | |
81 @Override | |
82 protected void addData(Object d) { | |
83 if (d instanceof CalculationResult) { | |
84 d = ((CalculationResult) d).getData(); | |
85 | |
86 if (d instanceof Object[]) { | |
87 logger.debug("Add new data of type XXX"); | |
88 data.add((Object[]) d); | |
89 } | |
90 } | |
91 } | |
92 | |
93 | |
94 @Override | |
95 protected void writeCSVData(CSVWriter writer) { | |
96 logger.debug("writeCSVData"); | |
97 logger.error("NOT IMPLEMENTED: writeCSVData"); | |
98 | |
99 logger.debug("CSV gets " + data.size() + " rows."); | |
100 | |
101 writeCSVHeader(writer); | |
102 | |
103 for (Object[] d: data) { | |
104 data2CSV(writer, d); | |
105 } | |
106 } | |
107 | |
108 | |
109 protected void writeCSVHeader(CSVWriter writer) { | |
110 writer.writeNext(new String[] { | |
111 msg(CSV_PARAMETER, CSV_PARAMETER), | |
112 msg(CSV_STATION, CSV_STATION), | |
113 msg(CSV_KM , CSV_KM), | |
114 msg(CSV_FUNCTION , CSV_FUNCTION), | |
115 msg(CSV_GAUGE , CSV_GAUGE), | |
116 msg(CSV_COEFF_A , CSV_COEFF_A), | |
117 msg(CSV_COEFF_B , CSV_COEFF_B), | |
118 msg(CSV_COEFF_Q , CSV_COEFF_Q), | |
119 msg(CSV_COEFF_R , CSV_COEFF_R), | |
120 msg(CSV_N_TOTAL , CSV_N_TOTAL), | |
121 msg(CSV_N_OUTLIERS, CSV_N_OUTLIERS), | |
122 msg(CSV_C_DUAN , CSV_C_DUAN), | |
123 msg(CSV_C_FERGUSON, CSV_C_FERGUSON), | |
124 msg(CSV_VARIANCE , CSV_VARIANCE) | |
125 }); | |
126 } | |
127 | |
128 | |
129 protected void data2CSV(CSVWriter writer, Object[] mData) { | |
130 logger.debug("data2CSV"); | |
131 logger.error("NOT IMPLEMENTED: data2CSV"); | |
132 } | |
133 | |
134 | |
135 @Override | |
136 protected void writePDF(OutputStream out) { | |
137 logger.debug("writePDF"); | |
138 logger.error("NOT IMPLEMENTED: writePDF"); | |
139 } | |
140 } | |
141 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |