aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Stabiszewski <github@grundid.de>2016-11-29 11:35:48 +0100
committerGitHub <noreply@github.com>2016-11-29 11:35:48 +0100
commit28efcccfb08c236be90ff0cbadf974a68aefa2f3 (patch)
tree3f54523db9d1ae615e09f96d218e645d526fb834
parent1cf7c7969207d62ae9a42ae844863b7dbd58ffea (diff)
parent342c523f5385644e85b78885bfa8e572961b91d9 (diff)
downloadgeojson-jackson-28efcccfb08c236be90ff0cbadf974a68aefa2f3.tar.gz
Merge pull request #32 from Babbleshack/mongo-deserializer-for-LngLatAlt
Add fix to LngLatAlt deserilizer for mongo
-rw-r--r--src/main/java/org/geojson/jackson/LngLatAltDeserializer.java4
-rw-r--r--src/test/java/org/geojson/jackson/LngLatAltDeserializerTest.java21
2 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java b/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java
index 596a9c9..02d6a6c 100644
--- a/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java
+++ b/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java
@@ -68,9 +68,11 @@ public class LngLatAltDeserializer extends JsonDeserializer<LngLatAlt> {
return jp.getDoubleValue();
case VALUE_NUMBER_INT:
return jp.getLongValue();
+ case VALUE_STRING:
+ return jp.getValueAsDouble();
default:
throw ctxt.mappingException("Unexpected token (" + token.name()
- + ") when binding data into LngLatAlt ");
+ + ") when binding data into LngLatAlt");
}
}
}
diff --git a/src/test/java/org/geojson/jackson/LngLatAltDeserializerTest.java b/src/test/java/org/geojson/jackson/LngLatAltDeserializerTest.java
new file mode 100644
index 0000000..5d204b8
--- /dev/null
+++ b/src/test/java/org/geojson/jackson/LngLatAltDeserializerTest.java
@@ -0,0 +1,21 @@
+package org.geojson.jackson;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.geojson.LngLatAlt;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Created by babbleshack on 27/11/16.
+ */
+public class LngLatAltDeserializerTest {
+ @Test
+ public void deserializeMongoLngLatAlt() throws Exception {
+ LngLatAlt lngLatAlt = new LngLatAlt(10D, 15D, 5);
+ String lngLatAltJson = new ObjectMapper().writeValueAsString(lngLatAlt);
+ lngLatAltJson.replace("10.0", "\"10.0\"");
+ lngLatAltJson.replace("15.0", "\"15.0\"");
+ LngLatAlt lngLatAlt1 = new ObjectMapper().readValue(lngLatAltJson, LngLatAlt.class);
+ Assert.assertTrue(lngLatAlt.equals(lngLatAlt));
+ }
+}