Mercurial > dive4elements > gnv-client
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, |