Add defaultUseWrapper support to Jackson builder

Issue: SPR-13975
This commit is contained in:
Sebastien Deleuze
2016-03-01 23:47:40 +01:00
parent ffbf264976
commit 7b861c9a8a
3 changed files with 68 additions and 2 deletions

View File

@@ -22,9 +22,11 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
@@ -437,6 +439,16 @@ public class Jackson2ObjectMapperBuilderTests {
assertTrue(xmlObjectMapper.getClass().isAssignableFrom(XmlMapper.class));
}
@Test // SPR-13975
public void defaultUseWrapper() throws JsonProcessingException {
ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.xml().defaultUseWrapper(false).build();
assertNotNull(objectMapper);
assertEquals(XmlMapper.class, objectMapper.getClass());
ListContainer<String> container = new ListContainer<>(Arrays.asList("foo", "bar"));
String output = objectMapper.writeValueAsString(container);
assertThat(output, containsString("<list>foo</list><list>bar</list></ListContainer>"));
}
public static class CustomIntegerModule extends Module {
@@ -501,4 +513,24 @@ public class Jackson2ObjectMapperBuilderTests {
}
}
public static class ListContainer<T> {
private List<T> list;
public ListContainer() {
}
public ListContainer(List<T> list) {
this.list = list;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}
}