Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java @ 234:a7fa7b404897
HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
gnv-artifacts/trunk@302 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 09 Nov 2009 09:52:18 +0000 |
parents | 5fc8f41669a6 |
children | c8ecc0c0bcb4 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java Mon Nov 09 09:43:52 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java Mon Nov 09 09:52:18 2009 +0000 @@ -29,6 +29,11 @@ import de.intevation.gnv.transition.exception.TransitionException; import de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition; +import de.intevation.gnv.exports.DefaultExport; +import de.intevation.gnv.exports.HorizontalProfileDataCollector; +import de.intevation.gnv.exports.DefaultProfile; +import de.intevation.gnv.exports.Export.Profile; + /** * @author Tim Englich <tim.englich@intevation.de> * @@ -42,6 +47,23 @@ private static Logger log = Logger .getLogger(HorizontalProfileOutputTransition.class); + + public static final String [] TIMESERIES_CSV_PROFILE_NAMES = { + "SHAPE", + "YORDINATE", + "GROUP1", + "GROUP2", + "GROUP3" + }; + + public static final Profile TIMESERIES_CSV_PROFILE = + new DefaultProfile( + ',', + '"', + '"', + "CSV", + "ISO-8859-1"); + /** * Constructor */ @@ -84,38 +106,12 @@ IOException, TransitionException { - if (chartResult != null) { - try { - 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(); - WKTReader wktReader = new WKTReader(); - while (it.hasNext()) { - Result result = it.next(); - int i = 0; - String[] entries = new String[6]; - Point p = (Point)wktReader.read(result.getString("SHAPE")); - entries[i++] = ""+p.getX(); - entries[i++] = ""+p.getY(); - 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(); - } catch (ParseException e) { - log.error(e,e); - throw new TransitionException( - "Exception occured while parsing an Point from WKT."); - } - } else { - log.error("No Data given for generation an CSV-File."); - throw new TransitionException( - "No Data given for generation an CSV-File."); - } + log.debug("createCSV for HorizontalProfileOutputTransition."); + DefaultExport export = new DefaultExport( + new HorizontalProfileDataCollector(TIMESERIES_CSV_PROFILE_NAMES)); + + export.create(TIMESERIES_CSV_PROFILE, outputStream, chartResult); + }