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

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

Introduction

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

Prototype

public ObjectMapper setInjectableValues(InjectableValues injectableValues) 

Source Link

Document

Method for configuring InjectableValues which used to find values to inject.

Usage

From source file:com.arpnetworking.tsdaggregator.configuration.PipelineConfiguration.java

/**
 * Create an <code>ObjectMapper</code> for Pipeline configuration.
 *
 * @param injector The Guice <code>Injector</code> instance.
 * @return An <code>ObjectMapper</code> for Pipeline configuration.
 *///from w  ww . j a v a  2  s.  c o m
public static ObjectMapper createObjectMapper(final Injector injector) {
    final ObjectMapper objectMapper = ObjectMapperFactory.createInstance();

    final SimpleModule module = new SimpleModule("Pipeline");
    BuilderDeserializer.addTo(module, PipelineConfiguration.class);

    final Set<Class<? extends Sink>> sinkClasses = INTERFACE_DATABASE.findClassesWithInterface(Sink.class);
    for (final Class<? extends Sink> sinkClass : sinkClasses) {
        BuilderDeserializer.addTo(module, sinkClass);
    }

    final Set<Class<? extends Source>> sourceClasses = INTERFACE_DATABASE
            .findClassesWithInterface(Source.class);
    for (final Class<? extends Source> sourceClass : sourceClasses) {
        BuilderDeserializer.addTo(module, sourceClass);
    }

    @SuppressWarnings({ "rawtypes", "unchecked" })
    final Set<Class<? extends Parser<?>>> parserClasses = INTERFACE_DATABASE
            .findClassesWithInterface((Class) Parser.class);
    for (final Class<? extends Parser<?>> parserClass : parserClasses) {
        BuilderDeserializer.addTo(module, parserClass);
    }

    final Set<Class<? extends DynamicConfigurationFactory>> dcFactoryClasses = INTERFACE_DATABASE
            .findClassesWithInterface(DynamicConfigurationFactory.class);
    for (final Class<? extends DynamicConfigurationFactory> dcFactoryClass : dcFactoryClasses) {
        BuilderDeserializer.addTo(module, dcFactoryClass);
    }

    objectMapper.registerModules(module);

    final GuiceAnnotationIntrospector guiceIntrospector = new GuiceAnnotationIntrospector();
    objectMapper.setInjectableValues(new GuiceInjectableValues(injector));
    objectMapper.setAnnotationIntrospectors(
            new AnnotationIntrospectorPair(guiceIntrospector,
                    objectMapper.getSerializationConfig().getAnnotationIntrospector()),
            new AnnotationIntrospectorPair(guiceIntrospector,
                    objectMapper.getDeserializationConfig().getAnnotationIntrospector()));

    return objectMapper;
}

From source file:org.apache.druid.query.aggregation.AggregationTestHelper.java

public static AggregationTestHelper createSelectQueryAggregationTestHelper(
        List<? extends Module> jsonModulesToRegister, TemporaryFolder tempFolder) {
    ObjectMapper mapper = TestHelper.makeJsonMapper();
    mapper.setInjectableValues(
            new InjectableValues.Std().addValue(SelectQueryConfig.class, new SelectQueryConfig(true)));

    Supplier<SelectQueryConfig> configSupplier = Suppliers.ofInstance(new SelectQueryConfig(true));

    SelectQueryQueryToolChest toolchest = new SelectQueryQueryToolChest(TestHelper.makeJsonMapper(),
            QueryRunnerTestHelper.NoopIntervalChunkingQueryRunnerDecorator(), configSupplier);

    SelectQueryRunnerFactory factory = new SelectQueryRunnerFactory(
            new SelectQueryQueryToolChest(TestHelper.makeJsonMapper(),
                    QueryRunnerTestHelper.NoopIntervalChunkingQueryRunnerDecorator(), configSupplier),
            new SelectQueryEngine(), QueryRunnerTestHelper.NOOP_QUERYWATCHER);

    IndexIO indexIO = new IndexIO(mapper, new ColumnConfig() {
        @Override/*from  www .ja va  2  s.  co  m*/
        public int columnCacheSizeBytes() {
            return 0;
        }
    });

    return new AggregationTestHelper(mapper,
            new IndexMergerV9(mapper, indexIO, OffHeapMemorySegmentWriteOutMediumFactory.instance()), indexIO,
            toolchest, factory, tempFolder, jsonModulesToRegister, Closer.create());
}