diff options
author | Arne H Juul <arnej@yahoo-inc.com> | 2017-05-24 17:14:30 +0200 |
---|---|---|
committer | Arne H Juul <arnej@yahoo-inc.com> | 2017-05-24 17:14:30 +0200 |
commit | b99f11342a015e2934856193d5f11a3673aab924 (patch) | |
tree | 7f03b80c4a87f201976516cebdc25580efe5387c /document | |
parent | 63c1fb16923cdd19af9d2977624e0e822b75994a (diff) |
more readable error if geo coordinates do not parse
Diffstat (limited to 'document')
-rw-r--r-- | document/src/main/java/com/yahoo/document/PositionDataType.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/document/src/main/java/com/yahoo/document/PositionDataType.java b/document/src/main/java/com/yahoo/document/PositionDataType.java index 816fcd7bdf7..a989422ab92 100644 --- a/document/src/main/java/com/yahoo/document/PositionDataType.java +++ b/document/src/main/java/com/yahoo/document/PositionDataType.java @@ -73,10 +73,18 @@ public final class PositionDataType { DegreesParser d = new DegreesParser(str); return valueOf((int)(d.longitude * 1000000), (int)(d.latitude * 1000000)); } catch (IllegalArgumentException e) { - // empty + try { + String[] arr = str.split(";"); + if (arr.length == 2) { + int x = Integer.parseInt(arr[0]); + int y = Integer.parseInt(arr[1]); + return valueOf(x, y); + } + } catch (NumberFormatException nfe) { + // empty + } + throw new IllegalArgumentException("Could not parse '"+str+"' as geo coordinates: "+e.getMessage()); } - String[] arr = str.split(";", 2); - return valueOf(Integer.parseInt(arr[0]), Integer.parseInt(arr[1])); } public static IntegerFieldValue getXValue(FieldValue pos) { |