Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionGenerator.java @ 7116:3c7471b929d1
Merge branch generator-refectoring into default.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 24 Sep 2013 12:29:44 +0200 |
parents | 41567bf1e131 |
children | 917b26172853 |
comparison
equal
deleted
inserted
replaced
7095:bdadffad35b1 | 7116:3c7471b929d1 |
---|---|
21 import org.dive4elements.river.exports.process.BedDiffHeightYearProcessor; | 21 import org.dive4elements.river.exports.process.BedDiffHeightYearProcessor; |
22 import org.dive4elements.river.exports.process.BedDiffYearProcessor; | 22 import org.dive4elements.river.exports.process.BedDiffYearProcessor; |
23 import org.dive4elements.river.exports.process.BedheightProcessor; | 23 import org.dive4elements.river.exports.process.BedheightProcessor; |
24 import org.dive4elements.river.exports.process.QOutProcessor; | 24 import org.dive4elements.river.exports.process.QOutProcessor; |
25 import org.dive4elements.river.exports.process.WOutProcessor; | 25 import org.dive4elements.river.exports.process.WOutProcessor; |
26 | 26 import org.dive4elements.river.exports.process.AnnotationProcessor; |
27 import org.dive4elements.river.jfree.RiverAnnotation; | 27 |
28 import org.dive4elements.river.jfree.StyledAreaSeriesCollection; | 28 import org.dive4elements.river.jfree.StyledAreaSeriesCollection; |
29 import org.dive4elements.river.jfree.StyledXYSeries; | 29 import org.dive4elements.river.jfree.StyledXYSeries; |
30 import org.dive4elements.river.themes.ThemeDocument; | 30 import org.dive4elements.river.themes.ThemeDocument; |
31 import org.dive4elements.river.utils.DataUtil; | |
32 import org.dive4elements.river.utils.RiverUtils; | 31 import org.dive4elements.river.utils.RiverUtils; |
33 import org.apache.log4j.Logger; | 32 import org.apache.log4j.Logger; |
34 import org.jfree.chart.axis.NumberAxis; | 33 import org.jfree.chart.axis.NumberAxis; |
35 import org.jfree.chart.axis.ValueAxis; | 34 import org.jfree.chart.axis.ValueAxis; |
36 import org.jfree.chart.plot.XYPlot; | 35 import org.jfree.chart.plot.XYPlot; |
338 | 337 |
339 if (facet == null) { | 338 if (facet == null) { |
340 return; | 339 return; |
341 } | 340 } |
342 | 341 |
343 WOutProcessor wProcessor = new WOutProcessor(); | 342 Processor wProcessor = new WOutProcessor(); |
344 QOutProcessor qProcessor = new QOutProcessor(); | 343 Processor qProcessor = new QOutProcessor(); |
345 Processor bedp = new BedheightProcessor(); | 344 Processor bedp = new BedheightProcessor(); |
346 Processor bdyProcessor = new BedDiffYearProcessor(); | 345 Processor bdyProcessor = new BedDiffYearProcessor(); |
347 Processor bdhyProcessor = new BedDiffHeightYearProcessor(); | 346 Processor bdhyProcessor = new BedDiffHeightYearProcessor(); |
347 Processor annotationProcessor = new AnnotationProcessor(); | |
348 | 348 |
349 if (wProcessor.canHandle(name)) { | 349 if (wProcessor.canHandle(name)) { |
350 wProcessor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); | 350 wProcessor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); |
351 } | 351 } |
352 if (qProcessor.canHandle(name)) { | 352 if (qProcessor.canHandle(name)) { |
359 bdyProcessor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); | 359 bdyProcessor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); |
360 } | 360 } |
361 else if (bdhyProcessor.canHandle(name)) { | 361 else if (bdhyProcessor.canHandle(name)) { |
362 bdhyProcessor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); | 362 bdhyProcessor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); |
363 } | 363 } |
364 else if (name.equals(LONGITUDINAL_ANNOTATION)) { | 364 else if (annotationProcessor.canHandle(name)) { |
365 doAnnotations( | 365 annotationProcessor.doOut(this, artifactAndFacet, attr, visible, 0); |
366 (RiverAnnotation) artifactAndFacet.getData(context), | |
367 artifactAndFacet, | |
368 attr, | |
369 visible); | |
370 } | 366 } |
371 else if (name.equals(W_DIFFERENCES)) { | 367 else if (name.equals(W_DIFFERENCES)) { |
372 doWDifferencesOut( | 368 doWDifferencesOut( |
373 (WKms) artifactAndFacet.getData(context), | 369 (WKms) artifactAndFacet.getData(context), |
374 artifactAndFacet, | 370 artifactAndFacet, |
427 addAxisSeries(series, YAXIS.D.idx, visible); | 423 addAxisSeries(series, YAXIS.D.idx, visible); |
428 } | 424 } |
429 | 425 |
430 | 426 |
431 /** | 427 /** |
432 * This method determines - taking JFreeCharts auto x value ordering into | |
433 * account - if the x axis need to be inverted. Waterlines in these charts | |
434 * should decrease. | |
435 * | |
436 * @param wkms The data object that stores the x and y values used for this | |
437 * chart. | |
438 */ | |
439 public boolean needInvertAxis(WKms wkms) { | |
440 boolean wsUp = wkms.guessWaterIncreasing(); | |
441 boolean kmUp = DataUtil.guessWaterIncreasing(wkms.allKms()); | |
442 boolean inv = (wsUp && kmUp) || (!wsUp && !kmUp); | |
443 | |
444 int size = wkms.size(); | |
445 | |
446 if (logger.isDebugEnabled()) { | |
447 logger.debug("(Wkms)Values : " + size); | |
448 if (size > 0) { | |
449 logger.debug("Start km: " + wkms.getKm(0)); | |
450 logger.debug("End km: " + wkms.getKm(size-1)); | |
451 } | |
452 logger.debug("wsUp: " + wsUp); | |
453 logger.debug("kmUp: " + kmUp); | |
454 logger.debug("inv: " + inv); | |
455 } | |
456 | |
457 return inv; | |
458 } | |
459 | |
460 | |
461 /** | |
462 * Get name of series (displayed in legend). | 428 * Get name of series (displayed in legend). |
463 * @return name of the series. | 429 * @return name of the series. |
464 */ | 430 */ |
465 protected String getSeriesName(WQKms wqkms, String mode) { | 431 protected String getSeriesName(WQKms wqkms, String mode) { |
466 String name = wqkms.getName(); | 432 String name = wqkms.getName(); |