use of com.fasterxml.jackson.databind.module.SimpleModule in project jackson-databind by FasterXML.
the class TestContextualSerialization method testWrappedBean.
public void testWrappedBean() throws Exception {
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule("test", Version.unknownVersion());
module.addSerializer(String.class, new AnnotatedContextualSerializer());
mapper.registerModule(module);
assertEquals("{\"wrapped\":{\"value\":\"see:xyz\"}}", mapper.writeValueAsString(new ContextualBeanWrapper("xyz")));
}
use of com.fasterxml.jackson.databind.module.SimpleModule in project jackson-databind by FasterXML.
the class TestContextualSerialization method testClassAnnotations.
// Test to verify that contextual serializer can also use annotations
// for enclosing class.
public void testClassAnnotations() throws Exception {
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule("test", Version.unknownVersion());
module.addSerializer(String.class, new AnnotatedContextualSerializer());
mapper.registerModule(module);
assertEquals("{\"value\":\"Voila->xyz\"}", mapper.writeValueAsString(new BeanWithClassConfig("xyz")));
}
use of com.fasterxml.jackson.databind.module.SimpleModule in project jackson-databind by FasterXML.
the class TestContextualSerialization method testMethodAnnotationInMap.
// Serializer should get passed property context even if contained in a Collection.
public void testMethodAnnotationInMap() throws Exception {
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule("test", Version.unknownVersion());
module.addSerializer(String.class, new AnnotatedContextualSerializer());
mapper.registerModule(module);
ContextualMapBean map = new ContextualMapBean();
map.beans.put("first", "In Map");
assertEquals("{\"beans\":{\"first\":\"map->In Map\"}}", mapper.writeValueAsString(map));
}
use of com.fasterxml.jackson.databind.module.SimpleModule in project jackson-databind by FasterXML.
the class TestContextualSerialization method testMethodAnnotationInArray.
// Serializer should get passed property context even if contained in an array.
public void testMethodAnnotationInArray() throws Exception {
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule("test", Version.unknownVersion());
module.addSerializer(String.class, new AnnotatedContextualSerializer());
mapper.registerModule(module);
ContextualArrayBean beans = new ContextualArrayBean("123");
assertEquals("{\"beans\":[\"array->123\"]}", mapper.writeValueAsString(beans));
}
use of com.fasterxml.jackson.databind.module.SimpleModule in project jackson-databind by FasterXML.
the class TestExceptionsDuringWriting method testCatchAndRethrow.
/*
/**********************************************************
/* Tests
/**********************************************************
*/
/**
* Unit test that verifies that by default all exceptions except for
* JsonMappingException are caught and wrapped.
*/
public void testCatchAndRethrow() throws Exception {
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule("test-exceptions", Version.unknownVersion());
module.addSerializer(Bean.class, new SerializerWithErrors());
mapper.registerModule(module);
try {
StringWriter sw = new StringWriter();
/* And just to make things more interesting, let's create
* a nested data struct...
*/
Bean[] b = { new Bean() };
List<Bean[]> l = new ArrayList<Bean[]>();
l.add(b);
mapper.writeValue(sw, l);
fail("Should have gotten an exception");
} catch (IOException e) {
// should contain original message somewhere
verifyException(e, "test string");
Throwable root = e.getCause();
assertNotNull(root);
if (!(root instanceof IllegalArgumentException)) {
fail("Wrapped exception not IAE, but " + root.getClass());
}
}
}
Aggregations