List of usage examples for com.fasterxml.jackson.databind.module SimpleModule setDeserializerModifier
public SimpleModule setDeserializerModifier(BeanDeserializerModifier mod)
From source file:com.microsoft.rest.serializer.FlatteningDeserializer.java
/** * Gets a module wrapping this serializer as an adapter for the Jackson * ObjectMapper.//w ww . jav a 2 s . c om * * @param mapper the object mapper for default deserializations * @return a simple module to be plugged onto Jackson ObjectMapper. */ public static SimpleModule getModule(final ObjectMapper mapper) { SimpleModule module = new SimpleModule(); module.setDeserializerModifier(new BeanDeserializerModifier() { @Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (beanDesc.getBeanClass().getAnnotation(JsonFlatten.class) != null) { return new FlatteningDeserializer(beanDesc.getBeanClass(), deserializer, mapper); } return deserializer; } }); return module; }
From source file:nebula.plugin.metrics.dispatcher.AbstractMetricsDispatcher.java
/** * Register Jackson module that maps enums as lowercase. Per http://stackoverflow.com/a/24173645. */// w ww . j a v a 2 s. com @SuppressWarnings("rawtypes") private static void registerEnumModule(ObjectMapper mapper) { SimpleModule module = new SimpleModule(); module.setDeserializerModifier(new BeanDeserializerModifier() { @Override public JsonDeserializer<Enum> modifyEnumDeserializer(DeserializationConfig config, final JavaType type, BeanDescription beanDesc, final JsonDeserializer<?> deserializer) { return new JsonDeserializer<Enum>() { @Override public Enum deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { @SuppressWarnings("unchecked") Class<? extends Enum> rawClass = (Class<Enum<?>>) type.getRawClass(); return Enum.valueOf(rawClass, jp.getValueAsString().toUpperCase()); } }; } }); module.addSerializer(Enum.class, new StdSerializer<Enum>(Enum.class) { @Override public void serialize(Enum value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeString(value.name().toLowerCase()); } }); mapper.registerModule(module); }
From source file:org.hawkular.alerts.api.json.JsonUtil.java
private JsonUtil() { mapper = new ObjectMapper(); SimpleModule simpleModule = new SimpleModule(); simpleModule.setDeserializerModifier(new JacksonDeserializer.AlertThinDeserializer()); mapperThin = new ObjectMapper(); mapperThin.registerModule(simpleModule); }
From source file:io.gravitee.management.rest.mapper.ObjectMapperResolver.java
public ObjectMapperResolver() { mapper = new GraviteeMapper(); SimpleModule module = new SimpleModule(); module.setDeserializerModifier(new BeanDeserializerModifier() { @Override//from w w w .java2 s .c om public JsonDeserializer<Enum> modifyEnumDeserializer(DeserializationConfig config, final JavaType type, BeanDescription beanDesc, final JsonDeserializer<?> deserializer) { return new JsonDeserializer<Enum>() { @Override public Enum deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { Class<? extends Enum> rawClass = (Class<Enum<?>>) type.getRawClass(); return Enum.valueOf(rawClass, jp.getValueAsString().toUpperCase()); } }; } }); module.addSerializer(Enum.class, new StdSerializer<Enum>(Enum.class) { @Override public void serialize(Enum value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeString(value.name().toLowerCase()); } }); mapper.registerModule(module); }
From source file:org.jaqpot.core.data.serialize.JacksonMongoSerializer.java
public JacksonMongoSerializer() { this.mapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(DataEntry.class, new DataEntrySerializer()); mapper.registerModule(module.setDeserializerModifier(new DataEntryDeSerializeModifier())); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); }
From source file:de.upb.wdqa.wdvd.test.JsonNormalizerTest.java
private void testWDTKParsing(String filename) throws IOException { String jsonString = readFile(filename, StandardCharsets.UTF_8); SimpleModule module = new SimpleModule(); module.setDeserializerModifier(new MapDeserializerModifier()); ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(module);/*from w w w .j a v a2 s . c o m*/ // JsonNode root = mapper.readTree(jsonString); // mapper.readValue(mapper.treeAsTokens(root), JacksonItemDocument.class); JacksonItemDocument itemDocument = mapper.readValue(jsonString, JacksonItemDocument.class); itemDocument.setSiteIri(Datamodel.SITE_WIKIDATA); itemDocument.toString(); // raises an exception if information is missing }
From source file:com.logsniffer.config.BeanConfigFactoryManager.java
@SuppressWarnings("unchecked") @PostConstruct/* w w w . ja va 2 s. c om*/ private void initJsonMapper() { final SimpleModule module = new SimpleModule(); module.setDeserializerModifier(new BeanDeserializerModifier() { @Override public JsonDeserializer<?> modifyDeserializer(final DeserializationConfig config, final BeanDescription beanDesc, final JsonDeserializer<?> deserializer) { if (ConfiguredBean.class.isAssignableFrom(beanDesc.getBeanClass())) { return new ConfiguredBeanDeserializer(deserializer); } return deserializer; } }); jsonMapper.registerModule(module); if (postConstructors != null) { for (final BeanPostConstructor<?> bpc : postConstructors) { mappedPostConstrucors.put(bpc.getClass(), bpc); } } // Register sub beans final ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false); final AssignableTypeFilter filter4configBenas = new AssignableTypeFilter(ConfiguredBean.class); scanner.addIncludeFilter(filter4configBenas); for (final BeanDefinition bd : scanner.findCandidateComponents("com.logsniffer")) { try { final Class<? extends ConfiguredBean> clazz = (Class<? extends ConfiguredBean>) Class .forName(bd.getBeanClassName()); final JsonTypeName jsonNameAnnotation = clazz.getAnnotation(JsonTypeName.class); final List<String> names = new ArrayList<String>(); configBeanNames.put(clazz, names); if (jsonNameAnnotation != null) { names.add(jsonNameAnnotation.value()); if (jsonNameAnnotation.deprecated() != null) { for (final String dep : jsonNameAnnotation.deprecated()) { names.add(dep); } } } names.add(clazz.getSimpleName()); logger.debug("Registered JSON type {} for following names: {}", clazz, names); } catch (final ClassNotFoundException e) { logger.warn("Failed to register JSON type name for " + bd.getBeanClassName(), e); } } }
From source file:org.springframework.data.rest.webmvc.json.PersistentEntityJackson2ModuleUnitTests.java
@Before public void setUp() { KeyValueMappingContext mappingContext = new KeyValueMappingContext(); mappingContext.getPersistentEntity(Sample.class); mappingContext.getPersistentEntity(SampleWithAdditionalGetters.class); mappingContext.getPersistentEntity(PersistentEntityJackson2ModuleUnitTests.PetOwner.class); this.persistentEntities = new PersistentEntities(Arrays.asList(mappingContext)); ResourceProcessorInvoker invoker = new ResourceProcessorInvoker( Collections.<ResourceProcessor<?>>emptyList()); NestedEntitySerializer nestedEntitySerializer = new NestedEntitySerializer(persistentEntities, new EmbeddedResourcesAssembler(persistentEntities, associations, mock(ExcerptProjector.class)), invoker);//w w w . j a va2s. c o m OrderAwarePluginRegistry<EntityLookup<?>, Class<?>> lookups = OrderAwarePluginRegistry.create(); SimpleModule module = new SimpleModule(); module.setSerializerModifier(new AssociationOmittingSerializerModifier(persistentEntities, associations, nestedEntitySerializer, new LookupObjectSerializer(lookups))); module.setDeserializerModifier(new AssociationUriResolvingDeserializerModifier(persistentEntities, associations, converter, mock(RepositoryInvokerFactory.class))); this.mapper = new ObjectMapper(); this.mapper.registerModule(module); }
From source file:org.hawkular.alerts.api.JsonTest.java
@Test public void jsonToAlertTest() throws Exception { String jsonAlert = "{\"tenantId\":\"jdoe\"," + "\"id\":\"trigger-test|1436964192878\"," + "\"eventType\":\"ALERT\"," + "\"trigger\":{\"tenantId\":\"jdoe\"," + "\"id\":\"trigger-test\"," + "\"name\":\"trigger-test\"," + "\"description\":\"trigger-test\"," + "\"context\":{\"n1\":\"v1\",\"n2\":\"v2\"}" + "}," + "\"ctime\":1436964192878," + "\"context\":{\"n1\":\"v1\",\"n2\":\"v2\"}," + "\"text\":\"trigger-test\"," + "\"evalSets\":[" + "[{\"evalTimestamp\":1436964294055," + "\"dataTimestamp\":2," + "\"type\":\"THRESHOLD\"," + "\"condition\":{\"tenantId\":\"jdoe\"," + "\"triggerId\":\"trigger-test\"," + "\"triggerMode\":\"FIRING\"," + "\"type\":\"THRESHOLD\"," + "\"conditionId\":\"my-organization-trigger-test-FIRING-1-1\"," + "\"dataId\":\"Default\"," + "\"operator\":\"LTE\"," + "\"threshold\":50.0" + "}," + "\"value\":25.5}," + "{\"evalTimestamp\":1436964284965," + "\"dataTimestamp\":1," + "\"type\":\"AVAILABILITY\"," + "\"condition\":{\"tenantId\":\"jdoe\"," + "\"triggerId\":\"trigger-test\"," + "\"triggerMode\":\"FIRING\"," + "\"type\":\"AVAILABILITY\"," + "\"conditionId\":\"my-organization-trigger-test-FIRING-1-1\"," + "\"dataId\":\"Default\"," + "\"operator\":\"UP\"" + "}," + "\"value\":\"UP\"}]" + "]," + "\"severity\":\"MEDIUM\"," + "\"status\":\"OPEN\"," + "\"ackTime\":0," + "\"ackBy\":null," + "\"resolvedTime\":0," + "\"resolvedBy\":null," + "\"notes\":[{\"user\":\"user1\",\"ctime\":1,\"text\":\"The comment 1\"}," + "{\"user\":\"user2\",\"ctime\":2,\"text\":\"The comment 2\"}" + "]," + "\"context\":{\"n1\":\"v1\",\"n2\":\"v2\"}}"; ObjectMapper mapper = new ObjectMapper(); Alert alert = mapper.readValue(jsonAlert, Alert.class); assertNotNull(alert);//from w w w. j av a2 s .co m assertNotNull(alert.getEvalSets()); assertEquals(1, alert.getEvalSets().size()); assertEquals(2, alert.getEvalSets().get(0).size()); assertTrue(alert.getContext() != null); assertTrue(alert.getContext().size() == 2); assertTrue(alert.getContext().get("n1").equals("v1")); assertTrue(alert.getContext().get("n2").equals("v2")); assertEquals("trigger-test", alert.getText()); /* Testing thin deserializer */ SimpleModule simpleModule = new SimpleModule(); simpleModule.setDeserializerModifier(new JacksonDeserializer.AlertThinDeserializer()); mapper = new ObjectMapper(); mapper.registerModule(simpleModule); alert = mapper.readValue(jsonAlert, Alert.class); assertNull(alert.getEvalSets()); }