comparison artifacts/src/main/java/org/dive4elements/river/exports/DischargeGenerator.java @ 8738:e6d0fc817e20

(issue1798) Handle the case when there are no data in the diagram.
author Tom Gottfried <tom@intevation.de>
date Wed, 06 May 2015 18:46:57 +0200
parents bc803f4b6784
children 1cc7653ca84f 0a5239a1e46e
comparison
equal deleted inserted replaced
8737:afa2096a1f15 8738:e6d0fc817e20
12 import org.apache.log4j.Logger; 12 import org.apache.log4j.Logger;
13 import org.dive4elements.river.artifacts.resources.Resources; 13 import org.dive4elements.river.artifacts.resources.Resources;
14 import org.dive4elements.river.exports.injector.InjectorConstants; 14 import org.dive4elements.river.exports.injector.InjectorConstants;
15 import org.dive4elements.river.jfree.AxisDataset; 15 import org.dive4elements.river.jfree.AxisDataset;
16 import org.dive4elements.river.jfree.DoubleBounds; 16 import org.dive4elements.river.jfree.DoubleBounds;
17
17 import org.jfree.chart.axis.NumberAxis; 18 import org.jfree.chart.axis.NumberAxis;
19 import org.jfree.chart.axis.ValueAxis;
18 import org.jfree.chart.plot.XYPlot; 20 import org.jfree.chart.plot.XYPlot;
19 import org.jfree.data.Range; 21 import org.jfree.data.Range;
20 22
21 public class DischargeGenerator 23 public class DischargeGenerator
22 extends DiagramGenerator 24 extends DiagramGenerator
107 109
108 /** We need to override this to keep both axis synced. */ 110 /** We need to override this to keep both axis synced. */
109 @Override 111 @Override
110 protected void autoZoom(XYPlot plot) { 112 protected void autoZoom(XYPlot plot) {
111 super.autoZoom(plot); 113 super.autoZoom(plot);
112 IdentifiableNumberAxis idA = (IdentifiableNumberAxis) plot.getRangeAxis(wAxisIndex); 114
113 Range fixedRange = getRangeForAxisFromSettings(idA.getId()); 115 ValueAxis wAxis = plot.getRangeAxis(wAxisIndex);
114 if (fixedRange == null) { 116 if (wAxis instanceof IdentifiableNumberAxis) {
115 return; 117 IdentifiableNumberAxis idA = (IdentifiableNumberAxis)wAxis;
118 Range fixedRange = getRangeForAxisFromSettings(idA.getId());
119 if (fixedRange == null) {
120 return;
121 }
122
123 log.debug("Adjusting helper centimeter axis to fixed range.");
124 Range adjustedRange = inCm(
125 fixedRange,
126 pnpValue
127 );
128 IdentifiableNumberAxis wInCmAxis=
129 (IdentifiableNumberAxis) plot.getRangeAxis(wInCmAxisIndex);
130 wInCmAxis.setRange(adjustedRange);
116 } 131 }
117 log.debug("Adjusting helper centimeter axis to fixed range.");
118 Range adjustedRange = inCm(
119 fixedRange,
120 pnpValue
121 );
122 IdentifiableNumberAxis wInCmAxis=
123 (IdentifiableNumberAxis) plot.getRangeAxis(wInCmAxisIndex);
124 wInCmAxis.setRange(adjustedRange);
125 } 132 }
126 } 133 }
127 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 134 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org