comparison gnv-artifacts/src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java @ 315:63f8b3fb7d9a

Localization of chart axis with locale which fits best to server and browser settings. gnv-artifacts/trunk@373 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 26 Nov 2009 08:47:44 +0000
parents 19fbd03544ea
children 22a6493e8460
comparison
equal deleted inserted replaced
314:6f72e335e2c9 315:63f8b3fb7d9a
1 package de.intevation.gnv.chart; 1 package de.intevation.gnv.chart;
2 2
3 import java.text.DateFormat;
4 import java.text.SimpleDateFormat;
3 import java.util.Collection; 5 import java.util.Collection;
4 import java.util.Iterator; 6 import java.util.Iterator;
5 import java.util.Locale; 7 import java.util.Locale;
6 8
7 import org.apache.log4j.Logger; 9 import org.apache.log4j.Logger;
8 10
9 import org.jfree.chart.ChartTheme; 11 import org.jfree.chart.ChartTheme;
10 import org.jfree.chart.ChartFactory; 12 import org.jfree.chart.ChartFactory;
11 import org.jfree.chart.JFreeChart; 13 import org.jfree.chart.JFreeChart;
14 import org.jfree.chart.axis.Axis;
15 import org.jfree.chart.axis.DateAxis;
12 import org.jfree.chart.plot.XYPlot; 16 import org.jfree.chart.plot.XYPlot;
13 import org.jfree.chart.plot.PlotOrientation; 17 import org.jfree.chart.plot.PlotOrientation;
14 import org.jfree.data.general.Series; 18 import org.jfree.data.general.Series;
15 import org.jfree.data.time.TimeSeries; 19 import org.jfree.data.time.TimeSeries;
16 import org.jfree.data.time.Minute; 20 import org.jfree.data.time.Minute;
23 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de> 27 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de>
24 */ 28 */
25 public class TimeSeriesChart 29 public class TimeSeriesChart
26 extends AbstractXYLineChart 30 extends AbstractXYLineChart
27 { 31 {
32
33 private static final String DATE_FORMAT = "dd-MMM";
28 34
29 private static Logger log = Logger.getLogger(TimeSeriesChart.class); 35 private static Logger log = Logger.getLogger(TimeSeriesChart.class);
30 36
31 37
32 public TimeSeriesChart( 38 public TimeSeriesChart(
150 TimeSeriesCollection tsc = new TimeSeriesCollection((TimeSeries)series); 156 TimeSeriesCollection tsc = new TimeSeriesCollection((TimeSeries)series);
151 plot.setDataset(idx, tsc); 157 plot.setDataset(idx, tsc);
152 } 158 }
153 159
154 160
161 protected void localizeDomainAxis(Axis axis, Locale locale) {
162 if (locale == null)
163 return;
164
165 log.debug(
166 "Set language of axis [" + axis.getLabel() + "] " +
167 "to " + locale.toString()
168 );
169
170 DateFormat format = new SimpleDateFormat(DATE_FORMAT, locale);
171 ((DateAxis) axis).setDateFormatOverride(format);
172 }
173
174
155 protected String createSeriesName( 175 protected String createSeriesName(
156 String breakPoint1, 176 String breakPoint1,
157 String breakPoint2, 177 String breakPoint2,
158 String breakPoint3 178 String breakPoint3
159 ) { 179 ) {
162 " " + 182 " " +
163 findValueTitle(measurements, breakPoint2) + 183 findValueTitle(measurements, breakPoint2) +
164 "m"; 184 "m";
165 } 185 }
166 } 186 }
167 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 187 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org