Example usage for com.fasterxml.jackson.databind.jsontype.impl StdSubtypeResolver StdSubtypeResolver

List of usage examples for com.fasterxml.jackson.databind.jsontype.impl StdSubtypeResolver StdSubtypeResolver

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.jsontype.impl StdSubtypeResolver StdSubtypeResolver.

Prototype

StdSubtypeResolver

Source Link

Usage

From source file:org.apache.curator.x.rpc.configuration.ConfigurationBuilder.java

public Configuration build() throws Exception {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new LogbackModule());
    mapper.setPropertyNamingStrategy(new AnnotationSensitivePropertyNamingStrategy());
    SubtypeResolver subtypeResolver = new StdSubtypeResolver();
    subtypeResolver.registerSubtypes(ConsoleAppenderFactory.class, FileAppenderFactory.class,
            SyslogAppenderFactory.class, ExponentialBackoffRetryConfiguration.class,
            RetryNTimesConfiguration.class);
    mapper.setSubtypeResolver(subtypeResolver);

    ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
    ConfigurationFactoryFactory<Configuration> factoryFactory = new DefaultConfigurationFactoryFactory<Configuration>();
    ConfigurationFactory<Configuration> configurationFactory = factoryFactory.create(Configuration.class,
            validatorFactory.getValidator(), mapper, "curator");
    ConfigurationSourceProvider provider = new ConfigurationSourceProvider() {
        @Override/*w  ww  .  java2  s  .c om*/
        public InputStream open(String path) throws IOException {
            return new ByteArrayInputStream(configurationSource.getBytes(Charset.defaultCharset()));
        }
    };
    return configurationFactory.build(provider, "");
}

From source file:com.flipkart.foxtrot.server.resources.AnalyticsResourceTest.java

public AnalyticsResourceTest() throws Exception {
    getObjectMapperFactory().setSerializationInclusion(JsonInclude.Include.NON_NULL);
    getObjectMapperFactory().setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
    SubtypeResolver subtypeResolver = new StdSubtypeResolver();
    getObjectMapperFactory().setSubtypeResolver(subtypeResolver);

    ObjectMapper mapper = getObjectMapperFactory().build();
    ElasticsearchUtils.setMapper(mapper);
    DataStore dataStore = TestUtils.getDataStore();

    //Initializing Cache Factory
    hazelcastInstance = new TestHazelcastInstanceFactory(1).newHazelcastInstance();
    HazelcastConnection hazelcastConnection = Mockito.mock(HazelcastConnection.class);
    when(hazelcastConnection.getHazelcast()).thenReturn(hazelcastInstance);
    CacheUtils.setCacheFactory(new DistributedCacheFactory(hazelcastConnection, mapper));

    elasticsearchServer = new MockElasticsearchServer(UUID.randomUUID().toString());
    ElasticsearchConnection elasticsearchConnection = Mockito.mock(ElasticsearchConnection.class);
    when(elasticsearchConnection.getClient()).thenReturn(elasticsearchServer.getClient());
    ElasticsearchUtils.initializeMappings(elasticsearchServer.getClient());

    Settings indexSettings = ImmutableSettings.settingsBuilder().put("number_of_replicas", 0).build();
    CreateIndexRequest createRequest = new CreateIndexRequest(TableMapStore.TABLE_META_INDEX)
            .settings(indexSettings);//from w ww . ja v a  2s .c o m
    elasticsearchServer.getClient().admin().indices().create(createRequest).actionGet();
    elasticsearchServer.getClient().admin().cluster().prepareHealth().setWaitForGreenStatus().execute()
            .actionGet();

    tableMetadataManager = Mockito.mock(TableMetadataManager.class);
    tableMetadataManager.start();
    when(tableMetadataManager.exists(anyString())).thenReturn(true);
    when(tableMetadataManager.get(anyString())).thenReturn(TestUtils.TEST_TABLE);
    QueryStore queryStore = new ElasticsearchQueryStore(tableMetadataManager, elasticsearchConnection,
            dataStore);

    AnalyticsLoader analyticsLoader = new AnalyticsLoader(tableMetadataManager, dataStore, queryStore,
            elasticsearchConnection);
    TestUtils.registerActions(analyticsLoader, mapper);
    ExecutorService executorService = Executors.newFixedThreadPool(1);
    queryExecutor = new QueryExecutor(analyticsLoader, executorService);
    List<Document> documents = TestUtils.getGroupDocuments(mapper);
    queryStore.save(TestUtils.TEST_TABLE_NAME, documents);
    for (Document document : documents) {
        elasticsearchServer.getClient().admin().indices()
                .prepareRefresh(
                        ElasticsearchUtils.getCurrentIndex(TestUtils.TEST_TABLE_NAME, document.getTimestamp()))
                .setForce(true).execute().actionGet();
    }
}

From source file:com.flipkart.foxtrot.server.resources.AsyncResourceTest.java

public AsyncResourceTest() throws Exception {
    getObjectMapperFactory().setSerializationInclusion(JsonInclude.Include.NON_NULL);
    getObjectMapperFactory().setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
    SubtypeResolver subtypeResolver = new StdSubtypeResolver();
    getObjectMapperFactory().setSubtypeResolver(subtypeResolver);

    ObjectMapper mapper = getObjectMapperFactory().build();
    ElasticsearchUtils.setMapper(mapper);
    DataStore dataStore = TestUtils.getDataStore();

    //Initializing Cache Factory
    hazelcastInstance = new TestHazelcastInstanceFactory(1).newHazelcastInstance();
    HazelcastConnection hazelcastConnection = Mockito.mock(HazelcastConnection.class);
    when(hazelcastConnection.getHazelcast()).thenReturn(hazelcastInstance);
    CacheUtils.setCacheFactory(new DistributedCacheFactory(hazelcastConnection, mapper));

    elasticsearchServer = new MockElasticsearchServer(UUID.randomUUID().toString());
    ElasticsearchConnection elasticsearchConnection = Mockito.mock(ElasticsearchConnection.class);
    when(elasticsearchConnection.getClient()).thenReturn(elasticsearchServer.getClient());
    ElasticsearchUtils.initializeMappings(elasticsearchServer.getClient());

    Settings indexSettings = ImmutableSettings.settingsBuilder().put("number_of_replicas", 0).build();
    CreateIndexRequest createRequest = new CreateIndexRequest(TableMapStore.TABLE_META_INDEX)
            .settings(indexSettings);//ww  w  . j  a  v a 2  s .c o  m
    elasticsearchServer.getClient().admin().indices().create(createRequest).actionGet();
    elasticsearchServer.getClient().admin().cluster().prepareHealth().setWaitForGreenStatus().execute()
            .actionGet();

    tableMetadataManager = Mockito.mock(TableMetadataManager.class);
    tableMetadataManager.start();
    when(tableMetadataManager.exists(anyString())).thenReturn(true);
    when(tableMetadataManager.get(anyString())).thenReturn(TestUtils.TEST_TABLE);

    QueryStore queryStore = new ElasticsearchQueryStore(tableMetadataManager, elasticsearchConnection,
            dataStore);

    AnalyticsLoader analyticsLoader = new AnalyticsLoader(tableMetadataManager, dataStore, queryStore,
            elasticsearchConnection);
    TestUtils.registerActions(analyticsLoader, mapper);
    ExecutorService executorService = Executors.newFixedThreadPool(1);
    queryExecutor = new QueryExecutor(analyticsLoader, executorService);
    List<Document> documents = TestUtils.getGroupDocuments(mapper);
    queryStore.save(TestUtils.TEST_TABLE_NAME, documents);
    for (Document document : documents) {
        elasticsearchServer.getClient().admin().indices()
                .prepareRefresh(
                        ElasticsearchUtils.getCurrentIndex(TestUtils.TEST_TABLE_NAME, document.getTimestamp()))
                .setForce(true).execute().actionGet();
    }
}

From source file:com.flipkart.foxtrot.server.FoxtrotServer.java

@Override
public void run(FoxtrotServerConfiguration configuration, Environment environment) throws Exception {
    configuration.getHttpConfiguration().setRootPath("/foxtrot/*");
    environment.getObjectMapperFactory().setSerializationInclusion(JsonInclude.Include.NON_NULL);
    environment.getObjectMapperFactory().setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
    SubtypeResolver subtypeResolver = new StdSubtypeResolver();
    environment.getObjectMapperFactory().setSubtypeResolver(subtypeResolver);

    ObjectMapper objectMapper = environment.getObjectMapperFactory().build();
    ExecutorService executorService = environment.managedExecutorService("query-executor-%s", 20, 40, 30,
            TimeUnit.SECONDS);//from  ww  w .  j a v  a  2s.c o m

    HbaseConfig hbaseConfig = configuration.getHbase();
    HbaseTableConnection HBaseTableConnection = new HbaseTableConnection(hbaseConfig);

    ElasticsearchConfig elasticsearchConfig = configuration.getElasticsearch();
    ElasticsearchConnection elasticsearchConnection = new ElasticsearchConnection(elasticsearchConfig);

    ClusterConfig clusterConfig = configuration.getCluster();
    HazelcastConnection hazelcastConnection = new HazelcastConnection(clusterConfig, objectMapper);

    ElasticsearchUtils.setMapper(objectMapper);

    TableMetadataManager tableMetadataManager = new DistributedTableMetadataManager(hazelcastConnection,
            elasticsearchConnection);
    DataStore dataStore = new HBaseDataStore(HBaseTableConnection, objectMapper);
    QueryStore queryStore = new ElasticsearchQueryStore(tableMetadataManager, elasticsearchConnection,
            dataStore);
    FoxtrotTableManager tableManager = new FoxtrotTableManager(tableMetadataManager, queryStore, dataStore);

    AnalyticsLoader analyticsLoader = new AnalyticsLoader(tableMetadataManager, dataStore, queryStore,
            elasticsearchConnection);

    QueryExecutor executor = new QueryExecutor(analyticsLoader, executorService);

    DataDeletionManagerConfig dataDeletionManagerConfig = configuration.getTableDataManagerConfig();
    DataDeletionManager dataDeletionManager = new DataDeletionManager(dataDeletionManagerConfig, queryStore);

    List<HealthCheck> healthChecks = Lists.newArrayList();
    healthChecks.add(new ElasticSearchHealthCheck("ES Health Check", elasticsearchConnection));

    ClusterManager clusterManager = new ClusterManager(hazelcastConnection, healthChecks,
            configuration.getHttpConfiguration().getPort());

    environment.manage(HBaseTableConnection);
    environment.manage(elasticsearchConnection);
    environment.manage(hazelcastConnection);
    environment.manage(tableMetadataManager);
    environment.manage(new ManagedActionScanner(analyticsLoader, environment));
    environment.manage(dataDeletionManager);
    environment.manage(clusterManager);

    environment.addResource(new DocumentResource(queryStore));
    environment.addResource(new AsyncResource());
    environment.addResource(new AnalyticsResource(executor));
    environment.addResource(new TableManagerResource(tableManager));
    environment.addResource(new TableFieldMappingResource(queryStore));
    environment.addResource(
            new ConsoleResource(new ElasticsearchConsolePersistence(elasticsearchConnection, objectMapper)));
    FqlEngine fqlEngine = new FqlEngine(tableMetadataManager, queryStore, executor, objectMapper);
    environment.addResource(new FqlResource(fqlEngine));
    environment.addResource(new ClusterInfoResource(clusterManager));
    environment.addResource(new UtilResource(configuration));

    for (HealthCheck healthCheck : healthChecks) {
        environment.addHealthCheck(healthCheck);
    }

    environment.addProvider(new FlatResponseTextProvider());
    environment.addProvider(new FlatResponseCsvProvider());
    environment.addProvider(new FlatResponseErrorTextProvider());

    environment.addFilter(CrossOriginFilter.class, "/*");
}