Example usage for com.fasterxml.jackson.datatype.joda JodaModule JodaModule

List of usage examples for com.fasterxml.jackson.datatype.joda JodaModule JodaModule

Introduction

In this page you can find the example usage for com.fasterxml.jackson.datatype.joda JodaModule JodaModule.

Prototype

public JodaModule() 

Source Link

Usage

From source file:org.springside.examples.showcase.demos.utilities.json.JsonDemo.java

/**
 * ?,Timestamp??2.0??@JsonFormat?.//  w  ww  .  j ava 2  s.  com
 * JodaTime???Timestamp?, JodaTime.toString().
 */
@Test
public void dateType() {

    mapper.getMapper().registerModule(new JodaModule());

    Date date = new Date();
    DateTime dateTime = new DateTime(date);
    String timestampString = String.valueOf(date.getTime());
    String format = "yyyy-MM-dd HH:mm:ss";
    String formatedString = new DateTime(date).toString(format);

    DateBean dateBean = new DateBean();
    dateBean.startDate = date;
    dateBean.endDate = date;
    dateBean.dateTime = dateTime;

    // to json
    String expectedJson = "{\"startDate\":" + timestampString + ",\"endDate\":\"" + formatedString
            + "\",\"dateTime\":" + timestampString + "}";
    assertThat(mapper.toJson(dateBean)).isEqualTo(expectedJson);

    // from json
    Date expectedEndDate = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").parseDateTime(formatedString)
            .toDate();

    DateBean resultBean = mapper.fromJson(expectedJson, DateBean.class);
    assertThat(resultBean.startDate).isEqualTo(date);
    assertThat(resultBean.endDate).isEqualTo(expectedEndDate);
}

From source file:com.metamx.rdiclient.RdiClientImplTest.java

@Test
public void testExceptionOnPost() throws Exception {

    final ObjectMapper objectMapper = new ObjectMapper().registerModule(new JodaModule());
    final Serializer<MmxAuctionSummary> serializer = new JacksonSerializer<>(objectMapper);
    final RdiClientImpl<MmxAuctionSummary> rdiClient = makeRdiClient(serializer, 1);

    mockClient.setGoHandler(new GoHandler() {
        @Override//from w  w  w .j  a  v a2 s  .co m
        protected <Intermediate, Final> ListenableFuture<Final> go(Request<Intermediate, Final> request)
                throws Exception {
            return Futures.immediateFailedFuture(new IOException("Something Crazy Happened!"));
        }
    }.times(4));
    rdiClient.start();

    final ListenableFuture<RdiResponse> result = rdiClient.send(sampleEventBasic);
    Exception e = null;
    try {
        result.get();
    } catch (Exception e2) {
        e = e2;
    }
    Assert.assertTrue(e instanceof ExecutionException);
    Assert.assertTrue(e.getCause() instanceof RdiException);
    Assert.assertTrue(e.getCause().getCause() instanceof IOException);
    rdiClient.close();
}

From source file:com.metamx.rdiclient.RdiClientImplTest.java

@Test
public void testExceptionOnPostRecoverable() throws Exception {

    final ObjectMapper objectMapper = new ObjectMapper().registerModule(new JodaModule());
    final Serializer<MmxAuctionSummary> serializer = new JacksonSerializer<>(objectMapper);
    final RdiClientImpl<MmxAuctionSummary> rdiClient = makeRdiClient(serializer, 1);

    final AtomicInteger failures = new AtomicInteger(0);
    mockClient.setGoHandler(new GoHandler() {
        @Override//from   w w w  .ja v a2s  .  co m
        protected <Intermediate, Final> ListenableFuture<Final> go(Request<Intermediate, Final> request)
                throws Exception {
            if (failures.getAndIncrement() == 0) {
                return Futures.immediateFailedFuture(new IOException("Something Crazy Happened!"));
            } else {
                return Futures.immediateFuture((Final) okResponse());
            }
        }
    }.times(2));
    rdiClient.start();

    final ListenableFuture<RdiResponse> result = rdiClient.send(sampleEventBasic);
    Assert.assertEquals(RdiResponse.create(), result.get());
    rdiClient.close();
}

From source file:com.thinkbiganalytics.metadata.rest.client.MetadataClient.java

private ObjectMapper createObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new JodaModule());
    // TODO Module dependency is causing a conflict somehow.
    //        mapper.registerModule(new JavaTimeModule());
    mapper.setSerializationInclusion(Include.NON_NULL);
    return mapper;
}

From source file:org.apache.syncope.client.lib.SyncopeClientFactoryBean.java

protected JacksonJaxbJsonProvider defaultJsonProvider() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new JodaModule());
    objectMapper.configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
            false);/*from  w ww  . j  a va2s  .c om*/
    return new JacksonJaxbJsonProvider(objectMapper, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS);
}

From source file:org.thelq.stackexchange.api.StackClient.java

public StackClient(String seApiKey) {
    Preconditions.checkNotNull(seApiKey);
    this.seApiKey = seApiKey;
    this.jsonMapper = new ObjectMapper();
    jsonMapper.registerModule(new JodaModule());
    jsonMapper.registerModule(new GuavaModule());
    jsonMapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
    jsonMapper.registerModule(new SimpleModule() {
        @Override//from  w  w w .  j  a  v  a 2  s  . c  o  m
        @SuppressWarnings("unchecked")
        public void setupModule(SetupContext context) {
            super.setupModule(context);
            context.addDeserializers(new Deserializers.Base() {
                @Override
                public JsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config,
                        BeanDescription beanDesc) throws JsonMappingException {
                    return new UppercaseEnumDeserializer((Class<Enum<?>>) type);
                }
            });
        }
    });
}

From source file:org.versly.rest.wsdoc.AnnotationProcessor.java

String jsonSchemaFromTypeMirror(TypeMirror type) {
    String serializedSchema = null;

    if (type.getKind().isPrimitive() || type.getKind() == TypeKind.VOID) {
        return null;
    }/*from www  . java 2 s . c om*/

    // we need the dto class to generate schema using jackson json-schema module
    // note: Types.erasure() provides canonical names whereas Class.forName() wants a "regular" name,
    // so forName will fail for nested and inner classes as "regular" names use $ between parent and child.
    Class dtoClass = null;
    StringBuffer erasure = new StringBuffer(_typeUtils.erasure(type).toString());
    for (boolean done = false; !done;) {
        try {
            dtoClass = Class.forName(erasure.toString());
            done = true;
        } catch (ClassNotFoundException e) {
            if (erasure.lastIndexOf(".") != -1) {
                erasure.setCharAt(erasure.lastIndexOf("."), '$');
            } else {
                done = true;
            }
        }
    }

    // if we were able to figure out the dto class, use jackson json-schema module to serialize it
    Exception e = null;
    if (dtoClass != null) {
        try {
            ObjectMapper m = new ObjectMapper();
            m.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
            m.registerModule(new JodaModule());
            SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
            m.acceptJsonFormatVisitor(m.constructType(dtoClass), visitor);
            serializedSchema = m.writeValueAsString(visitor.finalSchema());
        } catch (Exception ex) {
            e = ex;
        }
    }

    // report warning if we were not able to generate schema for non-primitive type
    if (serializedSchema == null) {
        this.processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING,
                "cannot generate json-schema for class " + type.toString() + " (erasure " + erasure + "), "
                        + ((e != null) ? ("exception: " + e.getMessage()) : "class not found"));
    }

    return serializedSchema;
}