Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java @ 179:f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
gnv-artifacts/trunk@223 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Thu, 15 Oct 2009 15:38:15 +0000 |
parents | 7fb9441dd8af |
children | 34f233123a6f |
comparison
equal
deleted
inserted
replaced
178:9bcf315f57e4 | 179:f2c76f35da5a |
---|---|
61 public synchronized void createProfileChart( | 61 public synchronized void createProfileChart( |
62 ChartLabels pLabels, | 62 ChartLabels pLabels, |
63 ChartStyle pStyle, | 63 ChartStyle pStyle, |
64 Collection<KeyValueDescibeData> parameters, | 64 Collection<KeyValueDescibeData> parameters, |
65 Collection<KeyValueDescibeData> measurements, | 65 Collection<KeyValueDescibeData> measurements, |
66 Collection<KeyValueDescibeData> dates, | |
66 OutputStream outputStream, | 67 OutputStream outputStream, |
67 Collection<Result> resultSet) | 68 Collection<Result> resultSet) |
68 throws IOException, | 69 throws IOException, |
69 TechnicalChartException { | 70 TechnicalChartException { |
70 if (sDebug) | 71 if (sDebug) |
80 lLowerLevel = pStyle.getLowerLevel(); | 81 lLowerLevel = pStyle.getLowerLevel(); |
81 } | 82 } |
82 if (sDebug) | 83 if (sDebug) |
83 sLogger.debug(" vor createDataset()"); | 84 sLogger.debug(" vor createDataset()"); |
84 XYDataset lSet = this.createDataset(resultSet, lUpperLevel, | 85 XYDataset lSet = this.createDataset(resultSet, lUpperLevel, |
85 lLowerLevel, parameters, measurements); | 86 lLowerLevel, parameters, measurements, dates); |
86 if (sDebug) | 87 if (sDebug) |
87 sLogger.debug(" nach createDataset()"); | 88 sLogger.debug(" nach createDataset()"); |
88 final Color[] color = { Color.black, Color.red, Color.green, Color.blue }; | 89 final Color[] color = { Color.black, Color.red, Color.green, Color.blue }; |
89 NumberAxis domain = new NumberAxis(pLabels.getDomainAxisLabel()); | 90 NumberAxis domain = new NumberAxis(pLabels.getDomainAxisLabel()); |
90 NumberAxis axis; | 91 NumberAxis axis; |
247 } | 248 } |
248 | 249 |
249 private XYDataset createDataset(Collection<Result> resultSet, | 250 private XYDataset createDataset(Collection<Result> resultSet, |
250 int lUpperCut, int lLowerCut, | 251 int lUpperCut, int lLowerCut, |
251 Collection<KeyValueDescibeData> parameters, | 252 Collection<KeyValueDescibeData> parameters, |
252 Collection<KeyValueDescibeData> measurements) | 253 Collection<KeyValueDescibeData> measurements, |
254 Collection<KeyValueDescibeData> dates) | |
253 throws TechnicalChartException { | 255 throws TechnicalChartException { |
254 | 256 |
255 XYSeriesCollection xyDataset = new XYSeriesCollection(); | 257 XYSeriesCollection xyDataset = new XYSeriesCollection(); |
256 | 258 |
257 try { | 259 try { |
271 while (resultIterator.hasNext()) { | 273 while (resultIterator.hasNext()) { |
272 row = resultIterator.next(); | 274 row = resultIterator.next(); |
273 if (!break1.equals(row.getString("GROUP1")) | 275 if (!break1.equals(row.getString("GROUP1")) |
274 || !break2.equals(row.getString("GROUP2")) | 276 || !break2.equals(row.getString("GROUP2")) |
275 || !break3.equals(row.getString("GROUP3"))) { | 277 || !break3.equals(row.getString("GROUP3"))) { |
276 String seriesName = findValueTitle(parameters, break1) | 278 String seriesName = this.createSeriesName(parameters, measurements, dates, break1, break2, break3); |
277 + " " | |
278 + findValueTitle(measurements, | |
279 break2); | |
280 sLogger.debug("Neuer Datensatz " + seriesName | 279 sLogger.debug("Neuer Datensatz " + seriesName |
281 + "von Datensätzen " + mStart + " / " | 280 + "von Datensätzen " + mStart + " / " |
282 + mEnd); | 281 + mEnd); |
283 xyDataset.addSeries(createXYSeries(seriesName, | 282 xyDataset.addSeries(createXYSeries(seriesName, |
284 resultSet, lUpperCut, lLowerCut, mStart, mEnd)); | 283 resultSet, lUpperCut, lLowerCut, mStart, mEnd)); |
292 mEnd = i; | 291 mEnd = i; |
293 // mEnd ++; | 292 // mEnd ++; |
294 i = i + 1; | 293 i = i + 1; |
295 } | 294 } |
296 | 295 |
297 String seriesName = findValueTitle(parameters, break1) + " " | 296 String seriesName = this.createSeriesName(parameters, measurements, dates, break1, break2, break3); |
298 + findValueTitle(measurements, break2); | |
299 sLogger.debug("Neuer Datensatz " + seriesName | 297 sLogger.debug("Neuer Datensatz " + seriesName |
300 + "von Datensätzen " + mStart + " / " + mEnd); | 298 + "von Datensätzen " + mStart + " / " + mEnd); |
301 xyDataset.addSeries(createXYSeries(seriesName, resultSet, | 299 xyDataset.addSeries(createXYSeries(seriesName, resultSet, |
302 lUpperCut, lLowerCut, mStart, mEnd)); | 300 lUpperCut, lLowerCut, mStart, mEnd)); |
303 } | 301 } |
306 } finally { | 304 } finally { |
307 } | 305 } |
308 return xyDataset; | 306 return xyDataset; |
309 } | 307 } |
310 | 308 |
309 /** | |
310 * @param parameters | |
311 * @param measurements | |
312 * @param break1 | |
313 * @param break2 | |
314 * @return | |
315 */ | |
316 protected String createSeriesName( | |
317 Collection<KeyValueDescibeData> break1Candidates, | |
318 Collection<KeyValueDescibeData> break2Candidates, | |
319 Collection<KeyValueDescibeData> break3Candidates, | |
320 String break1, String break2, String break3) { | |
321 String seriesName = findValueTitle(break1Candidates, break1) | |
322 + " " | |
323 + findValueTitle(break2Candidates, | |
324 break2); | |
325 return seriesName.trim(); | |
326 } | |
327 | |
311 private void encodeChart(JFreeChart pChart, ChartStyle pStyle, | 328 private void encodeChart(JFreeChart pChart, ChartStyle pStyle, |
312 OutputStream outputStream) throws IOException { | 329 OutputStream outputStream) throws IOException { |
313 if (sDebug) | 330 if (sDebug) |
314 sLogger.debug("encodeChart()"); | 331 sLogger.debug("encodeChart()"); |
315 KeypointPNGEncoderAdapter lEncoder = new KeypointPNGEncoderAdapter(); | 332 KeypointPNGEncoderAdapter lEncoder = new KeypointPNGEncoderAdapter(); |
323 | 340 |
324 lEncoder.encode(lImage, outputStream); | 341 lEncoder.encode(lImage, outputStream); |
325 | 342 |
326 } | 343 } |
327 | 344 |
328 private String findValueTitle(Collection<KeyValueDescibeData> values, | 345 protected String findValueTitle(Collection<KeyValueDescibeData> values, |
329 String id) { | 346 String id) { |
330 if (values != null) { | 347 if (values != null) { |
331 Iterator<KeyValueDescibeData> it = values.iterator(); | 348 Iterator<KeyValueDescibeData> it = values.iterator(); |
332 while (it.hasNext()) { | 349 while (it.hasNext()) { |
333 KeyValueDescibeData data = it.next(); | 350 KeyValueDescibeData data = it.next(); |
334 if (id.equals(data.getKey())) { | 351 if (id.equals(data.getKey())) { |
335 return data.getValue(); | 352 return data.getValue(); |
336 } | 353 } |
337 } | 354 } |
338 } | 355 } |
339 return id; | 356 return ""; |
340 } | 357 } |
341 } | 358 } |