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