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

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

Introduction

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

Prototype

public ObjectMapper copy() 

Source Link

Document

Method for creating a new ObjectMapper instance that has same initial configuration as this instance.

Usage

From source file:com.hp.autonomy.iod.client.converter.IodConverter.java

/**
 * Creates a new IodConverter//  w w  w .j a  v a  2 s.  com
 *
 * @param objectMapper Jackson ObjectMapper for handling Json
 */
public IodConverter(final ObjectMapper objectMapper) {
    final ObjectMapper objectMapperCopy = objectMapper.copy();
    // HPE Haven OnDemand does not consider adding new properties to be a breaking change, so ignore any unknown properties
    objectMapperCopy.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    converter = new JacksonConverter(objectMapperCopy);
}

From source file:org.springframework.data.rest.webmvc.config.JsonPatchHandler.java

/**
 * Creates a new {@link JsonPatchHandler} with the given {@link ObjectMapper} and {@link DomainObjectReader}.
 * /*  www.j  ava2 s .  co  m*/
 * @param mapper must not be {@literal null}.
 * @param reader must not be {@literal null}.
 */
public JsonPatchHandler(ObjectMapper mapper, DomainObjectReader reader) {

    Assert.notNull(mapper, "ObjectMapper must not be null!");
    Assert.notNull(reader, "DomainObjectReader must not be null!");

    this.mapper = mapper;
    this.reader = reader;

    this.sourceMapper = mapper.copy();
    this.sourceMapper.setSerializationInclusion(Include.NON_NULL);
}

From source file:de.thomaskrille.dropwizard.environment_configuration.EnvironmentConfigurationFactory.java

/**
 * Creates a new configuration factory for the given class.
 *
 * @param klass//from   ww w .  ja v a  2  s . c  o m
 *        the configuration class
 * @param validator
 *        the validator to use
 * @param objectMapper
 *        the Jackson {@link ObjectMapper} to use
 * @param propertyPrefix
 *        the system property name prefix used by overrides
 */
public EnvironmentConfigurationFactory(final Class<T> klass, final Validator validator,
        final ObjectMapper objectMapper, final String propertyPrefix, EnvironmentProvider environmentProvider) {
    super(klass, validator, objectMapper, propertyPrefix);
    this.klass = klass;
    this.propertyPrefix = propertyPrefix.endsWith(".") ? propertyPrefix : propertyPrefix + '.';
    this.mapper = objectMapper.copy();
    mapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    this.validator = validator;
    this.yamlFactory = new YAMLFactory();
    this.environmentProvider = environmentProvider;
}

From source file:io.druid.indexing.kafka.supervisor.KafkaSupervisor.java

public KafkaSupervisor(final TaskStorage taskStorage, final TaskMaster taskMaster,
        final IndexerMetadataStorageCoordinator indexerMetadataStorageCoordinator,
        final KafkaIndexTaskClientFactory taskClientFactory, final ObjectMapper mapper,
        final KafkaSupervisorSpec spec) {
    this.taskStorage = taskStorage;
    this.taskMaster = taskMaster;
    this.indexerMetadataStorageCoordinator = indexerMetadataStorageCoordinator;
    this.sortingMapper = mapper.copy().configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);
    this.spec = spec;

    this.dataSource = spec.getDataSchema().getDataSource();
    this.ioConfig = spec.getIoConfig();
    this.tuningConfig = spec.getTuningConfig();
    this.taskTuningConfig = KafkaTuningConfig.copyOf(this.tuningConfig);
    this.supervisorId = String.format("KafkaSupervisor-%s", dataSource);
    this.exec = Execs.singleThreaded(supervisorId);
    this.scheduledExec = Execs.scheduledSingleThreaded(supervisorId + "-Scheduler-%d");

    int workerThreads = (this.tuningConfig.getWorkerThreads() != null ? this.tuningConfig.getWorkerThreads()
            : Math.min(10, this.ioConfig.getTaskCount()));
    this.workerExec = MoreExecutors
            .listeningDecorator(Execs.multiThreaded(workerThreads, supervisorId + "-Worker-%d"));
    log.info("Created worker pool with [%d] threads for dataSource [%s]", workerThreads, this.dataSource);

    this.taskInfoProvider = new TaskInfoProvider() {
        @Override//from   w  ww  .jav  a  2s.  c  o  m
        public TaskLocation getTaskLocation(final String id) {
            Preconditions.checkNotNull(id, "id");
            Optional<TaskRunner> taskRunner = taskMaster.getTaskRunner();
            if (taskRunner.isPresent()) {
                Optional<? extends TaskRunnerWorkItem> item = Iterables
                        .tryFind(taskRunner.get().getRunningTasks(), new Predicate<TaskRunnerWorkItem>() {
                            @Override
                            public boolean apply(TaskRunnerWorkItem taskRunnerWorkItem) {
                                return id.equals(taskRunnerWorkItem.getTaskId());
                            }
                        });

                if (item.isPresent()) {
                    return item.get().getLocation();
                }
            } else {
                log.error("Failed to get task runner because I'm not the leader!");
            }

            return TaskLocation.unknown();
        }

        @Override
        public Optional<TaskStatus> getTaskStatus(String id) {
            return taskStorage.getStatus(id);
        }
    };

    int chatThreads = (this.tuningConfig.getChatThreads() != null ? this.tuningConfig.getChatThreads()
            : Math.min(10, this.ioConfig.getTaskCount() * this.ioConfig.getReplicas()));
    this.taskClient = taskClientFactory.build(taskInfoProvider, dataSource, chatThreads,
            this.tuningConfig.getHttpTimeout(), this.tuningConfig.getChatRetries());
    log.info("Created taskClient with dataSource[%s] chatThreads[%d] httpTimeout[%s] chatRetries[%d]",
            dataSource, chatThreads, this.tuningConfig.getHttpTimeout(), this.tuningConfig.getChatRetries());
}

From source file:io.druid.indexing.jdbc.supervisor.JDBCSupervisor.java

public JDBCSupervisor(final TaskStorage taskStorage, final TaskMaster taskMaster,
        final IndexerMetadataStorageCoordinator indexerMetadataStorageCoordinator,
        final JDBCIndexTaskClientFactory taskClientFactory, final ObjectMapper mapper,
        final JDBCSupervisorSpec spec) {
    this.taskStorage = taskStorage;
    this.taskMaster = taskMaster;
    this.indexerMetadataStorageCoordinator = indexerMetadataStorageCoordinator;
    this.sortingMapper = mapper.copy().configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);
    this.spec = spec;
    this.emitter = spec.getEmitter();
    this.monitorSchedulerConfig = spec.getMonitorSchedulerConfig();

    this.dataSource = spec.getDataSchema().getDataSource();
    this.ioConfig = spec.getIoConfig();
    this.tuningConfig = spec.getTuningConfig();
    this.taskTuningConfig = JDBCTuningConfig.copyOf(this.tuningConfig);
    this.supervisorId = String.format("JDBCSupervisor-%s", dataSource);
    this.exec = Execs.singleThreaded(supervisorId);
    this.scheduledExec = Execs.scheduledSingleThreaded(supervisorId + "-Scheduler-%d");
    this.reportingExec = Execs.scheduledSingleThreaded(supervisorId + "-Reporting-%d");

    int workerThreads = Math.min(10, this.ioConfig.getTaskCount());
    this.workerExec = MoreExecutors
            .listeningDecorator(Execs.multiThreaded(workerThreads, supervisorId + "-Worker-%d"));
    log.info("Created worker pool with [%d] threads for dataSource [%s]", workerThreads, this.dataSource);

    this.taskInfoProvider = new TaskInfoProvider() {
        @Override//from  ww w  .j  a  v  a  2s .  c o m
        public TaskLocation getTaskLocation(final String id) {
            Preconditions.checkNotNull(id, "id");
            Optional<TaskRunner> taskRunner = taskMaster.getTaskRunner();
            if (taskRunner.isPresent()) {
                Optional<? extends TaskRunnerWorkItem> item = Iterables
                        .tryFind(taskRunner.get().getRunningTasks(), new Predicate<TaskRunnerWorkItem>() {
                            @Override
                            public boolean apply(TaskRunnerWorkItem taskRunnerWorkItem) {
                                return id.equals(taskRunnerWorkItem.getTaskId());
                            }
                        });

                if (item.isPresent()) {
                    return item.get().getLocation();
                }
            } else {
                log.error("Failed to get task runner because I'm not the leader!");
            }

            return TaskLocation.unknown();
        }

        @Override
        public Optional<TaskStatus> getTaskStatus(String id) {
            return taskStorage.getStatus(id);
        }
    };

    this.futureTimeoutInSeconds = Math.max(MINIMUM_FUTURE_TIMEOUT_IN_SECONDS,
            tuningConfig.getChatRetries() * (tuningConfig.getHttpTimeout().getStandardSeconds()
                    + JDBCIndexTaskClient.MAX_RETRY_WAIT_SECONDS));

    int chatThreads = (this.tuningConfig.getChatThreads() != null ? this.tuningConfig.getChatThreads()
            : Math.min(10, this.ioConfig.getTaskCount() * this.ioConfig.getReplicas()));
    this.taskClient = taskClientFactory.build(taskInfoProvider, dataSource, chatThreads,
            this.tuningConfig.getHttpTimeout(), this.tuningConfig.getChatRetries());
    log.info("Created taskClient with dataSource[%s] chatThreads[%d] httpTimeout[%s] chatRetries[%d]",
            dataSource, chatThreads, this.tuningConfig.getHttpTimeout(), this.tuningConfig.getChatRetries());
}

From source file:org.apache.druid.indexing.kafka.supervisor.KafkaSupervisor.java

public KafkaSupervisor(final TaskStorage taskStorage, final TaskMaster taskMaster,
        final IndexerMetadataStorageCoordinator indexerMetadataStorageCoordinator,
        final KafkaIndexTaskClientFactory taskClientFactory, final ObjectMapper mapper,
        final KafkaSupervisorSpec spec, final RowIngestionMetersFactory rowIngestionMetersFactory) {
    this.taskStorage = taskStorage;
    this.taskMaster = taskMaster;
    this.indexerMetadataStorageCoordinator = indexerMetadataStorageCoordinator;
    this.sortingMapper = mapper.copy().configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);
    this.spec = spec;
    this.emitter = spec.getEmitter();
    this.monitorSchedulerConfig = spec.getMonitorSchedulerConfig();
    this.rowIngestionMetersFactory = rowIngestionMetersFactory;

    this.dataSource = spec.getDataSchema().getDataSource();
    this.ioConfig = spec.getIoConfig();
    this.tuningConfig = spec.getTuningConfig();
    this.taskTuningConfig = KafkaTuningConfig.copyOf(this.tuningConfig);
    this.supervisorId = StringUtils.format("KafkaSupervisor-%s", dataSource);
    this.exec = Execs.singleThreaded(supervisorId);
    this.scheduledExec = Execs.scheduledSingleThreaded(supervisorId + "-Scheduler-%d");
    this.reportingExec = Execs.scheduledSingleThreaded(supervisorId + "-Reporting-%d");

    int workerThreads = (this.tuningConfig.getWorkerThreads() != null ? this.tuningConfig.getWorkerThreads()
            : Math.min(10, this.ioConfig.getTaskCount()));
    this.workerExec = MoreExecutors
            .listeningDecorator(Execs.multiThreaded(workerThreads, supervisorId + "-Worker-%d"));
    log.info("Created worker pool with [%d] threads for dataSource [%s]", workerThreads, this.dataSource);

    this.taskInfoProvider = new TaskInfoProvider() {
        @Override//from  www . j a  v  a 2  s. co  m
        public TaskLocation getTaskLocation(final String id) {
            Preconditions.checkNotNull(id, "id");
            Optional<TaskRunner> taskRunner = taskMaster.getTaskRunner();
            if (taskRunner.isPresent()) {
                Optional<? extends TaskRunnerWorkItem> item = Iterables.tryFind(
                        taskRunner.get().getRunningTasks(),
                        (Predicate<TaskRunnerWorkItem>) taskRunnerWorkItem -> id
                                .equals(taskRunnerWorkItem.getTaskId()));

                if (item.isPresent()) {
                    return item.get().getLocation();
                }
            } else {
                log.error("Failed to get task runner because I'm not the leader!");
            }

            return TaskLocation.unknown();
        }

        @Override
        public Optional<TaskStatus> getTaskStatus(String id) {
            return taskStorage.getStatus(id);
        }
    };

    this.futureTimeoutInSeconds = Math.max(MINIMUM_FUTURE_TIMEOUT_IN_SECONDS,
            tuningConfig.getChatRetries() * (tuningConfig.getHttpTimeout().getStandardSeconds()
                    + KafkaIndexTaskClient.MAX_RETRY_WAIT_SECONDS));

    int chatThreads = (this.tuningConfig.getChatThreads() != null ? this.tuningConfig.getChatThreads()
            : Math.min(10, this.ioConfig.getTaskCount() * this.ioConfig.getReplicas()));
    this.taskClient = taskClientFactory.build(taskInfoProvider, dataSource, chatThreads,
            this.tuningConfig.getHttpTimeout(), this.tuningConfig.getChatRetries());
    log.info("Created taskClient with dataSource[%s] chatThreads[%d] httpTimeout[%s] chatRetries[%d]",
            dataSource, chatThreads, this.tuningConfig.getHttpTimeout(), this.tuningConfig.getChatRetries());
}