Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/ChartExportHelper.java @ 6601:5ecc6d4d73f2
Add official fixings to Waterlevel CSV Export (issue1384)
This searches the collection for staticwqkms artifacts that
contain official data and adds that data to the export.
The data is filtered by the calculation range and sorted by the
calculation direction.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 18 Jul 2013 13:16:33 +0200 |
parents | af13ceeba52a |
children | 1f6c0915a58d |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5862
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5862
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5862
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5862
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5862
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5862
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3284
diff
changeset
|
9 package org.dive4elements.river.exports; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import com.lowagie.text.Document; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import com.lowagie.text.DocumentException; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.lowagie.text.PageSize; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import com.lowagie.text.Rectangle; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import com.lowagie.text.pdf.PdfContentByte; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import com.lowagie.text.pdf.PdfTemplate; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import com.lowagie.text.pdf.PdfWriter; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 import java.awt.Graphics2D; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import java.awt.Transparency; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import java.awt.geom.Rectangle2D.Double; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 import java.awt.geom.Rectangle2D; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 import java.io.IOException; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 import java.io.OutputStream; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 import java.io.OutputStreamWriter; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 import java.io.UnsupportedEncodingException; |
1036
e6aff80b59ff
Added proof-of-concept collision detection for text annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
714
diff
changeset
|
31 import org.jfree.chart.ChartRenderingInfo; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 import javax.imageio.ImageIO; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
2231
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
35 import au.com.bytecode.opencsv.CSVWriter; |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
36 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 import org.apache.batik.svggen.SVGGraphics2D; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 import org.apache.batik.svggen.SVGGraphics2DIOException; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 import org.apache.log4j.Logger; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 import org.jfree.chart.JFreeChart; |
2231
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
43 import org.jfree.chart.plot.XYPlot; |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
44 import org.jfree.data.xy.XYDataset; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3284
diff
changeset
|
46 import org.dive4elements.artifacts.CallContext; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3284
diff
changeset
|
48 import org.dive4elements.artifacts.common.utils.XMLUtils; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 * This class is a helper class which supports some methods to export charts |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 * into specific formats. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 */ |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 public class ChartExportHelper { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
59 public static final String FORMAT_PNG = "png"; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
60 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
61 public static final String FORMAT_PDF = "pdf"; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
62 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
63 public static final String FORMAT_SVG = "svg"; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
64 |
2231
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
65 public static final String FORMAT_CSV = "csv"; |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
66 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 * Constant field to define A4 as default page size. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 */ |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
70 public static final String DEFAULT_PAGE_SIZE = "A4"; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 * Constant field to define UTF-8 as default encoding. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 */ |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
75 public static final String DEFAULT_ENCODING = "UTF-8"; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 |
2231
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
77 /** The default separator for the CSV export. */ |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
78 public static final char DEFAULT_CSV_SEPARATOR = ','; |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
79 |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
80 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 * Logger used for logging with log4j. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 */ |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 private static Logger log = Logger.getLogger(ChartExportHelper.class); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 * A method to export a <code>JFreeChart</code> as image to an |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 * <code>OutputStream</code> with a given format, width and height. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 * @param out OutputStream |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 * @param chart JFreeChart object to be exported. |
3270
4ac581062c40
Fix various documentation issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2231
diff
changeset
|
93 * @param cc context, in which e.g. size is stored. |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 * @throws IOException if writing image to OutputStream failed. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 */ |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 public static void exportImage( |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 OutputStream out, |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
99 JFreeChart chart, |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
100 CallContext cc |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 ) |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 throws IOException |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 log.info("export chart as png"); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 |
1036
e6aff80b59ff
Added proof-of-concept collision detection for text annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
714
diff
changeset
|
106 ChartRenderingInfo info = new ChartRenderingInfo(); |
e6aff80b59ff
Added proof-of-concept collision detection for text annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
714
diff
changeset
|
107 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
108 String format = (String) cc.getContextValue("chart.image.format"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
109 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
110 int[] size = getSize(cc); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
111 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 ImageIO.write( |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 chart.createBufferedImage( |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
114 size[0], size[1], Transparency.BITMASK, info |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 ), |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 format, |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 out |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 ); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 * A method to export a <code>JFreeChart</code> as SVG to an |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 * <code>OutputStream</code>. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 * @param out OutputStream |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 * @param chart JFreeChart to be exported |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
128 * @param context The CallContext object that contains extra chart |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
129 * parameters. |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 */ |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 public static void exportSVG( |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 OutputStream out, |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 JFreeChart chart, |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
134 CallContext context |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 ) { |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
136 String encoding = (String) context.getContextValue("chart.encoding"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
137 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 log.info("export chart as svg"); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 if (encoding == null) |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 encoding = DEFAULT_ENCODING; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 org.w3c.dom.Document document = XMLUtils.newDocument(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 SVGGraphics2D graphics = new SVGGraphics2D(document); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
146 int[] size = getSize(context); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
147 |
2160
8428de5846e8
Employ ChartRenderingInfo when creating svg/pdf exports.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1735
diff
changeset
|
148 ChartRenderingInfo info = new ChartRenderingInfo(); |
8428de5846e8
Employ ChartRenderingInfo when creating svg/pdf exports.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1735
diff
changeset
|
149 |
8428de5846e8
Employ ChartRenderingInfo when creating svg/pdf exports.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1735
diff
changeset
|
150 chart.draw(graphics, new Rectangle2D.Double(0.0D, 0.0D,size[0],size[1]), info); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 try { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 graphics.stream(new OutputStreamWriter(out, encoding)); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 catch (SVGGraphics2DIOException svge) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 log.error("Error while writing svg export to output stream.", svge); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 catch (UnsupportedEncodingException uee) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 log.error("Unsupported encoding: " + encoding, uee); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 * A method to export a <code>JFreeChart</code> as PDF to an |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 * <code>OutputStream</code>. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 * @param out OutputStream |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 * @param chart JFreeChart |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 */ |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 public static void exportPDF( |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 OutputStream out, |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 JFreeChart chart, |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
174 CallContext cc |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 ) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 log.info("export chart as pdf."); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
178 String pageFormat = (String) cc.getContextValue("chart.page.format"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
179 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
180 if (pageFormat == null) |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
181 pageFormat = DEFAULT_PAGE_SIZE; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 |
3270
4ac581062c40
Fix various documentation issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2231
diff
changeset
|
183 // Max size of the chart. |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
184 Rectangle page = PageSize.getRectangle(pageFormat); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
185 float pageWidth = page.getWidth(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
186 float pageHeight = page.getHeight(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
187 |
3270
4ac581062c40
Fix various documentation issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2231
diff
changeset
|
188 // The chart width. |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
189 int[] size = getSize(cc); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
190 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
191 boolean landscape = size[0] > size[1]; |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
193 float width = 0; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 float height = 0; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
195 if (landscape) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
196 width = pageHeight; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
197 height = pageWidth; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
198 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
199 else { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
200 width = pageWidth; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
201 height = pageHeight; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
203 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
204 float marginLeft = (Float) cc.getContextValue( |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
205 "chart.marginLeft"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
206 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
207 float marginRight = (Float) cc.getContextValue( |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
208 "chart.marginRight"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
209 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
210 float marginTop = (Float) cc.getContextValue( |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
211 "chart.marginTop"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
212 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
213 float marginBottom = (Float) cc.getContextValue( |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
214 "chart.marginBottom"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
215 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
216 float spaceX = width - marginLeft - marginRight; |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
217 if (size[0] > spaceX) { |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
218 log.warn("Width of the chart is too big for pdf -> resize it now."); |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
219 double ratio = ((double)spaceX) / size[0]; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
220 size[0] *= ratio; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
221 size[1] *= ratio; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
222 log.debug("Resized chart to " + size[0] + "x" + size[1]); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
223 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 float spaceY = height - marginTop - marginBottom; |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
226 if (size[1] > spaceY) { |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 log.warn("Height of the chart is too big for pdf -> resize it now."); |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
228 double ratio = ((double)spaceY) / size[1]; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
229 size[0] *= ratio; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
230 size[1] *= ratio; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
231 log.debug("Resized chart to " + size[0] + "x" + size[1]); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
232 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
233 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
234 Document document = null; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 if (landscape) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 document = new Document(page.rotate()); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
237 log.debug("Create landscape pdf."); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
238 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
239 else |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
240 document = new Document(page); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 try { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
243 PdfWriter writer = PdfWriter.getInstance(document, out); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
244 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
245 document.addSubject(chart.getTitle().getText()); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
246 document.addCreationDate(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 document.open(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
248 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
249 PdfContentByte content = writer.getDirectContent(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 PdfTemplate template = content.createTemplate(width, height); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 Graphics2D graphics = template.createGraphics(width, height); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
254 double[] origin = getCenteredAnchor( |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
255 marginLeft, marginRight, marginBottom, marginTop, |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
256 width, height, |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
257 size[0], size[1]); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
258 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
259 Rectangle2D area = new Rectangle2D.Double( |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
260 origin[0], origin[1], size[0], size[1]); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
261 |
2160
8428de5846e8
Employ ChartRenderingInfo when creating svg/pdf exports.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1735
diff
changeset
|
262 ChartRenderingInfo info = new ChartRenderingInfo(); |
8428de5846e8
Employ ChartRenderingInfo when creating svg/pdf exports.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1735
diff
changeset
|
263 |
8428de5846e8
Employ ChartRenderingInfo when creating svg/pdf exports.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1735
diff
changeset
|
264 chart.draw(graphics, area, info); |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
265 graphics.dispose(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
266 content.addTemplate(template, 0f, 0f); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
267 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
268 catch (DocumentException de) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
269 log.error("Error while exporting chart to pdf.", de); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
270 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
271 finally { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
272 document.close(); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
273 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
274 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
275 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
276 |
2231
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
277 /** |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
278 * A method to export a CSV file to an |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
279 * <code>OutputStream</code>. |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
280 * |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
281 * @param out OutputStream |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
282 * @param chart JFreeChart containing the data. |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
283 * @param context The CallContext object that contains extra parameters. |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
284 */ |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
285 public static void exportCSV( |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
286 OutputStream out, |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
287 JFreeChart chart, |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
288 CallContext context) |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
289 { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
290 log.debug("export chart as CSV"); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
291 CSVWriter writer = null; |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
292 try { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
293 writer = new CSVWriter( |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
294 new OutputStreamWriter( |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
295 out, |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
296 DEFAULT_ENCODING), |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
297 DEFAULT_CSV_SEPARATOR); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
298 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
299 catch(UnsupportedEncodingException uee) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
300 log.warn("Wrong encoding for CSV export."); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
301 return; |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
302 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
303 XYPlot plot = chart.getXYPlot(); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
304 int count = plot.getDatasetCount(); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
305 for (int i = 0; i < count; i++) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
306 XYDataset data = plot.getDataset(i); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
307 int scount = data.getSeriesCount(); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
308 for (int j = 0; j < scount; j++) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
309 Comparable seriesKey = data.getSeriesKey(j); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
310 log.debug("series key: " + seriesKey.toString()); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
311 writeCSVHeader(writer, seriesKey.toString()); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
312 writeCSVData(writer, data); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
313 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
314 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
315 try { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
316 writer.close(); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
317 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
318 catch(IOException ioe) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
319 log.error("Writing CSV export failed!"); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
320 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
321 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
322 |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
323 |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
324 protected static void writeCSVHeader(CSVWriter writer, String key) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
325 writer.writeNext(new String[] {"#"}); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
326 writer.writeNext(new String[] {"# " + key}); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
327 writer.writeNext(new String[] {"#"}); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
328 writer.writeNext(new String[] {"X", "Y"}); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
329 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
330 |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
331 |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
332 protected static void writeCSVData(CSVWriter writer, XYDataset data) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
333 int series = data.getSeriesCount(); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
334 for (int i = 0; i < series; i++) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
335 int items = data.getItemCount(i); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
336 for (int j = 0; j < items; j++) { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
337 log.debug("write data: " + data.getX(i, j) + ", " + data.getY(i, j)); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
338 writer.writeNext(new String[] { |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
339 data.getX(i, j).toString(), |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
340 data.getY(i, j).toString()}); |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
341 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
342 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
343 } |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
344 |
5648b5b34ae2
Issue 466.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2160
diff
changeset
|
345 |
1735
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
346 public static int[] getSize(CallContext cc) { |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
347 int[] size = new int[2]; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
348 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
349 size[0] = (Integer) cc.getContextValue("chart.width"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
350 size[1] = (Integer) cc.getContextValue("chart.height"); |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
351 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
352 return size; |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
353 } |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
354 |
5966a20fc72c
Enabled support for PDF and SVG chart exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1036
diff
changeset
|
355 |
152
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
356 /** |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
357 * This method returns the anchor of the chart so that the chart is centered |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
358 * according to the given parameters. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
359 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
360 * @param mLeft Left margin |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
361 * @param mRight Right margin |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
362 * @param mBottom Bottom margin |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
363 * @param mTop Top margin |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
364 * @param width The complete width of the drawing area. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
365 * @param height The complete height of the drawing area. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
366 * @param chartWidth The width of the chart. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
367 * @param chartHeight The height of the chart. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
368 * |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
369 * @return an array that contains the anchor for a chart with the given |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
370 * parameters. The first value is the x point, the second value is the y |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
371 * point. |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
372 */ |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
373 public static double[] getCenteredAnchor( |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
374 double mLeft, double mRight, double mBottom, double mTop, |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
375 double width, double height, |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
376 double chartWidth, double chartHeight |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
377 ) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
378 if (log.isDebugEnabled()) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
379 log.debug("Calculate centered origin..."); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
380 log.debug("-> PDF width : " + width); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
381 log.debug("-> PDF height : " + height); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
382 log.debug("-> Chart width : " + chartWidth); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
383 log.debug("-> Chart height : " + chartHeight); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
384 log.debug("-> margin left : " + mLeft); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
385 log.debug("-> margin right : " + mRight); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
386 log.debug("-> margin bottom: " + mBottom); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
387 log.debug("-> margin top : " + mTop); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
388 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
389 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
390 double[] origin = new double[2]; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
391 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
392 double centerX = width / 2; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
393 double centerY = height / 2; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
394 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
395 origin[0] = centerX - chartWidth / 2; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
396 origin[1] = centerY - chartHeight / 2; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
397 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
398 origin[0] = origin[0] >= mLeft ? origin[0] : mLeft; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
399 origin[1] = origin[1] >= mTop ? origin[1] : mTop; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
400 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
401 if (log.isDebugEnabled()) { |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
402 log.debug("==> centered left origin: " + origin[0]); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
403 log.debug("==> centered top origin: " + origin[1]); |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
404 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
405 |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
406 return origin; |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
407 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
408 } |
956445dd601d
Added a helper class to export charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
409 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |