# HG changeset patch # User Ingo Weinzierl # Date 1307537018 0 # Node ID 046f43e1d3058071fd353eca134751bfa5a8f271 # Parent 33b86f5b11680aa5d256ec7904674d8efc395b5f Avoid NPE while parsing axes in ChartInfoService. flys-client/trunk@2080 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 33b86f5b1168 -r 046f43e1d305 flys-client/ChangeLog --- a/flys-client/ChangeLog Wed Jun 08 10:57:28 2011 +0000 +++ b/flys-client/ChangeLog Wed Jun 08 12:43:38 2011 +0000 @@ -1,3 +1,9 @@ +2011-06-08 Ingo Weinzierl + + * src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java: + Skip axes that lay out of valid bounds. E.g. there are 2 axes: if one of + those axes position is > 1 it is skipped. + 2011-06-08 Sascha L. Teichmann * src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java: diff -r 33b86f5b1168 -r 046f43e1d305 flys-client/src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java Wed Jun 08 10:57:28 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java Wed Jun 08 12:43:38 2011 +0000 @@ -78,7 +78,10 @@ return parseInfoDocument(info); } catch (IOException ioe) { - // do nothing + ioe.printStackTrace(); + } + catch (Exception e) { + e.printStackTrace(); } System.err.println("Error while fetching chart info."); @@ -152,6 +155,12 @@ double from = Double.parseDouble(fromStr); double to = Double.parseDouble(toStr); + if (pos >= result.length) { + // this should never happen + System.err.println("The axis is out of valid range: " + pos); + continue; + } + result[pos] = new Axis(pos, from, to); } catch (NumberFormatException nfe) {