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.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);/*from  w  w  w .  j ava 2s  .com*/
    return om;
}

From source file:org.openmhealth.shim.runkeeper.RunkeeperShimTest.java

@Test
@SuppressWarnings("unchecked")
public void testActivityNormalize() throws IOException, ProcessingException {
    URL url = Thread.currentThread().getContextClassLoader().getResource("runkeeper-activity.json");
    assert url != null;
    InputStream inputStream = url.openStream();

    ObjectMapper objectMapper = new ObjectMapper();

    RunkeeperShim.RunkeeperDataType.ACTIVITY.getNormalizer();
    SimpleModule module = new SimpleModule();
    module.addDeserializer(ShimDataResponse.class, RunkeeperShim.RunkeeperDataType.ACTIVITY.getNormalizer());

    objectMapper.registerModule(module);

    ShimDataResponse response = objectMapper.readValue(inputStream, ShimDataResponse.class);

    assertNotNull(response);/*from w w w .  j av  a2s  . co m*/
    assertNotNull(response.getShim());

    Map<String, Object> map = (Map<String, Object>) response.getBody();
    assertTrue(map.containsKey(Activity.SCHEMA_ACTIVITY));

    List<Activity> activities = (List<Activity>) map.get(Activity.SCHEMA_ACTIVITY);
    assertTrue(activities != null && activities.size() == 2);

    DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("EEE, d MMM yyyy HH:mm:ss")
            .withZone(DateTimeZone.UTC);

    final String START_TIME_STRING = "Wed, 6 Aug 2014 04:49:00";
    DateTime expectedStartTimeUTC = dateFormatter.parseDateTime(START_TIME_STRING);

    Activity activity = activities.get(0);
    assertEquals(activity.getDistance().getValue(), new BigDecimal(6437.3760));
    assertEquals(activity.getDistance().getUnit(), LengthUnitValue.LengthUnit.m);
    assertEquals(activity.getActivityName(), "Rowing");
    assertEquals(activity.getEffectiveTimeFrame().getTimeInterval().getStartTime(), expectedStartTimeUTC);
    assertEquals(activity.getEffectiveTimeFrame().getTimeInterval().getDuration().getUnit(),
            DurationUnitValue.DurationUnit.sec);
    assertEquals(activity.getEffectiveTimeFrame().getTimeInterval().getDuration().getValue(),
            new BigDecimal(3600d));

    /**
     * Verify that the output from runkeeper normalizer passes
     * a schema check. Per github issue #9.
     */
    final String PHYSICAL_ACTIVITY_SCHEMA = "http://www.openmhealth.org/schema/omh/clinical/physical-activity-1.0.json";

    ObjectMapper mapper = new ObjectMapper();

    final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
    final JsonSchema schema = factory.getJsonSchema(PHYSICAL_ACTIVITY_SCHEMA);

    ProcessingReport report;

    String rawJson = mapper.writeValueAsString(activity);

    report = schema.validate(mapper.readTree(rawJson));
    System.out.println(report);

    assertTrue("Expected valid result!", report.isSuccess());
}

From source file:io.apptik.comm.jus.converter.JacksonRequestTest.java

@Before
public void setUp() {
    queue = Jus.newRequestQueue();/*from  w  w w.ja  v a  2 s .  c o  m*/
    SimpleModule module = new SimpleModule();
    module.addSerializer(AnInterface.class, new AnInterfaceSerializer());
    module.addDeserializer(AnInterface.class, new AnInterfaceDeserializer());
    mapper = new ObjectMapper();
    mapper.registerModule(module);
    mapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_SETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false);
    mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY));

}

From source file:org.apache.streams.monitoring.tasks.BroadcastMonitorThread.java

/**
 * Initialize our object mapper with all of our bean's custom deserializers
 * This way we can convert them to and from Strings dictated by our
 * POJOs which are generated from JSON schemas
 *///  w w  w. ja  v a 2s . c  o m
private void initializeObjectMapper() {
    objectMapper = StreamsJacksonMapper.getInstance();
    SimpleModule simpleModule = new SimpleModule();

    simpleModule.addDeserializer(MemoryUsageBroadcast.class, new MemoryUsageDeserializer());
    simpleModule.addDeserializer(ThroughputQueueBroadcast.class, new ThroughputQueueDeserializer());
    simpleModule.addDeserializer(StreamsTaskCounterBroadcast.class, new StreamsTaskCounterDeserializer());
    simpleModule.addDeserializer(DatumStatusCounterBroadcast.class, new DatumStatusCounterDeserializer());

    objectMapper.registerModule(simpleModule);
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}

From source file:io.qdb.server.controller.JsonService.java

private ObjectMapper createMapper(boolean prettyPrint, boolean datesAsTimestamps, boolean borg) {
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
    mapper.configure(SerializationFeature.INDENT_OUTPUT, prettyPrint);
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, datesAsTimestamps);

    SimpleModule module = new SimpleModule();
    module.addDeserializer(Date.class, dateDeserializer);
    module.addDeserializer(Integer.class, integerJsonDeserializer);
    module.addDeserializer(Integer.TYPE, integerJsonDeserializer);
    module.addDeserializer(Long.class, longJsonDeserializer);
    module.addDeserializer(Long.TYPE, longJsonDeserializer);
    if (!borg) {/*  w  w  w  . j a va 2 s.  co  m*/
        module.addSerializer(Integer.TYPE, integerSerializer);
        module.addSerializer(Integer.class, integerSerializer);
        module.addSerializer(Long.TYPE, longSerializer);
        module.addSerializer(Long.class, longSerializer);
    }
    if (!datesAsTimestamps)
        module.addSerializer(Date.class, new ISO8601DateSerializer());
    mapper.registerModule(module);

    return mapper;
}

From source file:io.apptik.comm.jus.converter.JacksonConverterFactoryTest.java

@Before
public void setUp() {
    queue = Jus.newRequestQueue();//from   w w  w .j a  v  a2  s.c  o  m
    SimpleModule module = new SimpleModule();
    module.addSerializer(AnInterface.class, new AnInterfaceSerializer());
    module.addDeserializer(AnInterface.class, new AnInterfaceDeserializer());
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(module);
    mapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_SETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false);
    mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY));

    RetroProxy retroProxy = new RetroProxy.Builder().baseUrl(server.url("/").toString())
            .addConverterFactory(JacksonConverterFactory.create(mapper)).requestQueue(queue).build();
    service = retroProxy.create(Service.class);
}

From source file:org.apache.airavata.db.ModelConversionHelper.java

/**
 * Private method to register the custom serializers and deserializers
 *///from ww  w  . j  a  v a  2 s.c om
private void init() {
    this.objectMapper = new ObjectMapper();
    SimpleModule module = new SimpleModule("UserProfileService", new Version(1, 0, 0, null, null, null));

    module.addSerializer(UserProfile.class, new UserProfileSerializer());
    module.addDeserializer(UserProfile.class, new UserProfileDeserializer());

    module.addSerializer(Publication.class, new PublicationSerializer());
    module.addDeserializer(Publication.class, new PublicationDeserializer());

    module.addSerializer(Institution.class, new InstitutionSerializer());
    module.addDeserializer(Institution.class, new InstitutionDeserializer());

    objectMapper.registerModule(module);
}

From source file:br.com.criativasoft.opendevice.core.json.CommandJacksonMapper.java

public ObjectMapper getMapper() {
    if (mapper == null) {
        mapper = new ObjectMapper();

        // Uses Enum.toString() for serialization of an Enum
        mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
        // Uses Enum.toString() for deserialization of an Enum
        mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);

        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

        SimpleModule module = new SimpleModule("OpenDeviceModule", new Version(0, 1, 0, "alpha"));

        module.addSerializer(CommandType.class, new EnumCodeSerializer());
        module.addDeserializer(CommandType.class, new EnumCodeDeserialize.CommandTypeDeserialize());
        mapper.registerModule(module);//  w w w  . j a  va 2 s .c  o  m

        module.addDeserializer(Command.class, new CommandDeserialize());

        //mapper.enableDefaultTyping();
        //mapper.setDefaultTyping(new ObjectMapper.DefaultTypeResolverBuilder());

        //
        //            List<Class<? extends  Command>> classList = new ArrayList<Class<? extends Command>>();
        //            classList.add(Command.class);
        //            classList.add(ResponseCommand.class);
        //            classList.add(GetDevicesCommand.class);
        //
        //            for (Class<? extends Command> aClass : classList) {
        //                mapper.addMixInAnnotations(aClass, JsonCommand.class);
        //            }

        //mapper.getSubtypeResolver().registerSubtypes(new NamedType());
    }
    return mapper;
}

From source file:org.deeplearning4j.ui.UiServer.java

private SimpleModule module() {
    SimpleModule module = new SimpleModule();
    module.addSerializer(INDArray.class, new VectorSerializer());
    module.addDeserializer(INDArray.class, new VectorDeSerializer());
    return module;
}

From source file:retrofit.JacksonConverterFactoryTest.java

@Before
public void setUp() {
    SimpleModule module = new SimpleModule();
    module.addSerializer(AnInterface.class, new AnInterfaceSerializer());
    module.addDeserializer(AnInterface.class, new AnInterfaceDeserializer());
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(module);// ww  w. ja v a 2 s  .c  om
    mapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_SETTERS, false);
    mapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false);
    mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY));

    Retrofit retrofit = new Retrofit.Builder().baseUrl(server.url("/"))
            .addConverterFactory(JacksonConverterFactory.create(mapper)).build();
    service = retrofit.create(Service.class);
}