diff options
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/geo/ParseDegree.java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/geo/ParseDegree.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/geo/ParseDegree.java b/vespajlib/src/main/java/com/yahoo/geo/ParseDegree.java index fe783b95414..a6200ed60c6 100644 --- a/vespajlib/src/main/java/com/yahoo/geo/ParseDegree.java +++ b/vespajlib/src/main/java/com/yahoo/geo/ParseDegree.java @@ -31,6 +31,14 @@ public class ParseDegree { private int len = 0; private int pos = 0; + public String toString() { + if (foundLatitude) { + return parseString + " -> latitude(" + latitude + ")"; + } else { + return parseString + " -> longitude(" + longitude + ")"; + } + } + private char getNextChar() throws IllegalArgumentException { if (pos == len) { pos++; @@ -71,11 +79,11 @@ public class ParseDegree { * "N63.418417" and "E10.433033" → same <br> * "63N25.105" and "10E25.982" → same <br> * @param assume_n_s Latitude assumed, otherwise longitude - * @param latorlong Latitude or longitude + * @param lat_or_lon Latitude or longitude * **/ - public ParseDegree(boolean assume_n_s, String lat_or_long) throws IllegalArgumentException { - this.parseString = lat_or_long; + public ParseDegree(boolean assume_n_s, String lat_or_lon) throws IllegalArgumentException { + this.parseString = lat_or_lon; this.len = parseString.length(); consumeString(assume_n_s); } @@ -263,5 +271,12 @@ public class ParseDegree { } } while (ch != 0); // everything parsed OK + if (foundLatitude && foundLongitude) { + throw new IllegalArgumentException("found both latitude and longitude from: "+parseString); + } + if (foundLatitude || foundLongitude) { + return; + } + throw new IllegalArgumentException("found neither latitude nor longitude from: "+parseString); } } |