first cut at integrating new settings infra

This commit is contained in:
Simon Willnauer 2016-01-15 12:41:38 +01:00
parent 6fe6c25fad
commit 211f80fcad
2 changed files with 23 additions and 11 deletions

View File

@ -22,6 +22,7 @@ import org.apache.lucene.index.AssertingDirectoryReader;
import org.apache.lucene.index.FilterDirectoryReader;
import org.elasticsearch.common.inject.AbstractModule;
import org.elasticsearch.common.inject.Module;
import org.elasticsearch.common.settings.SettingsModule;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.engine.MockEngineFactory;
import org.elasticsearch.test.engine.MockEngineSupport;
@ -42,12 +43,13 @@ public class MockEngineFactoryPlugin extends Plugin {
private Class<? extends FilterDirectoryReader> readerWrapper = AssertingDirectoryReader.class;
public void onModule(SettingsModule module) {
module.registerSetting(MockEngineSupport.DISABLE_FLUSH_ON_CLOSE);
module.registerSetting(MockEngineSupport.WRAP_READER_RATIO);
}
@Override
public void onIndexModule(IndexModule module) {
module.addSetting(MockEngineSupport.DISABLE_FLUSH_ON_CLOSE);
module.addSetting(MockEngineSupport.WRAP_READER_RATIO);
module.engineFactory.set(new MockEngineFactory(readerWrapper));
}

View File

@ -21,11 +21,17 @@ package org.elasticsearch.test;
import org.elasticsearch.Version;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.common.inject.AbstractModule;
import org.elasticsearch.common.regex.Regex;
import org.elasticsearch.common.settings.IndexScopeSettings;
import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class IndexSettingsModule extends AbstractModule {
@ -43,17 +49,21 @@ public class IndexSettingsModule extends AbstractModule {
bind(IndexSettings.class).toInstance(newIndexSettings(index, settings));
}
public static IndexSettings newIndexSettings(String index, Settings settings) {
return newIndexSettings(new Index(index), settings);
public static IndexSettings newIndexSettings(String index, Settings settings, Setting<?>... setting) {
return newIndexSettings(new Index(index), settings, setting);
}
public static IndexSettings newIndexSettings(Index index, Settings settings) {
public static IndexSettings newIndexSettings(Index index, Settings settings, Setting<?>... setting) {
Settings build = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 1)
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1)
.put(settings)
.build();
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 1)
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1)
.put(settings)
.build();
IndexMetaData metaData = IndexMetaData.builder(index.getName()).settings(build).build();
return new IndexSettings(metaData, Settings.EMPTY);
Set<Setting<?>> settingSet = new HashSet<>(IndexScopeSettings.BUILT_IN_INDEX_SETTINGS);
if (setting.length > 0) {
settingSet.addAll(Arrays.asList(setting));
}
return new IndexSettings(metaData, Settings.EMPTY, (idx) -> Regex.simpleMatch(idx, metaData.getIndex()), new IndexScopeSettings(Settings.EMPTY, settingSet));
}
}