comparison gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java @ 629:d08b9ba148c5

Implemented logic to adjust number of bins corresponding to user input. gnv-artifacts/trunk@706 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Feb 2010 14:30:52 +0000
parents c009d8df53aa
children a94ed2755480
comparison
equal deleted inserted replaced
628:bfe33e658576 629:d08b9ba148c5
65 import java.io.OutputStream; 65 import java.io.OutputStream;
66 import java.io.UnsupportedEncodingException; 66 import java.io.UnsupportedEncodingException;
67 67
68 import java.util.ArrayList; 68 import java.util.ArrayList;
69 import java.util.Collection; 69 import java.util.Collection;
70 import java.util.HashMap;
70 import java.util.Iterator; 71 import java.util.Iterator;
71 import java.util.List; 72 import java.util.List;
72 import java.util.Locale; 73 import java.util.Locale;
74 import java.util.Map;
73 import java.util.Vector; 75 import java.util.Vector;
74 76
75 import org.apache.log4j.Logger; 77 import org.apache.log4j.Logger;
76 78
77 import org.jfree.chart.ChartTheme; 79 import org.jfree.chart.ChartTheme;
222 CallMeta callMeta = callContext.getMeta(); 224 CallMeta callMeta = callContext.getMeta();
223 225
224 int chartWidth = 600; 226 int chartWidth = 600;
225 int chartHeight = 400; 227 int chartHeight = 400;
226 boolean sVisible = false; 228 boolean sVisible = false;
229 int binCount = 0;
230 int binWidth = 0;
231
232 Map requestParameter = new HashMap();
227 233
228 // lines are always visible. if lines should be configurable we need a 234 // lines are always visible. if lines should be configurable we need a
229 // parameter in the user interface 235 // parameter in the user interface
230 boolean lVisible = true; 236 boolean lVisible = true;
231 237
233 if (inputData != null) { 239 if (inputData != null) {
234 Iterator<InputData> it = inputData.iterator(); 240 Iterator<InputData> it = inputData.iterator();
235 while (it.hasNext()) { 241 while (it.hasNext()) {
236 InputData ip = it.next(); 242 InputData ip = it.next();
237 String optionName = ip.getName().trim(); 243 String optionName = ip.getName().trim();
244 log.debug("FOUND [" + optionName + "] with value {"+ ip.getValue()+"}");
245 requestParameter.put(optionName, ip.getValue());
238 246
239 if (optionName.equals("width")) { 247 if (optionName.equals("width")) {
240 chartWidth = Integer.parseInt(ip.getValue()); 248 chartWidth = Integer.parseInt(ip.getValue());
241 } 249 }
242 else if (optionName.equals("height")) { 250 else if (optionName.equals("height")) {
303 Collection<KeyValueDescibeData> measurements = getMeasurements(uuid); 311 Collection<KeyValueDescibeData> measurements = getMeasurements(uuid);
304 Collection<KeyValueDescibeData> dates = getDates(uuid); 312 Collection<KeyValueDescibeData> dates = getDates(uuid);
305 Object[][] data = HistogramHelper.prepareHistogramData( 313 Object[][] data = HistogramHelper.prepareHistogramData(
306 results, parameters, measurements, dates); 314 results, parameters, measurements, dates);
307 315
316 PreferredLocale[] locales = callMeta.getLanguages();
317 Locale[] serverLocales =
318 RessourceFactory.getInstance().getLocales();
319 Locale locale =
320 callMeta.getPreferredLocale(serverLocales);
321 requestParameter.put("locale", locale);
322
308 int size = data.length; 323 int size = data.length;
309 Chart[] histograms = new Chart[size]; 324 Chart[] histograms = new Chart[size];
310 325
311 for (int i = 0; i < size; i++) { 326 for (int i = 0; i < size; i++) {
312 ChartLabels labels = createHistogramLabels( 327 ChartLabels labels = createHistogramLabels(
313 uuid, callContext, data[i]); 328 uuid, callContext, data[i]);
314 329
315 ChartTheme theme = createStyle(callContext); 330 ChartTheme theme = createStyle(callContext);
316 331
317 histograms[i] = new DefaultHistogram( 332 histograms[i] = new DefaultHistogram(
318 labels, data[i], theme); 333 labels, data[i], theme, requestParameter);
319 } 334 }
320 335
321 ChartExportHelper.exportHistograms( 336 ChartExportHelper.exportHistograms(
322 outputStream, 337 outputStream,
323 histograms, 338 histograms,

http://dive4elements.wald.intevation.org