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

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

Introduction

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

Prototype

public SimpleModule() 

Source Link

Document

Constructors that should only be used for non-reusable convenience modules used by app code: "real" modules should use actual name and version number information.

Usage

From source file:org.smartparam.manager.spring.MockMvcTest.java

private HttpMessageConverter<?> jacksonMessageConverter() {
    ObjectMapper jackson = new ObjectMapper();
    SimpleModule serializationModule = new SimpleModule();
    serializationModule.addSerializer(new RepositoryNameSerializer());
    serializationModule.addSerializer(new LevelKeySerializer());
    serializationModule.addSerializer(new ParameterEntryKeySerializer());
    serializationModule.addSerializer(new DescribedCollectionSerializer());
    jackson.registerModule(serializationModule);

    MappingJackson2HttpMessageConverter jacksonConveter = new MappingJackson2HttpMessageConverter();
    jacksonConveter.setObjectMapper(jackson);

    return jacksonConveter;
}

From source file:com.microsoft.rest.serializer.FlatteningSerializer.java

/**
 * Gets a module wrapping this serializer as an adapter for the Jackson
 * ObjectMapper./*from w w w. j  a va 2s. co m*/
 *
 * @param mapper the object mapper for default serializations
 * @return a simple module to be plugged onto Jackson ObjectMapper.
 */
public static SimpleModule getModule(final ObjectMapper mapper) {
    SimpleModule module = new SimpleModule();
    module.setSerializerModifier(new BeanSerializerModifier() {
        @Override
        public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc,
                JsonSerializer<?> serializer) {
            if (beanDesc.getBeanClass().getAnnotation(JsonFlatten.class) != null) {
                return new FlatteningSerializer(beanDesc.getBeanClass(), serializer, mapper);
            }
            return serializer;
        }
    });
    return module;
}

From source file:com.example.api.ApiApp.java

@Bean
RestTemplate restTemplate(final RestTemplateBuilder restTemplateBuilder) {
    final SimpleModule datetimeModule = new SimpleModule();
    datetimeModule.addDeserializer(LocalDateTime.class,
            new LocalDateTimeDeserializer(DateTimeFormatter.ISO_LOCAL_DATE));
    datetimeModule.addDeserializer(LocalDate.class,
            new LocalDateDeserializer(DateTimeFormatter.ISO_LOCAL_DATE));

    final ObjectMapper mapper = Jackson2ObjectMapperBuilder.json().modules(datetimeModule)
            .propertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
            .featuresToEnable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).build();

    return restTemplateBuilder.messageConverters(new MappingJackson2HttpMessageConverter(mapper)).build();
}

From source file:org.lambdamatic.internal.elasticsearch.codec.DocumentSearchCodec.java

/**
 * Constructor./*www  . j  a v a  2  s.  com*/
 * 
 */
public DocumentSearchCodec() {
    this.objectMapper = new ObjectMapper();
    // custom serializers for queries
    final SimpleModule module = new SimpleModule();
    module.addSerializer(DocumentSearch.class, new DocumentSearchSerializer());
    module.addSerializer(TermQuery.class, new TermQuerySerializer());
    module.addSerializer(RangeQuery.class, new RangeQuerySerializer());
    module.addSerializer(MatchQuery.class, new MatchQuerySerializer());
    module.addSerializer(BooleanQuery.class, new BooleanQuerySerializer());
    module.addSerializer(GeoBoundingBoxQuery.class, new GeoBoundingBoxSerializer());
    this.objectMapper.registerModule(module);
    // support for Java time
    this.objectMapper.registerModule(new JavaTimeModule());
    // configure LocalDate serialization as string with pattern: YYYY-mm-dd
    this.objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

}

From source file:com.mingo.convert.DefaultConverter.java

/**
 * Default constructor.// www .java 2s. c  o  m
 */
public DefaultConverter() {
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    SimpleModule module = new SimpleModule();
    module.addDeserializer(Date.class, new MongoDateDeserializer());
    objectMapper.registerModule(module);
}

From source file:pl.edu.pwr.iiar.zak.thermalKit.ThermalDesign.ThermalInstanceTest.java

@Before
public void setUp() throws Exception {
    DB db = new MongoClient().getDB("JGeneriloDB");

    SimpleModule module = new SimpleModule();
    module.addDeserializer(HeaterUnit.class, new HeaterUnitDeserializer());
    Jongo jongo = new Jongo(db, new JacksonMapper.Builder().registerModule(module).build());
    MongoCollection heaters = jongo.getCollection("virtex5heaters");

    testUnit = heaters.findOne().as(HeaterUnit.class);
}

From source file:org.openmhealth.shim.jawbone.JawboneShimTest.java

@Test
@SuppressWarnings("unchecked")
public void testParse() throws IOException {
    URL url = Thread.currentThread().getContextClassLoader().getResource("jawbone-moves.json");
    assert url != null;
    InputStream inputStream = url.openStream();

    ObjectMapper objectMapper = new ObjectMapper();

    JawboneShim.JawboneDataTypes.MOVES.getNormalizer();
    SimpleModule module = new SimpleModule();
    module.addDeserializer(ShimDataResponse.class, JawboneShim.JawboneDataTypes.MOVES.getNormalizer());

    objectMapper.registerModule(module);

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

    assertNotNull(response);/* w  w  w  . j a v  a2  s .  c om*/
    assertNotNull(response.getShim());

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

    List<StepCount> stepCounts = (List<StepCount>) map.get(StepCount.SCHEMA_STEP_COUNT);
    assertTrue(stepCounts != null && stepCounts.size() == 4);

    final String EXPECTED_HOURLY_TOTAL_TIMESTAMP = "2013112101";

    DateTime expectedTimeUTC = DateTimeFormat.forPattern("yyyyMMddHH")
            .withZone(DateTimeZone.forID("America/Los_Angeles")).parseDateTime(EXPECTED_HOURLY_TOTAL_TIMESTAMP);
    expectedTimeUTC = expectedTimeUTC.toDateTime(DateTimeZone.UTC);

    BigDecimal expectedDuration = new BigDecimal(793);
    Integer expectedSteps = 1603;

    Boolean found = false;
    for (StepCount sc : stepCounts) {
        if (sc.getEffectiveTimeFrame().getTimeInterval().getStartTime().equals(expectedTimeUTC)) {
            assertEquals(sc.getStepCount(), expectedSteps);
            assertEquals(sc.getEffectiveTimeFrame().getTimeInterval().getDuration().getValue(),
                    expectedDuration);
            found = true;
        }
    }
    assertTrue(found);
}

From source file:org.zalando.jackson.datatype.money.MonetaryAmountSerializerTest.java

@Test
public void defaultConstructorShouldFallbackToNoFormatting() throws IOException {
    final ObjectMapper unit = new ObjectMapper()
            .registerModule(new SimpleModule().addSerializer(CurrencyUnit.class, new CurrencyUnitSerializer())
                    .addSerializer(MonetaryAmount.class, new MonetaryAmountSerializer()));

    final String expected = "{\"amount\":29.95,\"currency\":\"EUR\"}";
    final String actual = unit.writeValueAsString(Money.of(29.95, "EUR"));

    assertThat(actual, is(expected));//from  w w  w  . j a v a  2 s .c om
}

From source file:com.strandls.alchemy.rest.client.ExceptionObjectMapperModule.java

/**
 * Binding for throwable exception mapper.
 *
 * @param mapper//from  w  ww.  j  a  v  a  2  s .  c  om
 * @return
 */
@Provides
@Singleton
@ThrowableObjectMapper
public ObjectMapper getExceptionObjectMapper(final ObjectMapper mapper) {
    // can't copy owing to bug -
    // https://github.com/FasterXML/jackson-databind/issues/245
    final ObjectMapper exceptionMapper = mapper;
    exceptionMapper.registerModule(new SimpleModule() {
        /**
         * The serial version id.
         */
        private static final long serialVersionUID = 1L;

        /*
         * (non-Javadoc)
         * @see
         * com.fasterxml.jackson.databind.module.SimpleModule#setupModule
         * (com.fasterxml.jackson.databind.Module.SetupContext)
         */
        @Override
        public void setupModule(final SetupContext context) {
            context.setMixInAnnotations(Exception.class, ThrowableMaskMixin.class);
            context.setMixInAnnotations(TestCustomException.class, ThrowableMaskMixin.class);
        }
    });
    exceptionMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    return exceptionMapper;
}