comparison flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java @ 2242:7e8e1d5384c0

Further refactoring of XYChartGenerator / ChartGenerator with the result, that timerange charts are now able to display lines. flys-artifacts/trunk@3890 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 03 Feb 2012 09:39:22 +0000
parents 23c7c51df772
children 6aeb71517136
comparison
equal deleted inserted replaced
2241:2b232871ba28 2242:7e8e1d5384c0
9 9
10 import org.apache.log4j.Logger; 10 import org.apache.log4j.Logger;
11 11
12 import org.jfree.chart.ChartFactory; 12 import org.jfree.chart.ChartFactory;
13 import org.jfree.chart.JFreeChart; 13 import org.jfree.chart.JFreeChart;
14 import org.jfree.chart.axis.NumberAxis;
15 import org.jfree.chart.plot.XYPlot; 14 import org.jfree.chart.plot.XYPlot;
16 15
17 import org.jfree.data.Range; 16 import org.jfree.data.Range;
18 import org.jfree.data.time.TimeSeriesCollection; 17 import org.jfree.data.time.TimeSeriesCollection;
18 import org.jfree.data.general.Series;
19 import org.jfree.data.xy.XYDataset; 19 import org.jfree.data.xy.XYDataset;
20 20
21 21
22 /** 22 /**
23 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 23 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
58 mergeRanges(tsc); 58 mergeRanges(tsc);
59 } 59 }
60 60
61 61
62 @Override 62 @Override
63 public XYDataset[] getDatasets() {
64 return (XYDataset[])
65 datasets.toArray(new XYDataset[datasets.size()]);
66 }
67
68
69 @Override
63 public boolean isEmpty() { 70 public boolean isEmpty() {
64 return datasets.isEmpty(); 71 return datasets.isEmpty();
65 } 72 }
66 73
67 74
75 @Override
76 public void setRange(Range range) {
77 this.range = range;
78 }
79
80
81 @Override
82 public Range getRange() {
83 return range;
84 }
85
86
87 @Override
88 public void setPlotAxisIndex(int plotAxisIndex) {
89 this.plotAxisIndex = plotAxisIndex;
90 }
91
92
93 @Override
94 public int getPlotAxisIndex() {
95 return plotAxisIndex;
96 }
97
98
99 @Override
100 public boolean isArea(XYDataset dataset) {
101 logger.warn("This AxisDataset doesn't support Areas yet!");
102 return false;
103 }
104
105
68 protected void mergeRanges(TimeSeriesCollection dataset) { 106 protected void mergeRanges(TimeSeriesCollection dataset) {
69 logger.debug("Range after merging: " + range); 107 logger.debug("Range after merging: " + range);
70 108
71 Range[] xyRanges = ChartHelper.getRanges(dataset); 109 Range[] xyRanges = ChartHelper.getRanges(dataset);
72 range = Range.combine(range, xyRanges[1]); 110 range = Range.combine(range, xyRanges[1]);
82 Logger.getLogger(TimeseriesChartGenerator.class); 120 Logger.getLogger(TimeseriesChartGenerator.class);
83 121
84 122
85 protected Map<Integer, Range> xRanges; 123 protected Map<Integer, Range> xRanges;
86 124
125 protected Map<Integer, Range> yRanges;
126
87 127
88 128
89 /** 129 /**
90 * The default constructor that initializes internal datastructures. 130 * The default constructor that initializes internal datastructures.
91 */ 131 */
92 public TimeseriesChartGenerator() { 132 public TimeseriesChartGenerator() {
93 super(); 133 super();
94 134
95 xRanges = new HashMap<Integer, Range>(); 135 xRanges = new HashMap<Integer, Range>();
136 yRanges = new HashMap<Integer, Range>();
96 } 137 }
97 138
98 139
99 140
100 @Override 141 @Override
122 163
123 return chart; 164 return chart;
124 } 165 }
125 166
126 167
168 @Override
169 protected Series getSeriesOf(XYDataset dataset, int idx) {
170 return ((TimeSeriesCollection) dataset).getSeries(idx);
171 }
172
173
174 @Override
175 protected void setXRange(int axis, Range range) {
176 xRanges.put(Integer.valueOf(axis), range);
177 }
178
179
180 @Override
181 protected void setYRange(int axis, Range range) {
182 yRanges.put(Integer.valueOf(axis), range);
183 }
184
185
127 /** 186 /**
128 * This method creates new instances of TimeseriesAxisDataset. 187 * This method creates new instances of TimeseriesAxisDataset.
129 * 188 *
130 * @param idx The symbol for the new TimeseriesAxisDataset. 189 * @param idx The symbol for the new TimeseriesAxisDataset.
131 */ 190 */
151 } 210 }
152 211
153 xRanges.put(index, range); 212 xRanges.put(index, range);
154 } 213 }
155 } 214 }
156
157
158 protected void addDatasets(XYPlot plot) {
159 logger.warn("TODO: IMPLEMENT ME!");
160 }
161 } 215 }
162 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 216 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org