Example usage for com.fasterxml.jackson.databind ObjectMapper registerModule

List of usage examples for com.fasterxml.jackson.databind ObjectMapper registerModule

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper registerModule.

Prototype

public ObjectMapper registerModule(Module module) 

Source Link

Document

Method for registering a module that can extend functionality provided by this mapper; for example, by adding providers for custom serializers and deserializers.

Usage

From source file:com.chiralbehaviors.CoRE.kernel.Bootstrap.java

private void serialize(String fileName) throws IOException {
    ObjectMapper objMapper = new ObjectMapper();
    objMapper.registerModule(new CoREModule());
    objMapper.writerWithDefaultPrettyPrinter().writeValue(new File(fileName),
            new WorkspaceSnapshot(find(WellKnownProduct.KERNEL_WORKSPACE), em));
}

From source file:gr.abiss.calipso.test.AbstractControllerIT.java

@BeforeClass
public void setup() {

    // log request/response in errors
    RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();

    // pickup from the command line if given for the jetty-maven-plugin
    String port = System.getProperty("jetty.http.port");
    RestAssured.port = port != null ? Integer.parseInt(port) : 8080;

    this.WEBSOCKET_URI = new StringBuffer("ws://localhost:").append(RestAssured.port).append("/calipso/ws")
            .toString();// w w w  . ja  va2 s.co m
    // TODO:
    // String basePath = System.getProperty("server.base");
    // if (basePath == null) {
    // basePath = "/rest-garage-sample/";
    // }
    // RestAssured.basePath = basePath;
    //
    // String baseHost = System.getProperty("server.host");
    // if (baseHost == null) {
    // baseHost = "http://localhost";
    // }
    // RestAssured.baseURI = baseHost;

    // configure our object mapper
    RestAssured.config = RestAssuredConfig.config().objectMapperConfig(
            // config object mapper
            new ObjectMapperConfig().jackson2ObjectMapperFactory(new Jackson2ObjectMapperFactory() {
                @Override
                public ObjectMapper create(Class aClass, String s) {
                    ObjectMapper objectMapper = new ObjectMapper();
                    // support joda classes<->JSON
                    objectMapper.registerModule(new JodaModule());
                    // ignore unknown properties
                    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
                    return objectMapper;
                }
            }));

}

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.aceevo.ursus.core.UrsusJerseyApplication.java

protected void registerJacksonSupport() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.enable(SerializationFeature.INDENT_OUTPUT);
    mapper.registerModule(new GuavaModule());

    // create JsonProvider to provide custom ObjectMapper
    JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider();
    provider.setMapper(mapper);/*  w w w .j  a  v  a  2 s . c o m*/

    register(provider);
}

From source file:gt.dakaik.config.WebContext.java

public MappingJackson2HttpMessageConverter jacksonJsonMessageConverter() {
    MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();

    ObjectMapper mapper = new ObjectMapper();
    //        final DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    //        mapper.setDateFormat(df);

    Hibernate4Module module = new Hibernate4Module();
    module.disable(Hibernate4Module.Feature.USE_TRANSIENT_ANNOTATION);
    //Registering Hibernate4Module to support lazy objects
    mapper.registerModule(module);

    messageConverter.setObjectMapper(mapper);
    return messageConverter;
}

From source file:ar.com.wolox.base.json.DateTimeJsonSerializationTest.java

/** Tests the serialization/deserialization process */
@Test/*from   w ww  .  j a v a 2s. c  o  m*/
public void testSerializationProcess() throws Exception {
    final DateTime date = new DateTime(1988, 11, 29, 12, 0);
    final ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    final SimpleModule testModule = new SimpleModule("MyModule", new Version(1, 0, 0, null))
            .addDeserializer(DateTime.class, new DateTimeJsonDeserializer())
            .addSerializer(DateTime.class, new DateTimeJsonSerializer());
    mapper.registerModule(testModule);

    final String json = mapper.writeValueAsString(new Foo(date));
    final Foo deserialized = mapper.readValue(json, Foo.class);
    assertEquals(date, deserialized.getDate());
}

From source file:com.cloudera.nav.sdk.client.writer.JsonMetadataWriter.java

private ObjectMapper newMapper() {
    ObjectMapper mapper = new ObjectMapper();
    SimpleModule module = new SimpleModule("MetadataSerializer");
    if (config.getApiVersion() < 9) {
        module.addSerializer(new EntitySerializer(registry));
    } else {//from  w ww . ja  v  a  2  s.  c o  m
        module.addSerializer(new EntityV9Serializer(registry));
    }
    module.addSerializer(new RelationSerializer(registry));
    mapper.registerModule(module);
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    mapper.configure(DeserializationFeature.WRAP_EXCEPTIONS, false);
    mapper.registerModule(new JodaModule());
    return mapper;
}

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 ww w  .  j  av  a2s.  c  o 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:aptgraph.server.JsonRpcServer.java

/**
 * Start the server, blocking. This method will only return if the server
 * crashed.../*  w  w w  . ja  v a 2 s.co m*/
 * @throws java.io.IOException if the graph file cannot be read
 * @throws java.lang.ClassNotFoundException if the Graph class is not found
 * @throws java.lang.Exception if the server cannot start...
 */
public final void start() throws IOException, ClassNotFoundException, Exception {

    LOGGER.info("Reading graphs from disk...");
    ObjectInputStream input = new ObjectInputStream(new BufferedInputStream(input_file));
    HashMap<String, LinkedList<Graph<Request>>> user_graphs = (HashMap<String, LinkedList<Graph<Request>>>) input
            .readObject();
    input.close();

    Map.Entry<String, LinkedList<Graph<Request>>> entry_set = user_graphs.entrySet().iterator().next();
    String first_key = entry_set.getKey();
    LOGGER.log(Level.INFO, "Graph has {0} features", user_graphs.get(first_key).size());
    LOGGER.log(Level.INFO, "k-NN Graph : k = {0}", user_graphs.get(first_key).getFirst().getK());
    LOGGER.log(Level.INFO, "Starting JSON-RPC server at http://{0}:{1}",
            new Object[] { config.getServerHost(), config.getServerPort() });

    RequestHandler request_handler = new RequestHandler(user_graphs);

    ObjectMapper object_mapper = new ObjectMapper();
    SimpleModule module = new SimpleModule();
    module.addSerializer(Graph.class, new GraphSerializer());
    module.addSerializer(Domain.class, new DomainSerializer());
    module.addSerializer(Neighbor.class, new NeighborSerializer());
    object_mapper.registerModule(module);

    com.googlecode.jsonrpc4j.JsonRpcServer jsonrpc_server = new com.googlecode.jsonrpc4j.JsonRpcServer(
            object_mapper, request_handler);

    QueuedThreadPool thread_pool = new QueuedThreadPool(config.getMaxThreads(), config.getMinThreads(),
            config.getIdleTimeout(), new ArrayBlockingQueue<Runnable>(config.getMaxPendingRequests()));

    http_server = new org.eclipse.jetty.server.Server(thread_pool);
    //http_server = new org.eclipse.jetty.server.Server();

    ServerConnector http_connector = new ServerConnector(http_server);
    http_connector.setHost(config.getServerHost());
    http_connector.setPort(config.getServerPort());

    http_server.setConnectors(new Connector[] { http_connector });
    http_server.setHandler(new JettyHandler(jsonrpc_server));

    http_server.start();
}

From source file:nebula.plugin.metrics.dispatcher.AbstractMetricsDispatcher.java

/**
 * Register Jackson module that maps enums as lowercase. Per http://stackoverflow.com/a/24173645.
 *//*from ww  w . ja v a2s  .  c o m*/
@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);
}