summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java30
1 files changed, 15 insertions, 15 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java b/vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java
index 530c5b3a2a9..cf23a24e702 100644
--- a/vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java
+++ b/vespajlib/src/main/java/com/yahoo/geo/OneDegreeParser.java
@@ -44,7 +44,7 @@ class OneDegreeParser {
pos++;
return 0;
} else if (pos > len) {
- throw new IllegalArgumentException("position after end of string");
+ throw new IllegalArgumentException("position after end of string when parsing <"+parseString+">");
} else {
return parseString.charAt(pos++);
}
@@ -120,7 +120,7 @@ class OneDegreeParser {
// did we find a valid char?
boolean valid = false;
if (pos == lastpos) {
- throw new RuntimeException("internal logic error at '"+parseString+"' pos:"+pos);
+ throw new IllegalArgumentException("internal logic error at <"+parseString+"> pos:"+pos);
} else {
lastpos = pos;
}
@@ -131,7 +131,7 @@ class OneDegreeParser {
if (isDigit(ch) || ch == '.') {
valid = true;
if (foundDigits) {
- throw new IllegalArgumentException("found digits after not consuming previous digits");
+ throw new IllegalArgumentException("found digits after not consuming previous digits when parsing <"+parseString+">");
}
double divider = 1.0;
foundDot = false;
@@ -153,7 +153,7 @@ class OneDegreeParser {
}
}
if (!foundDigits) {
- throw new IllegalArgumentException("just a . is not a valid number");
+ throw new IllegalArgumentException("just a . is not a valid number when parsing <"+parseString+">");
}
accum /= divider;
}
@@ -163,23 +163,23 @@ class OneDegreeParser {
if (ch == '\u00B0' || ch == 'o') {
valid = true;
if (degSet) {
- throw new IllegalArgumentException("degrees sign only valid just after degrees");
+ throw new IllegalArgumentException("degrees sign only valid just after degrees when parsing <"+parseString+">");
}
if (!foundDigits) {
- throw new IllegalArgumentException("must have number before degrees sign");
+ throw new IllegalArgumentException("must have number before degrees sign when parsing <"+parseString+">");
}
if (foundDot) {
- throw new IllegalArgumentException("cannot have fractional degrees before degrees sign");
+ throw new IllegalArgumentException("cannot have fractional degrees before degrees sign when parsing <"+parseString+">");
}
ch = getNextChar();
}
// apostrophe is a separator after minutes, before seconds
if (ch == '\'') {
if (minSet || !degSet || !foundDigits) {
- throw new IllegalArgumentException("minutes sign only valid just after minutes");
+ throw new IllegalArgumentException("minutes sign only valid just after minutes when parsing <"+parseString+">");
}
if (foundDot) {
- throw new IllegalArgumentException("cannot have fractional minutes before minutes sign");
+ throw new IllegalArgumentException("cannot have fractional minutes before minutes sign when parsing <"+parseString+">");
}
ch = getNextChar();
}
@@ -190,7 +190,7 @@ class OneDegreeParser {
if (degSet) {
if (minSet) {
if (secSet) {
- throw new IllegalArgumentException("extra number after full field");
+ throw new IllegalArgumentException("extra number after full field when parsing <"+parseString+">");
} else {
seconds = accum;
secSet = true;
@@ -218,7 +218,7 @@ class OneDegreeParser {
if (isCompassDirection(ch)) {
valid = true;
if (dirSet) {
- throw new IllegalArgumentException("already set direction once, cannot add direction: "+ch);
+ throw new IllegalArgumentException("already set direction once, cannot add direction: "+ch+" when parsing <"+parseString+">");
}
dirSet = true;
if (ch == 'S' || ch == 'W') {
@@ -245,7 +245,7 @@ class OneDegreeParser {
}
}
if (!degSet) {
- throw new IllegalArgumentException("end of field without any number seen");
+ throw new IllegalArgumentException("end of field without any number seen when parsing <"+parseString+">");
}
degrees += minutes / 60.0;
degrees += seconds / 3600.0;
@@ -253,13 +253,13 @@ class OneDegreeParser {
if (findingLatitude) {
if (degrees < -90.0 || degrees > 90.0) {
- throw new IllegalArgumentException("out of range [-90,+90]: "+degrees);
+ throw new IllegalArgumentException("out of range [-90,+90]: "+degrees+" when parsing <"+parseString+">");
}
latitude = degrees;
foundLatitude = true;
} else if (findingLongitude) {
if (degrees < -180.0 || degrees > 180.0) {
- throw new IllegalArgumentException("out of range [-180,+180]: "+degrees);
+ throw new IllegalArgumentException("out of range [-180,+180]: "+degrees+" when parsing <"+parseString+">");
}
longitude = degrees;
foundLongitude = true;
@@ -267,7 +267,7 @@ class OneDegreeParser {
break;
}
if (!valid) {
- throw new IllegalArgumentException("invalid character: "+ch);
+ throw new IllegalArgumentException("invalid character: "+ch+" when parsing <"+parseString+">");
}
} while (ch != 0);
// everything parsed OK