List of usage examples for com.fasterxml.jackson.databind.module SimpleModule SimpleModule
public SimpleModule(String name, Version version)
From source file:com.mastfrog.acteur.mongo.impl.JacksonMongoDB.java
@Override public ObjectMapper configure(ObjectMapper om) { om.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY); SimpleModule sm = new SimpleModule("mongo", new Version(1, 0, 0, null, "com.timboudreau", "trackerapi")); sm.addSerializer(new ObjectIdSerializer()); sm.addDeserializer(ObjectId.class, new ObjectIdDeserializer()); om.registerModule(sm);/*ww w. j av a 2 s . c om*/ return om; }
From source file:org.apache.unomi.persistence.spi.CustomObjectMapper.java
public CustomObjectMapper() { super();//ww w . ja v a 2s . co m super.registerModule(new JaxbAnnotationModule()); configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); ISO8601DateFormat dateFormat = new ISO8601DateFormat(); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); setDateFormat(dateFormat); SimpleModule deserializerModule = new SimpleModule("PropertyTypedObjectDeserializerModule", new Version(1, 0, 0, null, "org.apache.unomi.rest", "deserializer")); PropertyTypedObjectDeserializer propertyTypedObjectDeserializer = new PropertyTypedObjectDeserializer(); propertyTypedObjectDeserializer.registerMapping("type=.*Condition", Condition.class); deserializerModule.addDeserializer(Object.class, propertyTypedObjectDeserializer); ItemDeserializer itemDeserializer = new ItemDeserializer(); deserializerModule.addDeserializer(Item.class, itemDeserializer); Map<String, Class<? extends Item>> classes = new HashMap<>(); classes.put(Campaign.ITEM_TYPE, Campaign.class); classes.put(CampaignEvent.ITEM_TYPE, CampaignEvent.class); classes.put(Event.ITEM_TYPE, Event.class); classes.put(Goal.ITEM_TYPE, Goal.class); classes.put(Persona.ITEM_TYPE, Persona.class); classes.put(Rule.ITEM_TYPE, Rule.class); classes.put(Scoring.ITEM_TYPE, Scoring.class); classes.put(Segment.ITEM_TYPE, Segment.class); classes.put(Session.ITEM_TYPE, Session.class); classes.put(ConditionType.ITEM_TYPE, ConditionType.class); classes.put(ActionType.ITEM_TYPE, ActionType.class); for (Map.Entry<String, Class<? extends Item>> entry : classes.entrySet()) { propertyTypedObjectDeserializer.registerMapping("itemType=" + entry.getKey(), entry.getValue()); itemDeserializer.registerMapping(entry.getKey(), entry.getValue()); } propertyTypedObjectDeserializer.registerMapping("itemType=.*", CustomItem.class); super.registerModule(deserializerModule); }
From source file:org.jboss.aerogear.simplepush.protocol.impl.json.JsonUtil.java
private static ObjectMapper createObjectMapper() { om = new ObjectMapper(); final SimpleModule module = new SimpleModule("MyModule", new Version(0, 10, 0, null, "org.jboss.aerogear", "aerogear-simplepush-server")); module.addDeserializer(MessageType.class, new MessageTypeDeserializer()); module.addDeserializer(RegisterMessageImpl.class, new RegisterDeserializer()); module.addSerializer(RegisterMessageImpl.class, new RegisterSerializer()); module.addDeserializer(RegisterResponseImpl.class, new RegisterResponseDeserializer()); module.addSerializer(RegisterResponseImpl.class, new RegisterResponseSerializer()); module.addDeserializer(HelloMessageImpl.class, new HelloDeserializer()); module.addSerializer(HelloMessageImpl.class, new HelloSerializer()); module.addDeserializer(HelloResponseImpl.class, new HelloResponseDeserializer()); module.addSerializer(HelloResponseImpl.class, new HelloResponseSerializer()); module.addDeserializer(AckMessageImpl.class, new AckDeserializer()); module.addSerializer(AckMessageImpl.class, new AckSerializer()); module.addDeserializer(PingMessageImpl.class, new PingDeserializer()); module.addSerializer(PingMessageImpl.class, new PingSerializer()); module.addDeserializer(NotificationMessageImpl.class, new NotificationDeserializer()); module.addSerializer(NotificationMessageImpl.class, new NotificationSerializer()); module.addDeserializer(UnregisterMessageImpl.class, new UnregisterDeserializer()); module.addSerializer(UnregisterMessageImpl.class, new UnregisterMessageSerializer()); module.addDeserializer(UnregisterResponseImpl.class, new UnregisterResponseDeserializer()); module.addSerializer(UnregisterResponseImpl.class, new UnregisterResponseSerializer()); om.registerModule(module);/*from w w w .j a va2s . co m*/ return om; }
From source file:com.cloudera.exhibit.server.main.ExhibitApplication.java
void setupMapper(ObjectMapper mapper) { SimpleModule mod = new SimpleModule("exhibit", Version.unknownVersion()); mod.addSerializer(Exhibit.class, new ExhibitSerializer()); mod.addSerializer(Frame.class, new FrameSerializer()); mapper.registerModule(mod);// w w w. j av a 2s.c o m }
From source file:net.roboconf.dm.rest.commons.json.JSonBindingUtils.java
/** * Creates a mapper with specific binding for Roboconf types. * @return a non-null, configured mapper *//*ww w. j a v a 2s .c om*/ public static ObjectMapper createObjectMapper() { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); SimpleModule module = new SimpleModule("RoboconfModule", new Version(1, 0, 0, null, null, null)); module.addSerializer(Instance.class, new InstanceSerializer()); module.addDeserializer(Instance.class, new InstanceDeserializer()); module.addSerializer(Application.class, new ApplicationSerializer()); module.addDeserializer(Application.class, new ApplicationDeserializer()); module.addSerializer(Component.class, new ComponentSerializer()); module.addDeserializer(Component.class, new ComponentDeserializer()); mapper.registerModule(module); return mapper; }
From source file:ar.com.wolox.base.json.DateTimeJsonSerializationTest.java
/** Tests the serialization/deserialization process */ @Test/*from ww w. j a v a 2 s. co m*/ public void testSerializationProcess() throws Exception { final DateTime date = new DateTime(1988, 11, 29, 12, 0); final ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); final SimpleModule testModule = new SimpleModule("MyModule", new Version(1, 0, 0, null)) .addDeserializer(DateTime.class, new DateTimeJsonDeserializer()) .addSerializer(DateTime.class, new DateTimeJsonSerializer()); mapper.registerModule(testModule); final String json = mapper.writeValueAsString(new Foo(date)); final Foo deserialized = mapper.readValue(json, Foo.class); assertEquals(date, deserialized.getDate()); }
From source file:org.dawnsci.persistence.json.JacksonMarshaller.java
public JacksonMarshaller() { mapper = new ObjectMapper(); // mapping for deserializing FunctionBean SimpleModule module = new SimpleModule("ParameterMapping", Version.unknownVersion()); module.addAbstractTypeMapping(IParameter.class, Parameter.class); mapper.registerModule(module);/*from w w w .ja v a 2 s . co m*/ }
From source file:it.eng.spagobi.behaviouralmodel.lov.service.GridMetadataContainer.java
/** * JSON serializer for this object/*from w w w.ja v a2 s . c o m*/ * @return the network serialized * @throws SerializationException */ @JsonIgnore public String toJSONString() throws it.eng.spagobi.commons.serializer.SerializationException { ObjectMapper mapper = new ObjectMapper(); String s = ""; try { SimpleModule simpleModule = new SimpleModule("SimpleModule", new Version(1, 0, 0, null)); simpleModule.addSerializer(GridMetadataContainer.class, new GridMetadataContainerJSONSerializer()); mapper.registerModule(simpleModule); s = mapper.writeValueAsString((GridMetadataContainer) this); } catch (Exception e) { throw new org.apache.commons.lang.SerializationException("Error serializing the network", e); } s = StringEscapeUtils.unescapeJavaScript(s); return s; }
From source file:be.wegenenverkeer.common.resteasy.json.RestJsonMapper.java
/** * Add a custom serializer./* w w w .j a va2 s . c om*/ * * @param classToMap class to map * @param classSerializer serializer * @param <T> class to map */ public <T> void addClassSerializer(Class<? extends T> classToMap, JsonSerializer<T> classSerializer) { SimpleModule testModule = new SimpleModule("MyModule", new Version(1, 0, 0, null)); testModule.addSerializer(classToMap, classSerializer); this.registerModule(testModule); }
From source file:com.bazaarvoice.jolt.jsonUtil.testdomain.three.MappingTest3.java
@Test public void testPolymorphicJacksonSerializationAndDeserialization() { ObjectMapper mapper = new ObjectMapper(); SimpleModule testModule = new SimpleModule("testModule", new Version(1, 0, 0, null, null, null)) .addDeserializer(QueryFilter.class, new QueryFilterDeserializer()); mapper.registerModule(testModule);// w w w .j a v a 2s .com // Verifying that we can pass in a custom Mapper and create a new JsonUtil JsonUtil jsonUtil = JsonUtils.customJsonUtil(mapper); String testFixture = "/jsonUtils/testdomain/two/queryFilter-realAndLogical2.json"; // TEST JsonUtil and our deserialization logic QueryFilter queryFilter = jsonUtil.classpathToType(testFixture, new TypeReference<QueryFilter>() { }); // Make sure the hydrated QFilter looks right AssertJUnit.assertTrue(queryFilter instanceof LogicalFilter3); AssertJUnit.assertEquals(QueryParam.AND, queryFilter.getQueryParam()); AssertJUnit.assertTrue(queryFilter.isLogical()); AssertJUnit.assertEquals(3, queryFilter.getFilters().size()); AssertJUnit.assertNotNull(queryFilter.getFilters().get(QueryParam.OR)); // Make sure one of the top level RealFilters looks right QueryFilter productIdFilter = queryFilter.getFilters().get(QueryParam.PRODUCTID); AssertJUnit.assertTrue(productIdFilter.isReal()); AssertJUnit.assertEquals(QueryParam.PRODUCTID, productIdFilter.getQueryParam()); AssertJUnit.assertEquals("Acme-1234", productIdFilter.getValue()); // Make sure the nested OR looks right QueryFilter orFilter = queryFilter.getFilters().get(QueryParam.OR); AssertJUnit.assertTrue(orFilter.isLogical()); AssertJUnit.assertEquals(QueryParam.OR, orFilter.getQueryParam()); AssertJUnit.assertEquals(2, orFilter.getFilters().size()); // Make sure nested AND looks right QueryFilter nestedAndFilter = orFilter.getFilters().get(QueryParam.AND); AssertJUnit.assertTrue(nestedAndFilter.isLogical()); AssertJUnit.assertEquals(QueryParam.AND, nestedAndFilter.getQueryParam()); AssertJUnit.assertEquals(2, nestedAndFilter.getFilters().size()); // SERIALIZE TO STRING to test serialization logic String unitTestString = jsonUtil.toJsonString(queryFilter); // LOAD and Diffy the plain vanilla JSON versions of the documents Map<String, Object> actual = JsonUtils.jsonToMap(unitTestString); Map<String, Object> expected = JsonUtils.classpathToMap(testFixture); // Diffy the vanilla versions Diffy.Result result = diffy.diff(expected, actual); if (!result.isEmpty()) { AssertJUnit.fail("Failed.\nhere is a diff:\nexpected: " + JsonUtils.toJsonString(result.expected) + "\n actual: " + JsonUtils.toJsonString(result.actual)); } }