comparison flys-artifacts/src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java @ 653:67c7020f4ed3

Refactored the chart creation in the ChartInfoGenerators. Now, every chart is created by the XYChartGenerator again. flys-artifacts/trunk@2048 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 03 Jun 2011 07:20:39 +0000
parents bb484489d3df
children 913b52064449
comparison
equal deleted inserted replaced
652:8fa4c5c9cd1a 653:67c7020f4ed3
1 package de.intevation.flys.exports; 1 package de.intevation.flys.exports;
2 2
3 import java.awt.Color;
3 import java.awt.Transparency; 4 import java.awt.Transparency;
4 import java.io.IOException; 5 import java.io.IOException;
5 import java.io.OutputStream; 6 import java.io.OutputStream;
6 7
7 import org.w3c.dom.Document; 8 import org.w3c.dom.Document;
8 9
9 import org.apache.log4j.Logger; 10 import org.apache.log4j.Logger;
10 11
12 import org.jfree.chart.ChartFactory;
11 import org.jfree.chart.ChartRenderingInfo; 13 import org.jfree.chart.ChartRenderingInfo;
12 import org.jfree.chart.JFreeChart; 14 import org.jfree.chart.JFreeChart;
15 import org.jfree.chart.plot.PlotOrientation;
16 import org.jfree.chart.plot.XYPlot;
13 17
14 import de.intevation.artifacts.Artifact; 18 import de.intevation.artifacts.Artifact;
15 import de.intevation.artifacts.CallContext; 19 import de.intevation.artifacts.CallContext;
16 20
17 import de.intevation.artifacts.common.utils.XMLUtils; 21 import de.intevation.artifacts.common.utils.XMLUtils;
33 private static Logger logger = 37 private static Logger logger =
34 Logger.getLogger(ChartInfoGenerator.class); 38 Logger.getLogger(ChartInfoGenerator.class);
35 39
36 40
37 /** The OutGenerator that creates the charts.*/ 41 /** The OutGenerator that creates the charts.*/
38 protected OutGenerator generator; 42 protected XYChartGenerator generator;
39 43
40 protected OutputStream out; 44 protected OutputStream out;
41 45
42 46
43 47
44 public ChartInfoGenerator(OutGenerator generator) { 48 public ChartInfoGenerator(XYChartGenerator generator) {
45 this.generator = generator; 49 this.generator = generator;
46 } 50 }
47 51
48 52
49 /** 53 /**
91 public void generate() 95 public void generate()
92 throws IOException 96 throws IOException
93 { 97 {
94 logger.debug("ChartInfoGenerator.generate"); 98 logger.debug("ChartInfoGenerator.generate");
95 99
96 JFreeChart chart = generateChart(); 100 JFreeChart chart = generator.generateChart();
97 101
98 int[] size = getSize(); 102 int[] size = generator.getSize();
99 103
100 ChartRenderingInfo info = new ChartRenderingInfo(); 104 ChartRenderingInfo info = new ChartRenderingInfo();
101 105
102 chart.createBufferedImage(size[0], size[1], Transparency.BITMASK, info); 106 chart.createBufferedImage(size[0], size[1], Transparency.BITMASK, info);
103 107
104 Document doc = InfoGeneratorHelper.createInfoDocument(chart, info); 108 Document doc = InfoGeneratorHelper.createInfoDocument(chart, info);
105 109
106 XMLUtils.toStream(doc, out); 110 XMLUtils.toStream(doc, out);
107 } 111 }
108
109
110 /**
111 * Creates a chart object.
112 *
113 * @return a chart object.
114 */
115 protected abstract JFreeChart generateChart();
116
117 /**
118 * Returns the size of the generated chart.
119 *
120 * @return the size of the generated chart.
121 */
122 protected abstract int[] getSize();
123 } 112 }
124 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 113 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org