From dc6a7b4f354eaf4661519099eff8259ca4f9d63c Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Tue, 3 Mar 2020 20:39:55 -0800 Subject: [PATCH] Backport #16 fix to 2.10(.4) --- .../datatype/jsr353/JsonValueDeserializer.java | 15 ++++++--------- .../datatype/jsr353/SimpleDeserializeTest.java | 15 ++++----------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/fasterxml/jackson/datatype/jsr353/JsonValueDeserializer.java b/src/main/java/com/fasterxml/jackson/datatype/jsr353/JsonValueDeserializer.java index 406e501..dd11816 100644 --- a/src/main/java/com/fasterxml/jackson/datatype/jsr353/JsonValueDeserializer.java +++ b/src/main/java/com/fasterxml/jackson/datatype/jsr353/JsonValueDeserializer.java @@ -1,9 +1,7 @@ package com.fasterxml.jackson.datatype.jsr353; -import com.fasterxml.jackson.databind.JsonMappingException; import java.io.IOException; -import javax.json.Json; import javax.json.JsonArrayBuilder; import javax.json.JsonBuilderFactory; import javax.json.JsonObjectBuilder; @@ -28,7 +26,7 @@ public JsonValueDeserializer(JsonBuilderFactory bf) { @Override public JsonValue deserialize(JsonParser p, DeserializationContext ctxt) - throws IOException, JsonProcessingException + throws IOException { switch (p.getCurrentToken()) { case START_OBJECT: @@ -41,14 +39,13 @@ public JsonValue deserialize(JsonParser p, DeserializationContext ctxt) } @Override - public Object getNullValue(final DeserializationContext ctxt){ + public JsonValue getNullValue(final DeserializationContext ctxt) { return JsonValue.NULL; } @Override public Object deserializeWithType(JsonParser p, DeserializationContext ctxt, - TypeDeserializer typeDeser) - throws IOException, JsonProcessingException + TypeDeserializer typeDeser) throws IOException { // we will always serialize using wrapper-array; approximated by claiming it's scalar return typeDeser.deserializeTypedFromScalar(p, ctxt); @@ -61,7 +58,7 @@ public Object deserializeWithType(JsonParser p, DeserializationContext ctxt, */ protected JsonValue _deserializeObject(JsonParser p, DeserializationContext ctxt) - throws IOException, JsonProcessingException + throws IOException { JsonObjectBuilder b = _builderFactory.createObjectBuilder(); while (p.nextToken() != JsonToken.END_OBJECT) { @@ -125,7 +122,7 @@ protected JsonValue _deserializeObject(JsonParser p, DeserializationContext ctxt } protected JsonValue _deserializeArray(JsonParser p, DeserializationContext ctxt) - throws IOException, JsonProcessingException + throws IOException { JsonArrayBuilder b = _builderFactory.createArrayBuilder(); JsonToken t; @@ -177,7 +174,7 @@ protected JsonValue _deserializeArray(JsonParser p, DeserializationContext ctxt) } protected JsonValue _deserializeScalar(JsonParser p, DeserializationContext ctxt) - throws IOException, JsonProcessingException + throws IOException { switch (p.getCurrentToken()) { case VALUE_EMBEDDED_OBJECT: diff --git a/src/test/java/com/fasterxml/jackson/datatype/jsr353/SimpleDeserializeTest.java b/src/test/java/com/fasterxml/jackson/datatype/jsr353/SimpleDeserializeTest.java index 18b6959..79d97a6 100644 --- a/src/test/java/com/fasterxml/jackson/datatype/jsr353/SimpleDeserializeTest.java +++ b/src/test/java/com/fasterxml/jackson/datatype/jsr353/SimpleDeserializeTest.java @@ -1,6 +1,5 @@ package com.fasterxml.jackson.datatype.jsr353; -import com.fasterxml.jackson.databind.json.JsonMapper; import javax.json.*; import javax.json.JsonValue.ValueType; @@ -84,7 +83,7 @@ public void testNestedObject() throws Exception assertEquals(JSON, serializeAsString(v)); } - // for [issue#5] + // for [datatype-jsr353#5] public void testBinaryNode() throws Exception { ObjectNode root = MAPPER.createObjectNode(); @@ -99,18 +98,12 @@ public void testBinaryNode() throws Exception assertEquals("AA==", str); // single zero byte } + // for [datatype-jsr353#16] public void testNullNode() throws Exception { - final JsonMapper mapper = mapperBuilder().build(); - - final String serializedNull = mapper.writeValueAsString(JsonValue.NULL); - + final String serializedNull = MAPPER.writeValueAsString(JsonValue.NULL); assertEquals("null", serializedNull); - - final JsonValue deserializedNull = mapper.readValue(serializedNull, JsonValue.class); - - assertNotNull(deserializedNull); - + final JsonValue deserializedNull = MAPPER.readValue(serializedNull, JsonValue.class); assertEquals(JsonValue.NULL, deserializedNull); } }