aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Stabiszewski <as@grundid.de>2017-04-25 19:02:11 +0200
committerAdrian Stabiszewski <as@grundid.de>2017-04-25 19:02:11 +0200
commit7b780aae2e9a39a12a8fa43ebee113d046541b1a (patch)
treeb7b49b79629b3f31e5f9e81eaaa91796276c3211
parente53689bf64b227e8ea7d6b67a0d8f78c124d1732 (diff)
downloadgeojson-jackson-7b780aae2e9a39a12a8fa43ebee113d046541b1a.tar.gz
cleanup
-rw-r--r--src/main/java/org/geojson/jackson/LngLatAltDeserializer.java124
1 files changed, 57 insertions, 67 deletions
diff --git a/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java b/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java
index 02d6a6c..ff888c6 100644
--- a/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java
+++ b/src/main/java/org/geojson/jackson/LngLatAltDeserializer.java
@@ -1,79 +1,69 @@
package org.geojson.jackson;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.geojson.LngLatAlt;
-
-import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
+import org.geojson.LngLatAlt;
-public class LngLatAltDeserializer extends JsonDeserializer<LngLatAlt> {
-
- @Override
- public LngLatAlt deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException,
- JsonProcessingException {
- if (jp.isExpectedStartArrayToken()) {
- return deserializeArray(jp, ctxt);
- }
- throw ctxt.mappingException(LngLatAlt.class);
- }
-
- protected LngLatAlt deserializeArray(JsonParser jp, DeserializationContext ctxt) throws IOException,
- JsonProcessingException {
- LngLatAlt node = new LngLatAlt();
- node.setLongitude(extractDouble(jp, ctxt, false));
- node.setLatitude(extractDouble(jp, ctxt, false));
- node.setAltitude(extractDouble(jp, ctxt, true));
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
- List<Double> additionalElementsList = new ArrayList<Double>();
- while (jp.hasCurrentToken() && jp.getCurrentToken() != JsonToken.END_ARRAY) {
- double element = extractDouble(jp, ctxt, true);
- if (!Double.isNaN(element)) {
- additionalElementsList.add(element);
- }
- }
+public class LngLatAltDeserializer extends JsonDeserializer<LngLatAlt> {
- double[] additionalElements = new double[additionalElementsList.size()];
- for(int i = 0; i < additionalElements.length; i++) {
- additionalElements[i] = additionalElementsList.get(i);
- }
- node.setAdditionalElements(additionalElements);
+ @Override
+ public LngLatAlt deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
+ if (jp.isExpectedStartArrayToken()) {
+ return deserializeArray(jp, ctxt);
+ }
+ throw ctxt.mappingException(LngLatAlt.class);
+ }
- return node;
- }
+ protected LngLatAlt deserializeArray(JsonParser jp, DeserializationContext ctxt) throws IOException {
+ LngLatAlt node = new LngLatAlt();
+ node.setLongitude(extractDouble(jp, ctxt, false));
+ node.setLatitude(extractDouble(jp, ctxt, false));
+ node.setAltitude(extractDouble(jp, ctxt, true));
+ List<Double> additionalElementsList = new ArrayList<Double>();
+ while (jp.hasCurrentToken() && jp.getCurrentToken() != JsonToken.END_ARRAY) {
+ double element = extractDouble(jp, ctxt, true);
+ if (!Double.isNaN(element)) {
+ additionalElementsList.add(element);
+ }
+ }
+ double[] additionalElements = new double[additionalElementsList.size()];
+ for (int i = 0; i < additionalElements.length; i++) {
+ additionalElements[i] = additionalElementsList.get(i);
+ }
+ node.setAdditionalElements(additionalElements);
+ return node;
+ }
- private double extractDouble(JsonParser jp, DeserializationContext ctxt, boolean optional)
- throws JsonParseException, IOException {
- JsonToken token = jp.nextToken();
- if (token == null) {
- if (optional)
- return Double.NaN;
- else
- throw ctxt.mappingException("Unexpected end-of-input when binding data into LngLatAlt");
- }
- else {
- switch (token) {
- case END_ARRAY:
- if (optional)
- return Double.NaN;
- else
- throw ctxt.mappingException("Unexpected end-of-input when binding data into LngLatAlt");
- case VALUE_NUMBER_FLOAT:
- 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");
- }
- }
- }
+ private double extractDouble(JsonParser jp, DeserializationContext ctxt, boolean optional) throws IOException {
+ JsonToken token = jp.nextToken();
+ if (token == null) {
+ if (optional)
+ return Double.NaN;
+ else
+ throw ctxt.mappingException("Unexpected end-of-input when binding data into LngLatAlt");
+ } else {
+ switch (token) {
+ case END_ARRAY:
+ if (optional)
+ return Double.NaN;
+ else
+ throw ctxt.mappingException("Unexpected end-of-input when binding data into LngLatAlt");
+ case VALUE_NUMBER_FLOAT:
+ 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");
+ }
+ }
+ }
}