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:io.yields.math.framework.kpi.ExplorerJsonExporter.java

private static ObjectMapper getObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.enableDefaultTyping();/*w  w  w. j a  v  a  2s.  c o m*/
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    mapper.registerModule(new JSR310Module());
    return mapper;
}

From source file:org.springframework.hateoas.client.Traverson.java

/**
 * Creates a new {@link HttpMessageConverter} to support HAL.
 * /*from w  ww  .  j  a  va 2  s . c o  m*/
 * @return
 */
private static final HttpMessageConverter<?> getHalConverter() {

    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new Jackson2HalModule());
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();

    converter.setObjectMapper(mapper);
    converter.setSupportedMediaTypes(Arrays.asList(MediaTypes.HAL_JSON));

    return converter;
}

From source file:com.addthis.codec.jackson.Jackson.java

public static ObjectMapper newObjectMapper(PluginRegistry pluginRegistry) {
    CodecModule codecModule = new CodecModule(pluginRegistry);
    Config globalConfig = pluginRegistry.config();
    ObjectMapper objectMapper = new ObjectMapper();
    toggleObjectMapperOptions(objectMapper);
    objectMapper.registerModule(codecModule);
    registerExtraModules(objectMapper);/*  ww w .  j ava  2  s.  c  om*/
    allowCommentsAndUnquotedFields(objectMapper);
    objectMapper.setInjectableValues(new BasicInjectableValues());
    return objectMapper;
}

From source file:com.company.et.service.JsonService.java

public static Professor jsonToObjectProfessor(String json) throws IOException, ParseException {

    ObjectMapper mapper = new ObjectMapper();

    SimpleModule testModule = new SimpleModule("MyModule", new Version(1, 0, 0, null))
            .addDeserializer(Professor.class, new ProfessorDeserializer());

    mapper.registerModule(testModule);

    Professor obj = mapper.readValue(json, Professor.class);

    return obj;//ww w.  j  a  v  a  2 s. c  o  m
}

From source file:org.springframework.hateoas.hal.Jackson2HalIntegrationTest.java

private static ObjectMapper getCuriedObjectMapper(CurieProvider provider) {

    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new Jackson2HalModule());
    mapper.setHandlerInstantiator(new HalHandlerInstantiator(new AnnotationRelProvider(), provider));

    return mapper;
}

From source file:io.mesosphere.mesos.frameworks.cassandra.framework.Main.java

private static int _main() throws UnknownHostException {
    final Optional<String> portOption = Env.option("PORT0");
    if (!portOption.isPresent()) {
        throw new SystemExitException("Environment variable PORT0 must be defined", 5);
    }/*from   w  ww.j  a  va2 s  . com*/

    final int port0 = Integer.parseInt(portOption.get());
    final String host = Env.option("HOST").or("localhost");

    final Optional<String> clusterNameOpt = Env.option("CASSANDRA_CLUSTER_NAME");

    final int executorCount = Integer.parseInt(Env.option("CASSANDRA_NODE_COUNT").or("3"));
    final int seedCount = Integer.parseInt(Env.option("CASSANDRA_SEED_COUNT").or("2"));
    final double resourceCpuCores = Double.parseDouble(Env.option("CASSANDRA_RESOURCE_CPU_CORES").or("2.0"));
    final long resourceMemoryMegabytes = Long.parseLong(Env.option("CASSANDRA_RESOURCE_MEM_MB").or("2048"));
    final long resourceDiskMegabytes = Long.parseLong(Env.option("CASSANDRA_RESOURCE_DISK_MB").or("2048"));
    final long javaHeapMb = Long.parseLong(Env.option("CASSANDRA_RESOURCE_HEAP_MB").or("0"));
    final long healthCheckIntervalSec = Long
            .parseLong(Env.option("CASSANDRA_HEALTH_CHECK_INTERVAL_SECONDS").or("60"));
    final long bootstrapGraceTimeSec = Long
            .parseLong(Env.option("CASSANDRA_BOOTSTRAP_GRACE_TIME_SECONDS").or("120"));
    final String cassandraVersion = "2.1.4";
    final String clusterName = clusterNameOpt.or("cassandra");
    final String frameworkName = frameworkName(clusterNameOpt);
    final String zkUrl = Env.option("CASSANDRA_ZK").or("zk://localhost:2181/cassandra-mesos");
    final long zkTimeoutMs = Long.parseLong(Env.option("CASSANDRA_ZK_TIMEOUT_MS").or("10000"));
    final String mesosMasterZkUrl = Env.option("MESOS_ZK").or("zk://localhost:2181/mesos");
    final String mesosUser = Env.option("MESOS_USER").or("");
    final long failoverTimeout = Long.parseLong(Env.option("CASSANDRA_FAILOVER_TIMEOUT_SECONDS")
            .or(String.valueOf(Period.days(7).toStandardSeconds().getSeconds())));
    final String mesosRole = Env.option("CASSANDRA_FRAMEWORK_MESOS_ROLE").or("*");
    final String dataDirectory = Env.option("CASSANDRA_DATA_DIRECTORY").or(DEFAULT_DATA_DIRECTORY); // TODO: Temporary. Will be removed when MESOS-1554 is released
    final String backupDirectory = Env.option("CASSANDRA_BACKUP_DIRECTORY").or(DEFAULT_BACKUP_DIRECTORY);
    final boolean jmxLocal = Boolean.parseBoolean(Env.option("CASSANDRA_JMX_LOCAL").or("true"));
    final boolean jmxNoAuthentication = Boolean
            .parseBoolean(Env.option("CASSANDRA_JMX_NO_AUTHENTICATION").or("false"));
    final String defaultRack = Env.option("CASSANDRA_DEFAULT_RACK").or("RAC1");
    final String defaultDc = Env.option("CASSANDRA_DEFAULT_DC").or("DC1");

    final List<ExternalDc> externalDcs = getExternalDcs(Env.filterStartsWith("CASSANDRA_EXTERNAL_DC_", true));
    final Matcher matcher = validateZkUrl(zkUrl);

    final State state = new ZooKeeperState(matcher.group(1), zkTimeoutMs, TimeUnit.MILLISECONDS,
            matcher.group(2));

    if (seedCount > executorCount || seedCount <= 0 || executorCount <= 0) {
        throw new IllegalArgumentException(
                "number of nodes (" + executorCount + ") and/or number of seeds (" + seedCount + ") invalid");
    }

    final PersistedCassandraFrameworkConfiguration configuration = new PersistedCassandraFrameworkConfiguration(
            state, frameworkName, healthCheckIntervalSec, bootstrapGraceTimeSec, cassandraVersion,
            resourceCpuCores, resourceDiskMegabytes, resourceMemoryMegabytes, javaHeapMb, executorCount,
            seedCount, mesosRole, backupDirectory, dataDirectory, jmxLocal, jmxNoAuthentication, defaultRack,
            defaultDc, externalDcs, clusterName);

    final FrameworkInfo.Builder frameworkBuilder = FrameworkInfo.newBuilder()
            .setFailoverTimeout(failoverTimeout).setUser(mesosUser).setName(frameworkName).setRole(mesosRole)
            .setCheckpoint(true);

    final Optional<String> frameworkId = configuration.frameworkId();
    if (frameworkId.isPresent()) {
        frameworkBuilder.setId(frameworkId(frameworkId.get()));
    }

    final URI httpServerBaseUri = URI.create("http://" + host + ":" + port0 + "/");

    final Clock clock = new SystemClock();
    final PersistedCassandraClusterHealthCheckHistory healthCheckHistory = new PersistedCassandraClusterHealthCheckHistory(
            state);
    final PersistedCassandraClusterState clusterState = new PersistedCassandraClusterState(state);
    final SeedManager seedManager = new SeedManager(configuration, new ObjectMapper(), new SystemClock());
    final CassandraCluster cassandraCluster = new CassandraCluster(clock, httpServerBaseUri.toString(),
            new ExecutorCounter(state, 0L), clusterState, healthCheckHistory,
            new PersistedCassandraClusterJobs(state), configuration, seedManager);
    final HealthReportService healthReportService = new HealthReportService(clusterState, configuration,
            healthCheckHistory, clock);
    final Scheduler scheduler = new CassandraScheduler(configuration, cassandraCluster, clock);

    final JsonFactory factory = new JsonFactory();
    final ObjectMapper objectMapper = new ObjectMapper(factory);
    objectMapper.registerModule(new GuavaModule());

    // create JsonProvider to provide custom ObjectMapper
    JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider();
    provider.setMapper(objectMapper);

    final ResourceConfig rc = new ResourceConfig().registerInstances(
            new FileResourceController(cassandraVersion), new ApiController(factory),
            new ClusterCleanupController(cassandraCluster, factory),
            new ClusterRepairController(cassandraCluster, factory),
            new ClusterRollingRestartController(cassandraCluster, factory),
            new ClusterBackupController(cassandraCluster, factory),
            new ClusterRestoreController(cassandraCluster, factory),
            new ConfigController(cassandraCluster, factory),
            new LiveEndpointsController(cassandraCluster, factory),
            new NodeController(cassandraCluster, factory), new HealthCheckController(healthReportService),
            new QaReportController(cassandraCluster, factory),
            new ScaleOutController(cassandraCluster, factory), provider);
    final HttpServer httpServer = GrizzlyHttpServerFactory.createHttpServer(httpServerBaseUri, rc);

    final MesosSchedulerDriver driver;
    final Optional<Credential> credentials = getCredential();
    if (credentials.isPresent()) {
        frameworkBuilder.setPrincipal(credentials.get().getPrincipal());
        driver = new MesosSchedulerDriver(scheduler, frameworkBuilder.build(), mesosMasterZkUrl,
                credentials.get());
    } else {
        frameworkBuilder.setPrincipal("cassandra-framework");
        driver = new MesosSchedulerDriver(scheduler, frameworkBuilder.build(), mesosMasterZkUrl);
    }

    seedManager.startSyncingSeeds(60);

    final int status;
    switch (driver.run()) {
    case DRIVER_STOPPED:
        status = 0;
        break;
    case DRIVER_ABORTED:
        status = 1;
        break;
    case DRIVER_NOT_STARTED:
        status = 2;
        break;
    default:
        status = 3;
        break;
    }

    httpServer.shutdownNow();
    // Ensure that the driver process terminates.
    driver.stop(true);
    return status;
}

From source file:org.lenskit.specs.SpecUtils.java

public static ObjectMapper createMapper() {
    ObjectMapper mapper = new ObjectMapper();
    SimpleModule mod = new SimpleModule("LenskitSpecs");
    mod.addSerializer(Path.class, new PathSerializer());
    mod.addDeserializer(Path.class, new PathDeserializer());
    mapper.registerModule(mod);
    return mapper;
}

From source file:de.taimos.dvalin.interconnect.model.InterconnectMapper.java

private static ObjectMapper createMapper() {
    ObjectMapper mapper = new ObjectMapper();
    JodaModule jm = new JodaModule();
    // make some modifications to ensure correct tz serialization and get map keys working
    jm.addKeyDeserializer(DateTime.class, new DateTimeKeyDeserializer());
    jm.addDeserializer(DateTime.class, new DateTimeDeserializerWithTZ());
    mapper.registerModule(jm);
    mapper.registerModule(new GuavaModule());
    mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
    mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
    return mapper;
}

From source file:com.streamsets.datacollector.record.io.TestFieldAttributeCompatibility.java

/**
 * Essentially the same as {@link com.streamsets.datacollector.json.ObjectMapperFactory#create(boolean)},
 * but using the previous implementation of {@link com.streamsets.datacollector.record.FieldDeserializer}
 *
 * @return the ObjectMapper//from  w  w  w . j a  va  2  s .c o  m
 */
private static ObjectMapper createNonAttributeObjectMapper() {
    ObjectMapper objectMapper = MetricsObjectMapperFactory.create(false);
    SimpleModule module = new SimpleModule();
    module.addDeserializer(FieldJson.class, new PreAttributesFieldDeserializer());
    module.addDeserializer(ErrorMessage.class, new ErrorMessageDeserializer());
    objectMapper.registerModule(module);
    return objectMapper;
}

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

@VisibleForTesting
public static ObjectMapper getObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    mapper.registerModule(new JodaModule());
    registerEnumModule(mapper);//w  w  w  .  j a va2  s .c  o m
    return mapper;
}