Example usage for com.fasterxml.jackson.databind.module SimpleModule addDeserializer

List of usage examples for com.fasterxml.jackson.databind.module SimpleModule addDeserializer

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.module SimpleModule addDeserializer.

Prototype

public <T> SimpleModule addDeserializer(Class<T> type, JsonDeserializer<? extends T> deser) 

Source Link

Usage

From source file:com.arpnetworking.metrics.mad.configuration.PipelineConfiguration.java

/**
 * Create an <code>ObjectMapper</code> for Pipeline configuration.
 *
 * @param injector The Guice <code>Injector</code> instance.
 * @return An <code>ObjectMapper</code> for Pipeline configuration.
 *//*w  w w. ja  v  a  2 s.c o  m*/
public static ObjectMapper createObjectMapper(final Injector injector) {
    final ObjectMapper objectMapper = ObjectMapperFactory.createInstance();

    final SimpleModule module = new SimpleModule("Pipeline");
    module.addDeserializer(Statistic.class, new StatisticDeserializer());

    objectMapper.registerModules(module);

    final GuiceAnnotationIntrospector guiceIntrospector = new GuiceAnnotationIntrospector();
    objectMapper.setInjectableValues(new GuiceInjectableValues(injector));
    objectMapper.setAnnotationIntrospectors(
            new AnnotationIntrospectorPair(guiceIntrospector,
                    objectMapper.getSerializationConfig().getAnnotationIntrospector()),
            new AnnotationIntrospectorPair(guiceIntrospector,
                    objectMapper.getDeserializationConfig().getAnnotationIntrospector()));

    return objectMapper;
}

From source file:org.jongo.marshall.jackson.JacksonProcessor.java

private static void addBSONTypeSerializers(SimpleModule module) {
    NativeSerializer serializer = new NativeSerializer();
    NativeDeserializer deserializer = new NativeDeserializer();
    for (Class primitive : BSONPrimitives.getPrimitives()) {
        module.addSerializer(primitive, serializer);
        module.addDeserializer(primitive, deserializer);
    }//  www  . ja v a2  s.  c o  m
    module.addDeserializer(Date.class, new BackwardDateDeserializer(deserializer));
}

From source file:com.groupdocs.sdk.common.ApiInvoker.java

@SuppressWarnings("unchecked")
public static Object deserialize(String json, String containerType, @SuppressWarnings("rawtypes") Class cls)
        throws ApiException {
    try {//  w  w w.jav a 2  s . com
        ObjectMapper mapper = JsonUtil.getJsonMapper();
        SimpleModule m = new SimpleModule(PACKAGE_NAME, Version.unknownVersion());
        m.addDeserializer(Date.class, new CustomDateDeserializer(new DateDeserializer()));
        mapper.registerModule(m);

        if ("List".equals(containerType)) {
            JavaType typeInfo = mapper.getTypeFactory().constructCollectionType(List.class, cls);
            List<?> response = (List<?>) mapper.readValue(json, typeInfo);
            return response;
        } else if (String.class.equals(cls)) {
            return json;
        } else {
            return mapper.readValue(json, cls);
        }
    } catch (IOException e) {
        throw new ApiException(500, e.getMessage());
    }
}

From source file:com.reprezen.swagedit.model.Model.java

protected static ObjectMapper createMapper() {
    final ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
    final SimpleModule module = new SimpleModule();
    module.addDeserializer(AbstractNode.class, new NodeDeserializer());
    mapper.registerModule(module);// www  . j  ava  2  s  . c  o m
    return mapper;
}

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
 *///from   w ww.  j ava2s . 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:org.kiji.rest.KijiRESTService.java

/**
 * Registers custom serializers with the Jackson ObjectMapper via DropWizard's
 * ObjectMapperFactory. This is used by both the service initialization and the test
 * setup method to ensure consistency between test and production.
 *
 * @param mapperFactory is the ObjectMapperFactory.
 *//*from   w  w w.  ja v a  2 s .com*/
public static void registerSerializers(ObjectMapperFactory mapperFactory) {
    // TODO: Add a module to convert btw Avro's specific types and JSON. The default
    // mapping seems to throw an exception.
    SimpleModule module = new SimpleModule("KijiRestModule",
            new Version(1, 0, 0, null, "org.kiji.rest", "serializers"));
    module.addSerializer(new AvroToJsonStringSerializer());
    module.addSerializer(new Utf8ToJsonSerializer());
    module.addSerializer(new TableLayoutToJsonSerializer());
    module.addSerializer(new SchemaOptionToJson());
    module.addDeserializer(SchemaOption.class, new JsonToSchemaOption());
    module.addSerializer(new KijiRestEntityIdToJson());
    module.addDeserializer(KijiRestEntityId.class, new JsonToKijiRestEntityId());
    mapperFactory.registerModule(module);
}

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);/*  w w w.ja  va 2s  . c o m*/
    return om;
}

From source file:org.craftercms.commons.jackson.JacksonUtils.java

/**
 * Creates a module from a set of serializers and deserializes.
 *
 * @param serializers   the serializers, can be null or empty
 * @param deserializers the deserializers, can be null or empty
 *
 * @return a non-reusable Jackson module composed of the specified serializers and deserializers
 *///  w w  w.j  a va 2 s.  co  m
@SuppressWarnings("unchecked")
public static final Module createModule(List<JsonSerializer<?>> serializers,
        Map<Class<?>, JsonDeserializer<?>> deserializers) {
    SimpleModule module = new SimpleModule();

    if (CollectionUtils.isNotEmpty(serializers)) {
        for (JsonSerializer<?> serializer : serializers) {
            module.addSerializer(serializer);
        }
    }

    if (MapUtils.isNotEmpty(deserializers)) {
        for (Map.Entry<Class<?>, JsonDeserializer<?>> entry : deserializers.entrySet()) {
            Class<Object> type = (Class<Object>) entry.getKey();
            JsonDeserializer<Object> des = (JsonDeserializer<Object>) entry.getValue();

            module.addDeserializer(type, des);
        }
    }

    return module;
}

From source file:com.arpnetworking.jackson.BuilderDeserializer.java

/**
 * Register builder deserializers for the the transitive closure of builders
 * anchored by the target class in the provided <code>SimpleModule</code>.
 *
 * @param targetModule The <code>SimpleModule</code> to register in.
 * @param targetClass The root of the type tree to traverse.
 *///w  w w. j ava2s . c  om
public static void addTo(final SimpleModule targetModule, final Class<?> targetClass) {
    final Map<Class<?>, JsonDeserializer<?>> typeToDeserializer = Maps.newHashMap();
    addTo(Sets.<Type>newHashSet(), typeToDeserializer, targetClass);
    for (final Map.Entry<Class<?>, JsonDeserializer<?>> entry : typeToDeserializer.entrySet()) {
        @SuppressWarnings("unchecked")
        final Class<Object> clazz = (Class<Object>) entry.getKey();
        targetModule.addDeserializer(clazz, entry.getValue());
    }
}

From source file:com.ikanow.aleph2.data_model.utils.BeanTemplateUtils.java

/** Configures a mapper with the desired properties for use in Aleph2
 * @param configure_me - leave this empty to create a new mapper, or add one to configure an existing mapper
 * @return//from   w  w  w  . ja  v a 2s  . co  m
 */
public static ObjectMapper configureMapper(final Optional<ObjectMapper> configure_me) {
    final ObjectMapper mapper = configure_me.orElse(new ObjectMapper());
    mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
    mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
    mapper.setSerializationInclusion(Include.NON_NULL);
    mapper.setVisibility(PropertyAccessor.IS_GETTER, JsonAutoDetect.Visibility.NONE);

    final SimpleModule module = new SimpleModule();
    module.addDeserializer(Number.class, new NumberDeserializer());
    mapper.registerModule(module);

    return mapper;
}