diff options
author | Cowtowncoder <tatu.saloranta@iki.fi> | 2015-06-18 11:07:59 -0700 |
---|---|---|
committer | Cowtowncoder <tatu.saloranta@iki.fi> | 2015-06-18 11:07:59 -0700 |
commit | c094769978bc5fed372f0f540613cfb66d3397d6 (patch) | |
tree | 6095b589516f223569599235e2c547dcde73a2f2 /attic | |
parent | 07ac014428b22b5b979f4c2e8a677d439207c023 (diff) | |
download | jackson-databind-c094769978bc5fed372f0f540613cfb66d3397d6.tar.gz |
test cleanup
Diffstat (limited to 'attic')
-rw-r--r-- | attic/MappingIteratorDeserializer.java | 53 | ||||
-rw-r--r-- | attic/MappingIteratorReadTest.java | 25 |
2 files changed, 78 insertions, 0 deletions
diff --git a/attic/MappingIteratorDeserializer.java b/attic/MappingIteratorDeserializer.java new file mode 100644 index 000000000..92646eabe --- /dev/null +++ b/attic/MappingIteratorDeserializer.java @@ -0,0 +1,53 @@ +package com.fasterxml.jackson.databind.deser.std; + +import java.io.IOException; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.databind.*; +import com.fasterxml.jackson.databind.deser.ContextualDeserializer; + +public class MappingIteratorDeserializer + extends StdDeserializer<MappingIterator<Object>> + implements ContextualDeserializer +{ + private static final long serialVersionUID = 1L; + + protected final JavaType _valueType; + + protected final JsonDeserializer<Object> _valueDeserializer; + + public MappingIteratorDeserializer(JavaType valueType) { + this(valueType, null); + } + + protected MappingIteratorDeserializer(JavaType valueType, JsonDeserializer<Object> vdeser) { + super(MappingIterator.class); + _valueType = valueType; + _valueDeserializer = vdeser; + } + + @Override + public JsonDeserializer<?> createContextual(DeserializationContext ctxt, + BeanProperty prop) throws JsonMappingException + { + JsonDeserializer<Object> deser = ctxt.findContextualValueDeserializer(_valueType, prop); + return (deser == _valueDeserializer) ? this + : new MappingIteratorDeserializer(_valueType, deser); + } + + @Override + public MappingIterator<Object> deserialize(JsonParser p, + DeserializationContext ctxt) throws IOException, + JsonProcessingException + { +System.err.println("DEBUG: token/0 == "+p.getCurrentToken()); + + MappingIterator<Object> mit = new MappingIterator<Object>(_valueType, p, ctxt, + _valueDeserializer, false, null); + +System.err.println("DEBUG: token/1 == "+p.getCurrentToken()); + + return mit; + } + +} diff --git a/attic/MappingIteratorReadTest.java b/attic/MappingIteratorReadTest.java new file mode 100644 index 000000000..25aa64c42 --- /dev/null +++ b/attic/MappingIteratorReadTest.java @@ -0,0 +1,25 @@ +package com.fasterxml.jackson.databind.seq; + +import java.util.List; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.*; + +/** + * Test(s) for [databind#823], adding support for reading root-level + * sequences. + */ +public class MappingIteratorReadTest extends BaseMapTest +{ + public void testSimple() throws Exception + { + final ObjectMapper MAPPER = new ObjectMapper(); + final String JSON = aposToQuotes("{'str':'a'}{'str':'b'}\n {'str':'c'}"); + MappingIterator<StringWrapper> it = MAPPER + .readValue(JSON, new TypeReference<MappingIterator<StringWrapper>>() { }); + List<StringWrapper> all = it.readAll(); + assertEquals(3, all.size()); + assertEquals("c", all.get(2).str); + it.close(); + } +} |