Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 90:6bdef6e590d6
Added CSV-Support and do some performanceimprovments
gnv-artifacts/trunk@132 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Thu, 24 Sep 2009 15:27:33 +0000 |
parents | 5d4f5d26bb7a |
children | bd284d8306db |
comparison
equal
deleted
inserted
replaced
89:cde042a0a395 | 90:6bdef6e590d6 |
---|---|
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; | |
10 import java.util.Collection; | 11 import java.util.Collection; |
11 import java.util.Iterator; | 12 import java.util.Iterator; |
12 | 13 |
13 import org.apache.log4j.Logger; | 14 import org.apache.log4j.Logger; |
15 | |
16 import au.com.bytecode.opencsv.CSVWriter; | |
14 | 17 |
15 import de.intevation.gnv.chart.ChartFactory; | 18 import de.intevation.gnv.chart.ChartFactory; |
16 import de.intevation.gnv.chart.ChartLabels; | 19 import de.intevation.gnv.chart.ChartLabels; |
17 import de.intevation.gnv.chart.ChartStyle; | 20 import de.intevation.gnv.chart.ChartStyle; |
18 import de.intevation.gnv.chart.exception.TechnicalChartException; | 21 import de.intevation.gnv.chart.exception.TechnicalChartException; |
56 | 59 |
57 /** | 60 /** |
58 * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, java.io.OutputStream) | 61 * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, java.io.OutputStream) |
59 */ | 62 */ |
60 public void out(String outputMode, OutputStream outputStream) throws TransitionException { | 63 public void out(String outputMode, OutputStream outputStream) throws TransitionException { |
61 log.debug("TimeSeriesOutputTransition"); | 64 log.debug("TimeSeriesOutputTransition.out"); |
62 try { | 65 try { |
63 this.advance(); | 66 this.advance(); |
64 Collection<KeyValueDescibeData> parameters = this.getParameters(); | 67 if (outputMode.equalsIgnoreCase("chart")){ |
65 Collection<KeyValueDescibeData> measurements = this.getMeasurements(); | 68 log.debug("Chart will be generated."); |
66 ChartStyle chartStyle = this.creatStyle(600,400); | 69 Collection<KeyValueDescibeData> parameters = this.getParameters(); |
67 ChartLabels chartLables = new ChartLabels(this.getSelectedFeatureName(),this.domainLable); | 70 Collection<KeyValueDescibeData> measurements = this.getMeasurements(); |
68 this.createChart(outputStream, parameters, measurements, | 71 ChartStyle chartStyle = this.creatStyle(600,400); |
69 chartStyle, chartLables); | 72 ChartLabels chartLables = new ChartLabels(this.getSelectedFeatureName(),this.domainLable); |
73 this.createChart(outputStream, parameters, measurements, | |
74 chartStyle, chartLables); | |
75 }else if (outputMode.equalsIgnoreCase("csv")){ | |
76 log.debug("CSV-File will be generated."); | |
77 if(this.chartResult != null){ | |
78 CSVWriter writer = new CSVWriter(new OutputStreamWriter(outputStream,"ISO-8859-1"), ','); // USE THIS ENCODING BECAUSE OF PROBLEMS WITH EXCEL AND UTF-8 | |
79 Iterator<Result>it = this.chartResult.iterator(); | |
80 while (it.hasNext()){ | |
81 Result result = it.next(); | |
82 int i = 0; | |
83 String[] entries = new String[5]; | |
84 entries[i++] = result.getString("XORDINATE"); | |
85 entries[i++] = result.getString("YORDINATE"); | |
86 entries[i++] = result.getString("GROUP1"); | |
87 entries[i++] = result.getString("GROUP2"); | |
88 entries[i++] = result.getString("GROUP3"); | |
89 writer.writeNext(entries); | |
90 } | |
91 writer.close(); | |
92 }else{ | |
93 log.error("No Data given for generation an CSV-File."); | |
94 throw new TransitionException("No Data given for generation an CSV-File."); | |
95 } | |
96 } | |
70 } catch (IOException e) { | 97 } catch (IOException e) { |
71 log.error(e,e); | 98 log.error(e,e); |
72 throw new TransitionException(e); | 99 throw new TransitionException(e); |
73 } catch (TechnicalChartException e) { | 100 } catch (TechnicalChartException e) { |
74 log.error(e,e); | 101 log.error(e,e); |