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() {

http://dive4elements.wald.intevation.org