Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 177:08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
gnv-artifacts/trunk@221 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Thu, 15 Oct 2009 12:43:46 +0000 |
parents | 7fb9441dd8af |
children | 9bcf315f57e4 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Wed Oct 14 10:49:35 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Thu Oct 15 12:43:46 2009 +0000 @@ -8,6 +8,7 @@ import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; import java.util.Collection; import java.util.Iterator; @@ -127,32 +128,7 @@ chartStyle, chartLables, uuid); } else if (outputMode.equalsIgnoreCase("csv")) { log.debug("CSV-File will be generated."); - if (chartResult != null) { - CSVWriter writer = new CSVWriter(new OutputStreamWriter( - outputStream, "ISO-8859-1"), ','); // USE THIS - // ENCODING - // BECAUSE OF - // PROBLEMS WITH - // EXCEL AND - // UTF-8 - Iterator<Result> it = chartResult.iterator(); - while (it.hasNext()) { - Result result = it.next(); - int i = 0; - String[] entries = new String[5]; - entries[i++] = result.getString("XORDINATE"); - entries[i++] = result.getString("YORDINATE"); - entries[i++] = result.getString("GROUP1"); - entries[i++] = result.getString("GROUP2"); - entries[i++] = result.getString("GROUP3"); - writer.writeNext(entries); - } - writer.close(); - } else { - log.error("No Data given for generation an CSV-File."); - throw new TransitionException( - "No Data given for generation an CSV-File."); - } + this.createCSV(outputStream, chartResult); } else if (outputMode.equalsIgnoreCase("statistics")) { log.debug("Statistics will be generated."); Statistics s = getStatisticsGenerator(); @@ -174,6 +150,43 @@ } /** + * @param outputStream + * @param chartResult + * @throws UnsupportedEncodingException + * @throws IOException + * @throws TransitionException + */ + protected void createCSV(OutputStream outputStream, + Collection<Result> chartResult) + throws UnsupportedEncodingException, + IOException, + TransitionException { + if (chartResult != null) { + CSVWriter writer = new CSVWriter(new OutputStreamWriter( + outputStream, "ISO-8859-1"), ','); + // USE THIS ENCODING BECAUSE OF + // PROBLEMS WITH EXCEL AND UTF-8 + Iterator<Result> it = chartResult.iterator(); + while (it.hasNext()) { + Result result = it.next(); + int i = 0; + String[] entries = new String[5]; + entries[i++] = result.getString("XORDINATE"); + entries[i++] = result.getString("YORDINATE"); + entries[i++] = result.getString("GROUP1"); + entries[i++] = result.getString("GROUP2"); + entries[i++] = result.getString("GROUP3"); + writer.writeNext(entries); + } + writer.close(); + } else { + log.error("No Data given for generation an CSV-File."); + throw new TransitionException( + "No Data given for generation an CSV-File."); + } + } + + /** * @return */ protected Statistics getStatisticsGenerator() {