@Override public IndexingConfigurations defaultConfigurations() { return new IndexingConfigurations(); }
@Override public String getIndex(String sensorName) { return config.orElse(new IndexingConfigurations()).getIndex(sensorName, writerName); }
@Override public boolean isDefault(String sensorName) { return config.orElse(new IndexingConfigurations()).isDefault(sensorName, writerName); }
@Override public boolean isEnabled(String sensorName) { return config.orElse(new IndexingConfigurations()).isEnabled(sensorName, writerName); }
@Override public int getBatchSize(String sensorName) { return config.orElse(new IndexingConfigurations()).getBatchSize(sensorName, writerName); }
@Override public Map<String, Object> getSensorConfig(String sensorName) { return config.orElse(new IndexingConfigurations()).getSensorIndexingConfig(sensorName, writerName); }
@Override public List<Integer> getAllConfiguredTimeouts() { return config.orElse(new IndexingConfigurations()).getAllConfiguredTimeouts(writerName); }
@Override public String getFieldNameConverter(String sensorName) { return config.orElse(new IndexingConfigurations()).getFieldNameConverter(sensorName, writerName); } }
@Override public int getBatchTimeout(String sensorName) { return config.orElse(new IndexingConfigurations()).getBatchTimeout(sensorName, writerName); }
@Override public Map<String, Object> getGlobalConfig() { return config.orElse(new IndexingConfigurations()).getGlobalConfig(); }
private WriterConfiguration createConfig(String writer, String sensor, String json) throws Exception { IndexingConfigurations indexingConfig = new IndexingConfigurations(); indexingConfig.updateSensorIndexingConfig(sensor, json.getBytes()); return new IndexingWriterConfiguration(writer, indexingConfig); }
@Test public void testDefaultBatchSize() { IndexingWriterConfiguration config = new IndexingWriterConfiguration("hdfs", new IndexingConfigurations() ); Assert.assertEquals(1, config.getBatchSize("foo")); } @Test
@Test public void testDefaultBatchTimeout() { IndexingWriterConfiguration config = new IndexingWriterConfiguration("hdfs", new IndexingConfigurations() ); Assert.assertEquals(0, config.getBatchTimeout("foo")); } @Test
@Test public void testDefaultIndex() { IndexingWriterConfiguration config = new IndexingWriterConfiguration("hdfs", new IndexingConfigurations() ); Assert.assertEquals("foo", config.getIndex("foo")); } }
public static IndexingConfigurations getSampleIndexingConfigs() throws IOException { IndexingConfigurations configurations = new IndexingConfigurations(); configurations.updateGlobalConfig(ConfigurationsUtils.readGlobalConfigFromFile(TestConstants.SAMPLE_CONFIG_PATH)); Map<String, byte[]> sensorIndexingConfigs = ConfigurationsUtils.readSensorIndexingConfigsFromFile(TestConstants.SAMPLE_CONFIG_PATH); for(String sensorType: sensorIndexingConfigs.keySet()) { configurations.updateSensorIndexingConfig(sensorType, sensorIndexingConfigs.get(sensorType)); } return configurations; } }
@Test public void testGetAllConfiguredTimeouts() throws FileNotFoundException, IOException { //default IndexingWriterConfiguration config = new IndexingWriterConfiguration("hdfs", new IndexingConfigurations() ); Assert.assertEquals(0, config.getAllConfiguredTimeouts().size()); //non-default IndexingConfigurations iconfigs = new IndexingConfigurations(); iconfigs.updateSensorIndexingConfig( sensorType, new FileInputStream(sampleSensorIndexingConfigPath)); config = new IndexingWriterConfiguration("elasticsearch", iconfigs); Assert.assertEquals(1, config.getAllConfiguredTimeouts().size()); Assert.assertEquals(7, (long)config.getAllConfiguredTimeouts().get(0)); } @Test
@Test public void strategies_build_writer_configs() { assertThat(PARSERS.createWriterConfig(writer, new ParserConfigurations()), instanceOf(ParserWriterConfiguration.class)); assertThat(ENRICHMENT.createWriterConfig(writer, new EnrichmentConfigurations()), instanceOf(EnrichmentWriterConfiguration.class)); assertThat(INDEXING.createWriterConfig(writer, new IndexingConfigurations()), instanceOf(IndexingWriterConfiguration.class)); assertThat(PROFILER.createWriterConfig(writer, new ProfilerConfigurations()), instanceOf(ProfilerWriterConfiguration.class)); }