List of usage examples for com.fasterxml.jackson.databind.jsontype.impl StdSubtypeResolver StdSubtypeResolver
StdSubtypeResolver
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, "/*"); }