Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java @ 530:d2c68f2f619b
Fixed an ArrayIndexOutOfBounds-exceptions which occured if there are less than two data points for chart creation.
gnv-artifacts/trunk@626 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 26 Jan 2010 10:07:44 +0000 |
parents | 04a242c67fe6 |
children | 24a85678bd39 |
comparison
equal
deleted
inserted
replaced
529:846e6f8d3d9c | 530:d2c68f2f619b |
---|---|
23 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de> | 23 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de> |
24 */ | 24 */ |
25 public class VerticalProfileChart | 25 public class VerticalProfileChart |
26 extends AbstractXYLineChart | 26 extends AbstractXYLineChart |
27 { | 27 { |
28 public static final String DEFAULT_AXIS = "KPOSITION"; | |
29 | |
28 private static Logger log = Logger.getLogger(VerticalProfileChart.class); | 30 private static Logger log = Logger.getLogger(VerticalProfileChart.class); |
29 | 31 |
30 protected final double PERCENTAGE = 5.0; | 32 protected final double PERCENTAGE = 5.0; |
31 protected final double GAP_MAX_LEVEL = Math.sqrt(2.0); | 33 protected final double GAP_MAX_LEVEL = Math.sqrt(2.0); |
32 protected final int GAP_MAX_VALUES = 60; | 34 protected final int GAP_MAX_VALUES = 60; |
226 Result[] results, | 228 Result[] results, |
227 Series series, | 229 Series series, |
228 int startPos, | 230 int startPos, |
229 int endPos | 231 int endPos |
230 ) { | 232 ) { |
231 String axis = getDependendAxisName( | 233 String axis = null; |
232 results[startPos], | 234 |
233 results[startPos+1] | 235 if (results.length > (startPos+1)) { |
234 ); | 236 axis = getDependendAxisName( |
237 results[startPos], | |
238 results[startPos+1] | |
239 ); | |
240 } | |
241 else { | |
242 axis = DEFAULT_AXIS; | |
243 } | |
244 | |
235 double range = 0; | 245 double range = 0; |
236 int last = 0; | 246 int last = 0; |
237 int current = 0; | 247 int current = 0; |
238 | 248 |
239 for (int i = startPos+1; i < endPos; i++) { | 249 for (int i = startPos+1; i < endPos; i++) { |