Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 232:3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
gnv-artifacts/trunk@300 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 09 Nov 2009 08:55:01 +0000 |
parents | f68ffbe974a0 |
children | 2ceb4bf51cba |
comparison
equal
deleted
inserted
replaced
231:74255064a4c5 | 232:3d6d89bcbf42 |
---|---|
5 | 5 |
6 import java.awt.Color; | 6 import java.awt.Color; |
7 import java.awt.Dimension; | 7 import java.awt.Dimension; |
8 import java.io.IOException; | 8 import java.io.IOException; |
9 import java.io.OutputStream; | 9 import java.io.OutputStream; |
10 import java.io.OutputStreamWriter; | |
11 import java.io.PrintWriter; | |
12 import java.io.UnsupportedEncodingException; | 10 import java.io.UnsupportedEncodingException; |
13 import java.util.ArrayList; | 11 import java.util.ArrayList; |
14 import java.util.Collection; | 12 import java.util.Collection; |
15 import java.util.Iterator; | 13 import java.util.Iterator; |
16 import java.util.List; | 14 import java.util.List; |
37 import de.intevation.gnv.artifacts.ressource.RessourceFactory; | 35 import de.intevation.gnv.artifacts.ressource.RessourceFactory; |
38 import de.intevation.gnv.chart.ChartFactory; | 36 import de.intevation.gnv.chart.ChartFactory; |
39 import de.intevation.gnv.chart.ChartLabels; | 37 import de.intevation.gnv.chart.ChartLabels; |
40 import de.intevation.gnv.chart.ChartStyle; | 38 import de.intevation.gnv.chart.ChartStyle; |
41 import de.intevation.gnv.chart.exception.TechnicalChartException; | 39 import de.intevation.gnv.chart.exception.TechnicalChartException; |
40 import de.intevation.gnv.exports.DefaultExport; | |
41 import de.intevation.gnv.exports.DefaultProfile; | |
42 import de.intevation.gnv.exports.Export.Profile; | |
42 import de.intevation.gnv.geobackend.base.Result; | 43 import de.intevation.gnv.geobackend.base.Result; |
43 import de.intevation.gnv.statistics.Statistic; | 44 import de.intevation.gnv.statistics.Statistic; |
44 import de.intevation.gnv.statistics.Statistics; | 45 import de.intevation.gnv.statistics.Statistics; |
45 import de.intevation.gnv.statistics.TimeseriesStatistics; | 46 import de.intevation.gnv.statistics.TimeseriesStatistics; |
46 import de.intevation.gnv.statistics.exception.StatisticsException; | 47 import de.intevation.gnv.statistics.exception.StatisticsException; |
49 import de.intevation.gnv.transition.InputData; | 50 import de.intevation.gnv.transition.InputData; |
50 import de.intevation.gnv.transition.OutputTransitionBase; | 51 import de.intevation.gnv.transition.OutputTransitionBase; |
51 import de.intevation.gnv.transition.describedata.KeyValueDescibeData; | 52 import de.intevation.gnv.transition.describedata.KeyValueDescibeData; |
52 import de.intevation.gnv.transition.describedata.NamedCollection; | 53 import de.intevation.gnv.transition.describedata.NamedCollection; |
53 import de.intevation.gnv.transition.exception.TransitionException; | 54 import de.intevation.gnv.transition.exception.TransitionException; |
54 | |
55 import de.intevation.gnv.exports.DefaultExport; | |
56 import de.intevation.gnv.exports.DefaultProfile; | |
57 import de.intevation.gnv.exports.Export.Profile; | |
58 | |
59 import de.intevation.gnv.utils.ArtifactXMLUtilities; | 55 import de.intevation.gnv.utils.ArtifactXMLUtilities; |
60 | 56 |
61 | 57 |
62 /** | 58 /** |
63 * @author Tim Englich <tim.englich@intevation.de> | 59 * @author Tim Englich <tim.englich@intevation.de> |
91 "YORDINATE", | 87 "YORDINATE", |
92 "GROUP1", | 88 "GROUP1", |
93 "GROUP2", | 89 "GROUP2", |
94 "GROUP3" | 90 "GROUP3" |
95 }; | 91 }; |
92 | |
93 public static final String [] TIMESERIES_ODV_PROFILE_NAMES = { | |
94 "CRUISE", | |
95 "STATION", | |
96 "TYPE", | |
97 "BOTDEPTH", | |
98 "DEPTH", | |
99 "TIMEVALUE", | |
100 "DATAVALUE", | |
101 "PARAMETER", | |
102 "MEASUREMENTID", | |
103 "TIMESERIESID" | |
104 }; | |
96 | 105 |
97 /** | 106 /** |
98 * Profile for exporting data to cvs | 107 * Profile for exporting data to cvs |
99 */ | 108 */ |
100 public static final Profile TIMESERIES_CSV_PROFILE = | 109 public static final Profile TIMESERIES_CSV_PROFILE = |
110 * Profile for exporting data to odv | 119 * Profile for exporting data to odv |
111 * TODO Change TIMESERIES_PROFILE_NAMES, which belong to CSV exports | 120 * TODO Change TIMESERIES_PROFILE_NAMES, which belong to CSV exports |
112 */ | 121 */ |
113 public static final Profile TIMESERIES_ODV_PROFILE = | 122 public static final Profile TIMESERIES_ODV_PROFILE = |
114 new DefaultProfile( | 123 new DefaultProfile( |
115 TIMESERIES_CSV_PROFILE_NAMES, | 124 TIMESERIES_ODV_PROFILE_NAMES, |
116 '\t', | 125 '\t', |
117 CSVWriter.NO_QUOTE_CHARACTER, | 126 CSVWriter.NO_QUOTE_CHARACTER, |
118 CSVWriter.NO_ESCAPE_CHARACTER, | 127 CSVWriter.NO_ESCAPE_CHARACTER, |
119 "ODV", | 128 "ODV", |
120 "ISO-8859-1"); | 129 "ISO-8859-1"); |
135 OutputStream outputStream, String uuid, CallMeta callMeta) | 144 OutputStream outputStream, String uuid, CallMeta callMeta) |
136 throws TransitionException { | 145 throws TransitionException { |
137 log.debug("TimeSeriesOutputTransition.out"); | 146 log.debug("TimeSeriesOutputTransition.out"); |
138 try { | 147 try { |
139 | 148 |
140 this.advance(uuid, callMeta); | 149 this.advance(uuid, callMeta); // TODO This hsould only be done if it is nessessary |
141 Collection<Result> chartResult = this.getChartResult(uuid); | 150 |
142 if (outputMode.equalsIgnoreCase("chart")) { | 151 if (outputMode.equalsIgnoreCase("chart")) { |
143 log.debug("Chart will be generated."); | 152 log.debug("Chart will be generated."); |
144 int chartWidth = 600; | 153 int chartWidth = 600; |
145 int chartHeight = 400; | 154 int chartHeight = 400; |
146 try { | 155 try { |
168 .getSelectedFeatureName(uuid), this.domainLable); | 177 .getSelectedFeatureName(uuid), this.domainLable); |
169 this.createChart(outputStream, parameters, measurements,dates, | 178 this.createChart(outputStream, parameters, measurements,dates, |
170 chartStyle, chartLables, uuid); | 179 chartStyle, chartLables, uuid); |
171 } else if (outputMode.equalsIgnoreCase("csv")) { | 180 } else if (outputMode.equalsIgnoreCase("csv")) { |
172 log.debug("CSV-File will be generated."); | 181 log.debug("CSV-File will be generated."); |
182 Collection<Result> chartResult = this.getChartResult(uuid); | |
173 this.createCSV(outputStream, chartResult); | 183 this.createCSV(outputStream, chartResult); |
174 } else if (outputMode.equalsIgnoreCase("statistics")) { | 184 } else if (outputMode.equalsIgnoreCase("statistics")) { |
175 log.debug("Statistics will be generated."); | 185 log.debug("Statistics will be generated."); |
176 Statistics s = getStatisticsGenerator(); | 186 Statistics s = getStatisticsGenerator(); |
187 Collection<Result> chartResult = this.getChartResult(uuid); | |
177 Collection<Statistic> statistics = s | 188 Collection<Statistic> statistics = s |
178 .calculateStatistics(chartResult); | 189 .calculateStatistics(chartResult); |
179 Document doc = this.writeStatistics2XML(statistics); | 190 Document doc = this.writeStatistics2XML(statistics); |
180 this.writeDocument2OutputStream(doc, outputStream); | 191 this.writeDocument2OutputStream(doc, outputStream); |
181 } else if (outputMode.equalsIgnoreCase("odv")) { | 192 } else if (outputMode.equalsIgnoreCase("odv")) { |
182 //TimeSeriesExport export = new TimeSeriesExport(); | 193 //TimeSeriesExport export = new TimeSeriesExport(); |
183 //export.createODV(outputStream, chartResult); | 194 //export.createODV(outputStream, chartResult); |
184 createODV(outputStream, chartResult); | 195 |
196 Collection<Result> odvResult = this.getODVResult(uuid); | |
197 this.createODV(outputStream, odvResult); | |
185 } | 198 } |
186 } catch (IOException e) { | 199 } catch (IOException e) { |
187 log.error(e, e); | 200 log.error(e, e); |
188 throw new TransitionException(e); | 201 throw new TransitionException(e); |
189 } catch (TechnicalChartException e) { | 202 } catch (TechnicalChartException e) { |