diff flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java @ 1735:5966a20fc72c

Enabled support for PDF and SVG chart exports. flys-artifacts/trunk@3023 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 19 Oct 2011 09:43:04 +0000
parents f708120cb7bc
children 0155cbaba182
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java	Tue Oct 18 15:34:07 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java	Wed Oct 19 09:43:04 2011 +0000
@@ -98,13 +98,44 @@
 
         JFreeChart chart = generateChart();
 
-        int[] size = getSize();
+        String format = getFormat();
+        int[]  size   = getSize();
 
-        ChartExportHelper.exportImage(
-            out,
-            chart,
-            "png",
-            size[0], size[1]);
+        context.putContextValue("chart.width", size[0]);
+        context.putContextValue("chart.height", size[1]);
+
+        if (format.equals(ChartExportHelper.FORMAT_PNG)) {
+            context.putContextValue("chart.image.format", "png");
+
+            ChartExportHelper.exportImage(
+                out,
+                chart,
+                context);
+        }
+        else if (format.equals(ChartExportHelper.FORMAT_PDF)) {
+            context.putContextValue("chart.marginLeft", 5f);
+            context.putContextValue("chart.marginRight", 5f);
+            context.putContextValue("chart.marginTop", 5f);
+            context.putContextValue("chart.marginBottom", 5f);
+            context.putContextValue(
+                "chart.page.format",
+                ChartExportHelper.DEFAULT_PAGE_SIZE);
+
+            ChartExportHelper.exportPDF(
+                out,
+                chart,
+                context);
+        }
+        else if (format.equals(ChartExportHelper.FORMAT_SVG)) {
+            context.putContextValue(
+                "chart.encoding",
+                ChartExportHelper.DEFAULT_ENCODING);
+
+            ChartExportHelper.exportSVG(
+                out,
+                chart,
+                context);
+        }
     }
 
 

http://dive4elements.wald.intevation.org