comparison flys-artifacts/src/main/java/de/intevation/flys/exports/DeltaWtExporter.java @ 3026:65b6e27c6f25

FixA: Use new data structures in Delta W(t) exporter. Removed obsolete code. flys-artifacts/trunk@4593 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 05 Jun 2012 16:25:51 +0000
parents ce796f1db30e
children 04952869e4fa
comparison
equal deleted inserted replaced
3025:5d286d7e54cd 3026:65b6e27c6f25
5 import de.intevation.artifacts.CallContext; 5 import de.intevation.artifacts.CallContext;
6 import de.intevation.artifacts.CallMeta; 6 import de.intevation.artifacts.CallMeta;
7 7
8 import de.intevation.flys.artifacts.model.CalculationResult; 8 import de.intevation.flys.artifacts.model.CalculationResult;
9 9
10 import de.intevation.flys.artifacts.model.fixings.DeltaWT;
11 import de.intevation.flys.artifacts.model.fixings.DeltaWTsKM;
12 import de.intevation.flys.artifacts.model.fixings.FixResult; 10 import de.intevation.flys.artifacts.model.fixings.FixResult;
11 import de.intevation.flys.artifacts.model.fixings.AnalysisPeriod;
12 import de.intevation.flys.artifacts.model.fixings.QWD;
13 13
14 import de.intevation.flys.artifacts.resources.Resources; 14 import de.intevation.flys.artifacts.resources.Resources;
15 15
16 import de.intevation.flys.utils.Formatter; 16 import de.intevation.flys.utils.Formatter;
17 import de.intevation.flys.utils.KMIndex;
17 18
18 import java.io.IOException; 19 import java.io.IOException;
19 import java.io.OutputStream; 20 import java.io.OutputStream;
20 21
21 import java.text.DateFormat; 22 import java.text.DateFormat;
53 54
54 public static final String DEFAULT_CSV_T_HEADER = "Datum"; 55 public static final String DEFAULT_CSV_T_HEADER = "Datum";
55 56
56 public static final String DEFAULT_CSV_T_DESC_HEADER = "Beschreibung"; 57 public static final String DEFAULT_CSV_T_DESC_HEADER = "Beschreibung";
57 58
58 protected List<DeltaWTsKM> deltaWTsKMs; 59 protected List<KMIndex<AnalysisPeriod []>> analysisPeriods;
59 60
60 @Override 61 @Override
61 public void init(Document request, OutputStream out, CallContext context) { 62 public void init(Document request, OutputStream out, CallContext context) {
62 log.debug("DeltaWtExporter.init"); 63 log.debug("DeltaWtExporter.init");
63 super.init(request, out, context); 64 super.init(request, out, context);
64 deltaWTsKMs = new ArrayList<DeltaWTsKM>(); 65 analysisPeriods = new ArrayList<KMIndex<AnalysisPeriod []>>();
65 } 66 }
66 67
67 @Override 68 @Override
68 public void generate() throws IOException { 69 public void generate() throws IOException {
69 log.debug("DeltaWtExporter.generate"); 70 log.debug("DeltaWtExporter.generate");
92 Object data = ((CalculationResult)d).getData(); 93 Object data = ((CalculationResult)d).getData();
93 if (!(data instanceof FixResult)) { 94 if (!(data instanceof FixResult)) {
94 log.warn("Invalid data stored in result."); 95 log.warn("Invalid data stored in result.");
95 } 96 }
96 FixResult result = (FixResult)data; 97 FixResult result = (FixResult)data;
97 // TODO: replace old code 98 analysisPeriods.add(result.getAnalysisPeriods());
98 //deltaWTsKMs.add(result.getDeltaWTsKM());
99 } 99 }
100 100
101 @Override 101 @Override
102 protected void writeCSVData(CSVWriter writer) throws IOException { 102 protected void writeCSVData(CSVWriter writer) throws IOException {
103 103
111 CallMeta meta = context.getMeta(); 111 CallMeta meta = context.getMeta();
112 Locale locale = Resources.getLocale(meta); 112 Locale locale = Resources.getLocale(meta);
113 DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT, locale); 113 DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT, locale);
114 114
115 if (debug) { 115 if (debug) {
116 log.debug("DeltaWTsKMs: " + deltaWTsKMs.size()); 116 log.debug("AnalysisPeriods: " + analysisPeriods.size());
117 } 117 }
118 118
119 for (DeltaWTsKM deltaWTsKM: deltaWTsKMs) { 119 for (KMIndex<AnalysisPeriod []> periods: analysisPeriods) {
120 List<DeltaWTsKM.KM> dkms = deltaWTsKM.getKms();
121 if (debug) {
122 log.debug("DeltaWTsKM.KM: " + dkms.size());
123 }
124 for (DeltaWTsKM.KM dkm: dkms) {
125 double km = dkm.getKm();
126 String kmS = kmF.format(km);
127 List<DeltaWT> deltaWTs = dkm.getDeltaWTs();
128 if (debug) {
129 log.debug("deltaWTs: " + deltaWTs.size());
130 }
131 for (DeltaWT dwt: deltaWTs) {
132 double deltaW = dwt.getDeltaW();
133 Date date = dwt.getDate();
134 String desc = dwt.getDescription();
135 120
136 String deltaWS = dwF.format(deltaW); 121 for (KMIndex.Entry<AnalysisPeriod []> kmEntry: periods) {
137 String dateS = dF.format(date);
138 122
139 writer.writeNext(new String[] { 123 String kmS = kmF.format(kmEntry.getKm());
140 kmS, 124
141 deltaWS, 125 for (AnalysisPeriod period: kmEntry.getValue()) {
142 dateS, 126 QWD [] qwds = period.getQWDs();
143 desc != null ? desc : "" }); 127 if (qwds != null) {
128 for (QWD qwd: qwds) {
129 double deltaW = qwd.getDeltaW();
130 Date date = qwd.getDate();
131 String desc = qwd.getDescription();
132
133 String deltaWS = dwF.format(deltaW);
134 String dateS = dF.format(date);
135
136 writer.writeNext(new String[] {
137 kmS,
138 deltaWS,
139 dateS,
140 desc != null ? desc : "" });
141 }
142 }
144 } 143 }
145 } 144 }
146 } 145 }
147 writer.flush(); 146 writer.flush();
148 } 147 }

http://dive4elements.wald.intevation.org