Minor test refactoring (move straggler object id tests under 'struct')
diff --git a/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java b/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java
index a862c70..e32efba 100644
--- a/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java
+++ b/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java
@@ -28,7 +28,7 @@
protected JsonNode _at(JsonPointer ptr) {
return get(ptr.getMatchingIndex());
}
-
+
// note: co-variant to allow caller-side type safety
@SuppressWarnings("unchecked")
@Override
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java b/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java
index 7281d33..da6ceab 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java
+++ b/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java
@@ -4,9 +4,7 @@
import java.util.*;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
-
import com.fasterxml.jackson.core.*;
-
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
@@ -14,27 +12,24 @@
import com.fasterxml.jackson.databind.module.SimpleModule;
/**
- * Unit tests for verifying "old" data binding from JSON to JDK objects;
+ * Unit tests for verifying "raw" (or "untyped") data binding from JSON to JDK objects;
* one that only uses core JDK types; wrappers, Maps and Lists.
*/
+@SuppressWarnings("serial")
public class TestUntypedDeserialization
extends BaseMapTest
{
- @SuppressWarnings("serial")
static class UCStringDeserializer
extends StdScalarDeserializer<String>
{
public UCStringDeserializer() { super(String.class); }
@Override
- public String deserialize(JsonParser jp, DeserializationContext ctxt)
- throws IOException, JsonProcessingException
- {
+ public String deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
return jp.getText().toUpperCase();
}
}
- @SuppressWarnings("serial")
static class CustomNumberDeserializer
extends StdScalarDeserializer<Number>
{
@@ -46,15 +41,14 @@
}
@Override
- public Number deserialize(JsonParser jp, DeserializationContext ctxt)
- throws IOException, JsonProcessingException
- {
+ public Number deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
return value;
}
}
- @SuppressWarnings("serial")
+ // Let's make this Contextual, to tease out cyclic resolution issues, if any
static class ListDeserializer extends StdDeserializer<List<Object>>
+ implements ContextualDeserializer
{
public ListDeserializer() { super(List.class); }
@@ -68,9 +62,19 @@
}
return list;
}
+
+ @Override
+ public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
+ BeanProperty property) throws JsonMappingException
+ {
+ // For now, we just need to access "untyped" deserializer; not use it.
+
+ /*JsonDeserializer<Object> ob = */
+ ctxt.findContextualValueDeserializer(ctxt.constructType(Object.class), property);
+ return this;
+ }
}
- @SuppressWarnings("serial")
static class MapDeserializer extends StdDeserializer<Map<String,Object>>
{
public MapDeserializer() { super(Map.class); }
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/TestForwardReference.java b/src/test/java/com/fasterxml/jackson/databind/struct/TestForwardReference.java
similarity index 97%
rename from src/test/java/com/fasterxml/jackson/databind/deser/TestForwardReference.java
rename to src/test/java/com/fasterxml/jackson/databind/struct/TestForwardReference.java
index aaeaeb1..87a5ce1 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/TestForwardReference.java
+++ b/src/test/java/com/fasterxml/jackson/databind/struct/TestForwardReference.java
@@ -1,4 +1,4 @@
-package com.fasterxml.jackson.databind.deser;
+package com.fasterxml.jackson.databind.struct;
import java.io.IOException;
diff --git a/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java b/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java
index 78f0cf6..d3cbdce 100644
--- a/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java
+++ b/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java
@@ -330,8 +330,7 @@
}
}
- public void testKeepCollectionOrdering()
- throws Exception
+ public void testKeepCollectionOrdering() throws Exception
{
String json = "{\"employees\":[2,1,"
+ "{\"id\":1,\"name\":\"First\",\"manager\":null,\"reports\":[2]},"
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/TestParentChildReferences.java b/src/test/java/com/fasterxml/jackson/databind/struct/TestParentChildReferences.java
similarity index 99%
rename from src/test/java/com/fasterxml/jackson/databind/deser/TestParentChildReferences.java
rename to src/test/java/com/fasterxml/jackson/databind/struct/TestParentChildReferences.java
index 3ca2b19..1a6a264 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/TestParentChildReferences.java
+++ b/src/test/java/com/fasterxml/jackson/databind/struct/TestParentChildReferences.java
@@ -1,4 +1,4 @@
-package com.fasterxml.jackson.databind.deser;
+package com.fasterxml.jackson.databind.struct;
import java.util.*;