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++) {

http://dive4elements.wald.intevation.org