JsonJacksonCoded do not override provided objectMapper settings.

pull/1263/head
Gzegoz Jurgo 7 years ago
parent 080dd1f020
commit 9198b5fc50

@ -18,7 +18,7 @@
<properties>
<maven.test.skip>true</maven.test.skip>
<source.version>1.6</source.version>
<source.version>1.8</source.version>
<test.source.version>1.8</test.source.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

@ -103,9 +103,9 @@ public class JsonJacksonCodec implements Codec {
}
public JsonJacksonCodec(ObjectMapper mapObjectMapper) {
this.mapObjectMapper = mapObjectMapper;
init(mapObjectMapper);
initTypeInclusion(mapObjectMapper);
this.mapObjectMapper = mapObjectMapper.copy();
init(this.mapObjectMapper);
initTypeInclusion(this.mapObjectMapper);
}
protected void initTypeInclusion(ObjectMapper mapObjectMapper) {

@ -2,6 +2,8 @@ package org.redisson.codec;
import java.io.IOException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Assert;
import org.junit.Test;
@ -33,5 +35,18 @@ public class JsonJacksonCodecTest {
codec.getObjectMapper().readValue(JSON, Bean1599.class);
Assert.fail("Should not pass");
}
@Test
public void shouldNotOverrideProvidedObjectMapperProperties() throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true);
objectMapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false);
JsonJacksonCodec codec = new JsonJacksonCodec(objectMapper);
Assert.assertTrue(objectMapper.getDeserializationConfig().isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES));
Assert.assertFalse(codec.getObjectMapper().getDeserializationConfig().isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES));
Assert.assertFalse(objectMapper.getDeserializationConfig().isEnabled(DeserializationFeature.UNWRAP_ROOT_VALUE));
Assert.assertFalse(codec.getObjectMapper().getDeserializationConfig().isEnabled(DeserializationFeature.UNWRAP_ROOT_VALUE));
}
}

Loading…
Cancel
Save