List of usage examples for com.fasterxml.jackson.databind.module SimpleModule addAbstractTypeMapping
public <T> SimpleModule addAbstractTypeMapping(Class<T> superType, Class<? extends T> subType)
From source file:de.fraunhofer.iosb.ilt.sta.deserialize.EntityParser.java
public EntityParser(Class<? extends Id> idClass) { CustomDeserializationManager.getInstance().registerDeserializer("application/vnd.geo+json", new GeoJsonDeserializier()); mapper = new ObjectMapper().enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS); //mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.setPropertyNamingStrategy(new EntitySetCamelCaseNamingStrategy()); mapper.addMixIn(Datastream.class, DatastreamMixIn.class); mapper.addMixIn(MultiDatastream.class, MultiDatastreamMixIn.class); mapper.addMixIn(FeatureOfInterest.class, FeatureOfInterestMixIn.class); mapper.addMixIn(HistoricalLocation.class, HistoricalLocationMixIn.class); mapper.addMixIn(Location.class, LocationMixIn.class); mapper.addMixIn(Observation.class, ObservationMixIn.class); mapper.addMixIn(ObservedProperty.class, ObservedPropertyMixIn.class); mapper.addMixIn(Sensor.class, SensorMixIn.class); mapper.addMixIn(Thing.class, ThingMixIn.class); mapper.addMixIn(UnitOfMeasurement.class, UnitOfMeasurementMixIn.class); SimpleModule module = new SimpleModule(); module.addAbstractTypeMapping(EntitySet.class, EntitySetImpl.class); module.addAbstractTypeMapping(Id.class, idClass); module.addDeserializer(Location.class, new CustomEntityDeserializer(Location.class)); module.addDeserializer(FeatureOfInterest.class, new CustomEntityDeserializer(FeatureOfInterest.class)); module.addDeserializer(Sensor.class, new CustomEntityDeserializer(Sensor.class)); // TODO Datastream.observationType supplies encodingType for Observation.result. How to deserialize content when ne Observation is inserted? //module.addDeserializer(Datastream.class, new CustomEntityDeserializer(Datastream.class)); mapper.registerModule(module);//from www . ja va2s . co m }
From source file:craterdog.smart.SmartObjectMapperTest.java
/** * This unit test method tests a polymorphic object. * * @throws IOException/* w w w.ja v a 2 s. c o m*/ */ @Test public void testPolymorphicObject() throws IOException { logger.info("Testing polymorphic objects..."); SimpleModule module = new SimpleModule(); module.addAbstractTypeMapping(SmartObject.class, PolymorphicTestObject.class); mapper.registerModule(module); PolymorphicTestObject polyObject = polymorphicReader(mapper); assertEquals("success", polyObject.testAttribute); logger.info("Polymorphic objects testing completed.\n"); }
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 www . j a v a2 s . c om }
From source file:org.resthub.web.converter.MappingJackson2XmlHttpMessageConverter.java
/** * Construct a new {@code BindingJacksonHttpMessageConverter}. */// w w w .ja v a2s. com public MappingJackson2XmlHttpMessageConverter() { super(new MediaType("application", "xml", DEFAULT_CHARSET)); JacksonXmlModule xmlModule = new JacksonXmlModule(); xmlModule.setDefaultUseWrapper(false); objectMapper = new XmlMapper(xmlModule); SimpleModule module = new SimpleModule(); module.addAbstractTypeMapping(Page.class, PageResponse.class); objectMapper.registerModule(module); AnnotationIntrospector introspector = new JacksonAnnotationIntrospector(); objectMapper.setAnnotationIntrospector(introspector); }
From source file:org.resthub.web.converter.MappingJackson2JsonHttpMessageConverter.java
/** * Construct a new {@code BindingJacksonHttpMessageConverter}. *//*from w ww . j av a2 s. c o m*/ public MappingJackson2JsonHttpMessageConverter() { super(new MediaType("application", "json", DEFAULT_CHARSET)); objectMapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addAbstractTypeMapping(Page.class, PageResponse.class); objectMapper.registerModule(module); AnnotationIntrospector introspector = new JacksonAnnotationIntrospector(); objectMapper.setAnnotationIntrospector(introspector); objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); }
From source file:org.opencommercesearch.client.ProductApi.java
private void initMapper() { mapper = new ObjectMapper().setDateFormat(new ISO8601DateFormat()) .setSerializationInclusion(JsonInclude.Include.NON_NULL); SimpleModule module = new SimpleModule("InterfaceMapper"); module.addAbstractTypeMapping(Product.class, DefaultProduct.class); mapper.registerModule(module);/*from w w w .j a va2 s .c o m*/ }