Make IndexSettings also own the IndexMetaData and separate node settings

This commit is contained in:
Simon Willnauer 2015-10-23 10:53:39 +02:00
parent f8248eda61
commit 8a9dd871d3
40 changed files with 274 additions and 174 deletions

View File

@ -215,12 +215,10 @@ public class MetaDataIndexUpgradeService extends AbstractComponent {
* Checks the mappings for compatibility with the current version * Checks the mappings for compatibility with the current version
*/ */
private void checkMappingsCompatibility(IndexMetaData indexMetaData) { private void checkMappingsCompatibility(IndexMetaData indexMetaData) {
Index index = new Index(indexMetaData.getIndex());
Settings settings = indexMetaData.getSettings();
try { try {
// We cannot instantiate real analysis server at this point because the node might not have // We cannot instantiate real analysis server at this point because the node might not have
// been started yet. However, we don't really need real analyzers at this stage - so we can fake it // been started yet. However, we don't really need real analyzers at this stage - so we can fake it
IndexSettings indexSettings = new IndexSettings(new Index(indexMetaData.getIndex()), Settings.settingsBuilder().put(settings).put(indexMetaData.getSettings()).build(), Collections.EMPTY_LIST); IndexSettings indexSettings = new IndexSettings(indexMetaData, this.settings, Collections.EMPTY_LIST);
SimilarityService similarityService = new SimilarityService(indexSettings, Collections.EMPTY_MAP); SimilarityService similarityService = new SimilarityService(indexSettings, Collections.EMPTY_MAP);

View File

@ -131,7 +131,7 @@ public class TransportNodesListGatewayStartedShards extends TransportNodesAction
if (metaData != null) { if (metaData != null) {
ShardPath shardPath = null; ShardPath shardPath = null;
try { try {
IndexSettings indexSettings = new IndexSettings(shardId.index(), Settings.settingsBuilder().put(settings).put(metaData.getSettings()).build(), Collections.EMPTY_LIST); IndexSettings indexSettings = new IndexSettings(metaData, settings, Collections.EMPTY_LIST);
shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings); shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings);
if (shardPath == null) { if (shardPath == null) {
throw new IllegalStateException(shardId + " no shard path found"); throw new IllegalStateException(shardId + " no shard path found");

View File

@ -39,7 +39,6 @@ import java.util.function.Consumer;
*/ */
public class IndexModule extends AbstractModule { public class IndexModule extends AbstractModule {
private final IndexMetaData indexMetaData;
private final IndexSettings indexSettings; private final IndexSettings indexSettings;
// pkg private so tests can mock // pkg private so tests can mock
Class<? extends EngineFactory> engineFactoryImpl = InternalEngineFactory.class; Class<? extends EngineFactory> engineFactoryImpl = InternalEngineFactory.class;
@ -49,8 +48,7 @@ public class IndexModule extends AbstractModule {
private IndexEventListener listener; private IndexEventListener listener;
public IndexModule(IndexSettings indexSettings, IndexMetaData indexMetaData) { public IndexModule(IndexSettings indexSettings) {
this.indexMetaData = indexMetaData;
this.indexSettings = indexSettings; this.indexSettings = indexSettings;
} }
@ -124,12 +122,11 @@ public class IndexModule extends AbstractModule {
bind(IndexSearcherWrapper.class).to(indexSearcherWrapper).asEagerSingleton(); bind(IndexSearcherWrapper.class).to(indexSearcherWrapper).asEagerSingleton();
} }
bind(IndexEventListener.class).toInstance(freeze()); bind(IndexEventListener.class).toInstance(freeze());
bind(IndexMetaData.class).toInstance(indexMetaData);
bind(IndexService.class).asEagerSingleton(); bind(IndexService.class).asEagerSingleton();
bind(IndexServicesProvider.class).asEagerSingleton(); bind(IndexServicesProvider.class).asEagerSingleton();
bind(MapperService.class).asEagerSingleton(); bind(MapperService.class).asEagerSingleton();
bind(IndexFieldDataService.class).asEagerSingleton(); bind(IndexFieldDataService.class).asEagerSingleton();
bind(IndexSettings.class).toInstance(new IndexSettings(indexSettings.getIndex(), indexSettings.getSettings(), settingsConsumers)); bind(IndexSettings.class).toInstance(new IndexSettings(indexSettings.getIndexMetaData(), indexSettings.getNodeSettings(), settingsConsumers));
} }
} }

View File

@ -78,11 +78,10 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
private volatile Map<Integer, IndexShard> shards = emptyMap(); private volatile Map<Integer, IndexShard> shards = emptyMap();
private final AtomicBoolean closed = new AtomicBoolean(false); private final AtomicBoolean closed = new AtomicBoolean(false);
private final AtomicBoolean deleted = new AtomicBoolean(false); private final AtomicBoolean deleted = new AtomicBoolean(false);
private volatile IndexMetaData indexMetaData;
private final IndexSettings indexSettings; private final IndexSettings indexSettings;
@Inject @Inject
public IndexService(IndexSettings indexSettings, IndexMetaData indexMetaData, NodeEnvironment nodeEnv, public IndexService(IndexSettings indexSettings, NodeEnvironment nodeEnv,
AnalysisService analysisService, AnalysisService analysisService,
IndexFieldDataService indexFieldData, IndexFieldDataService indexFieldData,
BitsetFilterCache bitSetFilterCache, BitsetFilterCache bitSetFilterCache,
@ -91,7 +90,6 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
IndexStore indexStore, IndexStore indexStore,
IndexEventListener eventListener) { IndexEventListener eventListener) {
super(indexSettings); super(indexSettings);
assert indexMetaData != null;
this.indexSettings = indexSettings; this.indexSettings = indexSettings;
this.analysisService = analysisService; this.analysisService = analysisService;
this.indexFieldData = indexFieldData; this.indexFieldData = indexFieldData;
@ -101,7 +99,6 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
this.nodeEnv = nodeEnv; this.nodeEnv = nodeEnv;
this.indexServicesProvider = indexServicesProvider; this.indexServicesProvider = indexServicesProvider;
this.indexStore = indexStore; this.indexStore = indexStore;
this.indexMetaData = indexMetaData;
indexFieldData.setListener(new FieldDataCacheListener(this)); indexFieldData.setListener(new FieldDataCacheListener(this));
bitSetFilterCache.setListener(new BitsetCacheListener(this)); bitSetFilterCache.setListener(new BitsetCacheListener(this));
} }
@ -457,7 +454,7 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
return null; return null;
} }
final IndexQueryParserService indexQueryParser = queryParserService(); final IndexQueryParserService indexQueryParser = queryParserService();
final ImmutableOpenMap<String, AliasMetaData> aliases = this.indexMetaData.getAliases(); final ImmutableOpenMap<String, AliasMetaData> aliases = indexSettings.getIndexMetaData().getAliases();
if (aliasNames.length == 1) { if (aliasNames.length == 1) {
AliasMetaData alias = aliases.get(aliasNames[0]); AliasMetaData alias = aliases.get(aliasNames[0]);
if (alias == null) { if (alias == null) {
@ -502,13 +499,12 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
} }
public IndexMetaData getMetaData() { public IndexMetaData getMetaData() {
return indexMetaData; return indexSettings.getIndexMetaData();
} }
public synchronized void updateMetaData(final IndexMetaData metadata) { public synchronized void updateMetaData(final IndexMetaData metadata) {
this.indexMetaData = metadata; if (indexSettings.updateIndexMetaData(metadata)) {
Settings settings = metadata.getSettings(); final Settings settings = indexSettings.getSettings();
if (this.indexSettings.updateIndexSettings(metadata.getSettings())) {
for (final IndexShard shard : this.shards.values()) { for (final IndexShard shard : this.shards.values()) {
try { try {
shard.onRefreshSettings(settings); shard.onRefreshSettings(settings);

View File

@ -40,36 +40,45 @@ import java.util.function.Consumer;
*/ */
public final class IndexSettings { public final class IndexSettings {
private final String uuid; private final String uuid;
private volatile Settings settings;
private final List<Consumer<Settings>> updateListeners; private final List<Consumer<Settings>> updateListeners;
private final Index index; private final Index index;
private final Version version; private final Version version;
private final ESLogger logger; private final ESLogger logger;
private final String nodeName; private final String nodeName;
private final Settings nodeSettings;
private final int numberOfShards;
private final boolean isShadowReplicaIndex;
// updated via #updateIndexMetaData(IndexMetaData)
private volatile Settings settings;
private volatile IndexMetaData indexMetaData;
/** /**
* Creates a new {@link IndexSettings} instance * Creates a new {@link IndexSettings} instance
* @param index the index this settings object is associated with * @param indexMetaData the index this settings object is associated with
* @param settings the actual settings including the node level settings * @param nodeSettings the actual settings including the node level settings
* @param updateListeners a collection of listeners / consumers that should be notified if one or more settings are updated * @param updateListeners a collection of listeners / consumers that should be notified if one or more settings are updated
*/ */
public IndexSettings(Index index, Settings settings, Collection<Consumer<Settings>> updateListeners) { public IndexSettings(final IndexMetaData indexMetaData, final Settings nodeSettings, final Collection<Consumer<Settings>> updateListeners) {
this.settings = settings; this.nodeSettings = nodeSettings;
this.settings = Settings.builder().put(nodeSettings).put(indexMetaData.getSettings()).build();
this.updateListeners = Collections.unmodifiableList(new ArrayList<>(updateListeners)); this.updateListeners = Collections.unmodifiableList(new ArrayList<>(updateListeners));
this.index = index; this.index = new Index(indexMetaData.getIndex());
version = Version.indexCreated(settings); version = Version.indexCreated(settings);
uuid = settings.get(IndexMetaData.SETTING_INDEX_UUID, IndexMetaData.INDEX_UUID_NA_VALUE); uuid = settings.get(IndexMetaData.SETTING_INDEX_UUID, IndexMetaData.INDEX_UUID_NA_VALUE);
logger = Loggers.getLogger(getClass(), settings, index); logger = Loggers.getLogger(getClass(), settings, index);
nodeName = settings.get("name", ""); nodeName = settings.get("name", "");
this.indexMetaData = indexMetaData;
numberOfShards = settings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_SHARDS, null);
isShadowReplicaIndex = IndexMetaData.isIndexUsingShadowReplicas(settings);
} }
/** /**
* Returns the settings for this index. These settings contain the node and index level settings where * Returns the settings for this index. These settings contain the node and index level settings where
* settings that are specified on both index and node level are overwritten by the index settings. * settings that are specified on both index and node level are overwritten by the index settings.
*/ */
public Settings getSettings() { public Settings getSettings() { return settings; }
return settings;
}
/** /**
* Returns the index this settings object belongs to * Returns the index this settings object belongs to
@ -107,12 +116,55 @@ public final class IndexSettings {
return nodeName; return nodeName;
} }
/**
* Returns all settings update consumers
*/
List<Consumer<Settings>> getUpdateListeners() { // for testing
return updateListeners;
}
/**
* Returns the current IndexMetaData for this index
*/
public IndexMetaData getIndexMetaData() {
return indexMetaData;
}
/**
* Returns the number of shards this index has.
*/
public int getNumberOfShards() { return numberOfShards; }
/**
* Returns the number of replicas this index has.
*/
public int getNumberOfReplicas() {
return settings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, null);
}
/**
* Returns <code>true</code> iff this index uses shadow replicas.
* @see IndexMetaData#isIndexUsingShadowReplicas(Settings)
*/
public boolean isShadowReplicaIndex() {
return isShadowReplicaIndex;
}
/**
* Returns the node settings. The settings retured from {@link #getSettings()} are a merged version of the
* index settings and the node settings where node settings are overwritten by index settings.
*/
public Settings getNodeSettings() {
return nodeSettings;
}
/** /**
* Notifies all registered settings consumers with the new settings iff at least one setting has changed. * Notifies all registered settings consumers with the new settings iff at least one setting has changed.
* *
* @return <code>true</code> iff any setting has been updated otherwise <code>false</code>. * @return <code>true</code> iff any setting has been updated otherwise <code>false</code>.
*/ */
synchronized boolean updateIndexSettings(Settings newSettings) { synchronized boolean updateIndexMetaData(IndexMetaData indexMetaData) {
final Settings newSettings = indexMetaData.getSettings();
if (Version.indexCreated(newSettings) != version) { if (Version.indexCreated(newSettings) != version) {
throw new IllegalArgumentException("version mismatch on settings update expected: " + version + " but was: " + Version.indexCreated(newSettings)); throw new IllegalArgumentException("version mismatch on settings update expected: " + version + " but was: " + Version.indexCreated(newSettings));
} }
@ -120,12 +172,13 @@ public final class IndexSettings {
if (newUUID.equals(getUUID()) == false) { if (newUUID.equals(getUUID()) == false) {
throw new IllegalArgumentException("uuid mismatch on settings update expected: " + uuid + " but was: " + newUUID); throw new IllegalArgumentException("uuid mismatch on settings update expected: " + uuid + " but was: " + newUUID);
} }
this.indexMetaData = indexMetaData;
final Settings existingSettings = this.settings; final Settings existingSettings = this.settings;
if (existingSettings.getByPrefix(IndexMetaData.INDEX_SETTING_PREFIX).getAsMap().equals(newSettings.getByPrefix(IndexMetaData.INDEX_SETTING_PREFIX).getAsMap())) { if (existingSettings.getByPrefix(IndexMetaData.INDEX_SETTING_PREFIX).getAsMap().equals(newSettings.getByPrefix(IndexMetaData.INDEX_SETTING_PREFIX).getAsMap())) {
// nothing to update, same settings // nothing to update, same settings
return false; return false;
} }
this.settings = Settings.builder().put(existingSettings).put(newSettings).build(); this.settings = Settings.builder().put(nodeSettings).put(newSettings).build();
final Settings mergedSettings = this.settings; final Settings mergedSettings = this.settings;
for (final Consumer<Settings> consumer : updateListeners) { for (final Consumer<Settings> consumer : updateListeners) {
try { try {
@ -136,11 +189,4 @@ public final class IndexSettings {
} }
return true; return true;
} }
/**
* Returns all settings update consumers
*/
List<Consumer<Settings>> getUpdateListeners() { // for testing
return updateListeners;
}
} }

View File

@ -290,37 +290,32 @@ public class IndicesService extends AbstractLifecycleComponent<IndicesService> i
if (!lifecycle.started()) { if (!lifecycle.started()) {
throw new IllegalStateException("Can't create an index [" + indexMetaData.getIndex() + "], node is closed"); throw new IllegalStateException("Can't create an index [" + indexMetaData.getIndex() + "], node is closed");
} }
final Settings settings = indexMetaData.getSettings(); final IndexSettings idxSettings = new IndexSettings(indexMetaData, this.settings, Collections.EMPTY_LIST);
Index index = new Index(indexMetaData.getIndex()); Index index = new Index(indexMetaData.getIndex());
if (indices.containsKey(index.name())) { if (indices.containsKey(index.name())) {
throw new IndexAlreadyExistsException(index); throw new IndexAlreadyExistsException(index);
} }
logger.debug("creating Index [{}], shards [{}]/[{}{}]", logger.debug("creating Index [{}], shards [{}]/[{}{}]",
indexMetaData.getIndex(), indexMetaData.getIndex(),
settings.get(SETTING_NUMBER_OF_SHARDS), idxSettings.getNumberOfShards(),
settings.get(SETTING_NUMBER_OF_REPLICAS), idxSettings.getNumberOfReplicas(),
IndexMetaData.isIndexUsingShadowReplicas(settings) ? "s" : ""); idxSettings.isShadowReplicaIndex() ? "s" : "");
Settings indexSettings = settingsBuilder()
.put(this.settings)
.put(indexMetaData.getSettings())
.build();
ModulesBuilder modules = new ModulesBuilder(); ModulesBuilder modules = new ModulesBuilder();
// plugin modules must be added here, before others or we can get crazy injection errors... // plugin modules must be added here, before others or we can get crazy injection errors...
for (Module pluginModule : pluginsService.indexModules(indexSettings)) { for (Module pluginModule : pluginsService.indexModules(idxSettings.getSettings())) {
modules.add(pluginModule); modules.add(pluginModule);
} }
final IndexSettings idxSettings = new IndexSettings(index, indexSettings, Collections.EMPTY_LIST); final IndexModule indexModule = new IndexModule(idxSettings);
final IndexModule indexModule = new IndexModule(idxSettings, indexMetaData);
for (IndexEventListener listener : builtInListeners) { for (IndexEventListener listener : builtInListeners) {
indexModule.addIndexEventListener(listener); indexModule.addIndexEventListener(listener);
} }
indexModule.addIndexEventListener(oldShardsStats); indexModule.addIndexEventListener(oldShardsStats);
modules.add(new IndexStoreModule(indexSettings)); modules.add(new IndexStoreModule(idxSettings.getSettings()));
modules.add(new AnalysisModule(indexSettings, indicesAnalysisService)); modules.add(new AnalysisModule(idxSettings.getSettings(), indicesAnalysisService));
modules.add(new SimilarityModule(idxSettings)); modules.add(new SimilarityModule(idxSettings));
modules.add(new IndexCacheModule(indexSettings)); modules.add(new IndexCacheModule(idxSettings.getSettings()));
modules.add(indexModule); modules.add(indexModule);
pluginsService.processModules(modules); pluginsService.processModules(modules);
final IndexEventListener listener = indexModule.freeze(); final IndexEventListener listener = indexModule.freeze();

View File

@ -172,7 +172,7 @@ public class TransportNodesListShardStoreMetaData extends TransportNodesAction<T
if (!storeType.contains("fs")) { if (!storeType.contains("fs")) {
return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY); return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY);
} }
IndexSettings indexSettings = new IndexSettings(new Index(metaData.getIndex()), Settings.settingsBuilder().put(settings).put(metaData.getSettings()).build(), Collections.EMPTY_LIST); final IndexSettings indexSettings = indexService != null ? indexService.getIndexSettings() : new IndexSettings(metaData, settings, Collections.EMPTY_LIST);
final ShardPath shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings); final ShardPath shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings);
if (shardPath == null) { if (shardPath == null) {
return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY); return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY);

View File

@ -30,6 +30,7 @@ import org.elasticsearch.index.engine.EngineFactory;
import org.elasticsearch.index.engine.InternalEngineFactory; import org.elasticsearch.index.engine.InternalEngineFactory;
import org.elasticsearch.index.shard.IndexEventListener; import org.elasticsearch.index.shard.IndexEventListener;
import org.elasticsearch.index.shard.IndexSearcherWrapper; import org.elasticsearch.index.shard.IndexSearcherWrapper;
import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.test.engine.MockEngineFactory; import org.elasticsearch.test.engine.MockEngineFactory;
import java.util.Collections; import java.util.Collections;
@ -41,8 +42,8 @@ public class IndexModuleTests extends ModuleTestCase {
public void testWrapperIsBound() { public void testWrapperIsBound() {
final Index index = new Index("foo"); final Index index = new Index("foo");
final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
IndexSettings indexSettings = new IndexSettings(index, settings, Collections.EMPTY_LIST); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(index, settings, Collections.EMPTY_LIST);
IndexModule module = new IndexModule(indexSettings, IndexMetaData.PROTO); IndexModule module = new IndexModule(indexSettings);
assertInstanceBinding(module, IndexSearcherWrapper.class,(x) -> x == null); assertInstanceBinding(module, IndexSearcherWrapper.class,(x) -> x == null);
module.indexSearcherWrapper = Wrapper.class; module.indexSearcherWrapper = Wrapper.class;
assertBinding(module, IndexSearcherWrapper.class, Wrapper.class); assertBinding(module, IndexSearcherWrapper.class, Wrapper.class);
@ -51,8 +52,8 @@ public class IndexModuleTests extends ModuleTestCase {
public void testEngineFactoryBound() { public void testEngineFactoryBound() {
final Index index = new Index("foo"); final Index index = new Index("foo");
final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
IndexSettings indexSettings = new IndexSettings(index, settings, Collections.EMPTY_LIST); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(index, settings, Collections.EMPTY_LIST);
IndexModule module = new IndexModule(indexSettings, IndexMetaData.PROTO); IndexModule module = new IndexModule(indexSettings);
assertBinding(module, EngineFactory.class, InternalEngineFactory.class); assertBinding(module, EngineFactory.class, InternalEngineFactory.class);
module.engineFactoryImpl = MockEngineFactory.class; module.engineFactoryImpl = MockEngineFactory.class;
assertBinding(module, EngineFactory.class, MockEngineFactory.class); assertBinding(module, EngineFactory.class, MockEngineFactory.class);
@ -66,30 +67,27 @@ public class IndexModuleTests extends ModuleTestCase {
atomicBoolean.set(true); atomicBoolean.set(true);
} }
}; };
final IndexMetaData meta = IndexMetaData.builder(IndexMetaData.PROTO).index("foo").build();
final Index index = new Index("foo"); final Index index = new Index("foo");
final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
IndexSettings indexSettings = new IndexSettings(index, settings, Collections.EMPTY_LIST); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(index, settings, Collections.EMPTY_LIST);
IndexModule module = new IndexModule(indexSettings, meta); IndexModule module = new IndexModule(indexSettings);
Consumer<Settings> listener = (s) -> {}; Consumer<Settings> listener = (s) -> {};
module.addIndexSettingsListener(listener); module.addIndexSettingsListener(listener);
module.addIndexEventListener(eventListener); module.addIndexEventListener(eventListener);
assertBinding(module, IndexService.class, IndexService.class); assertBinding(module, IndexService.class, IndexService.class);
assertBinding(module, IndexServicesProvider.class, IndexServicesProvider.class); assertBinding(module, IndexServicesProvider.class, IndexServicesProvider.class);
assertInstanceBinding(module, IndexMetaData.class, (x) -> x == meta);
assertInstanceBinding(module, IndexEventListener.class, (x) -> {x.beforeIndexDeleted(null); return atomicBoolean.get();}); assertInstanceBinding(module, IndexEventListener.class, (x) -> {x.beforeIndexDeleted(null); return atomicBoolean.get();});
assertInstanceBinding(module, IndexSettings.class, (x) -> x.getSettings() == indexSettings.getSettings()); assertInstanceBinding(module, IndexSettings.class, (x) -> x.getSettings().getAsMap().equals(indexSettings.getSettings().getAsMap()));
assertInstanceBinding(module, IndexSettings.class, (x) -> x.getIndex() == indexSettings.getIndex()); assertInstanceBinding(module, IndexSettings.class, (x) -> x.getIndex().equals(indexSettings.getIndex()));
assertInstanceBinding(module, IndexSettings.class, (x) -> x.getUpdateListeners().get(0) == listener); assertInstanceBinding(module, IndexSettings.class, (x) -> x.getUpdateListeners().get(0) == listener);
} }
public void testListener() { public void testListener() {
final IndexMetaData meta = IndexMetaData.builder(IndexMetaData.PROTO).index("foo").build();
final Index index = new Index("foo"); final Index index = new Index("foo");
final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); final Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
IndexSettings indexSettings = new IndexSettings(index, settings, Collections.EMPTY_LIST); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(index, settings, Collections.EMPTY_LIST);
IndexModule module = new IndexModule(indexSettings, meta); IndexModule module = new IndexModule(indexSettings);
Consumer<Settings> listener = (s) -> { Consumer<Settings> listener = (s) -> {
}; };
module.addIndexSettingsListener(listener); module.addIndexSettingsListener(listener);

View File

@ -32,20 +32,22 @@ import java.util.function.Consumer;
public class IndexSettingsTests extends ESTestCase { public class IndexSettingsTests extends ESTestCase {
public void testRunListener() { public void testRunListener() {
Version version = VersionUtils.getPreviousVersion(); Version version = VersionUtils.getPreviousVersion();
Settings theSettings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).put(IndexMetaData.SETTING_INDEX_UUID, "0xdeadbeef").build(); Settings theSettings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).put(IndexMetaData.SETTING_INDEX_UUID, "0xdeadbeef").build();
final AtomicInteger integer = new AtomicInteger(0); final AtomicInteger integer = new AtomicInteger(0);
Consumer<Settings> settingsConsumer = (s) -> integer.set(s.getAsInt("index.test.setting.int", -1)); Consumer<Settings> settingsConsumer = (s) -> integer.set(s.getAsInt("index.test.setting.int", -1));
IndexSettings settings = new IndexSettings(new Index("index"), theSettings, Collections.singleton(settingsConsumer)); IndexMetaData metaData = newIndexMeta("index", theSettings);
IndexSettings settings = new IndexSettings(metaData, Settings.EMPTY, Collections.singleton(settingsConsumer));
assertEquals(version, settings.getIndexVersionCreated()); assertEquals(version, settings.getIndexVersionCreated());
assertEquals("0xdeadbeef", settings.getUUID()); assertEquals("0xdeadbeef", settings.getUUID());
assertEquals(1, settings.getUpdateListeners().size()); assertEquals(1, settings.getUpdateListeners().size());
assertFalse(settings.updateIndexSettings(theSettings)); assertFalse(settings.updateIndexMetaData(metaData));
assertSame(theSettings, settings.getSettings()); assertEquals(metaData.getSettings().getAsMap(), settings.getSettings().getAsMap());
assertEquals(0, integer.get()); assertEquals(0, integer.get());
assertTrue(settings.updateIndexSettings(Settings.builder().put(theSettings).put("index.test.setting.int", 42).build())); assertTrue(settings.updateIndexMetaData(newIndexMeta("index", Settings.builder().put(theSettings).put("index.test.setting.int", 42).build())));
assertEquals(42, integer.get()); assertEquals(42, integer.get());
} }
@ -57,16 +59,18 @@ public class IndexSettingsTests extends ESTestCase {
final StringBuilder builder = new StringBuilder(); final StringBuilder builder = new StringBuilder();
Consumer<Settings> settingsConsumer = (s) -> { Consumer<Settings> settingsConsumer = (s) -> {
integer.set(s.getAsInt("index.test.setting.int", -1)); integer.set(s.getAsInt("index.test.setting.int", -1));
builder.append(s.get("not.updated", "")); builder.append(s.get("index.not.updated", ""));
}; };
IndexSettings settings = new IndexSettings(new Index("index"), theSettings, Collections.singleton(settingsConsumer)); IndexSettings settings = new IndexSettings(newIndexMeta("index", theSettings), Settings.EMPTY, Collections.singleton(settingsConsumer));
assertEquals(0, integer.get()); assertEquals(0, integer.get());
assertEquals("", builder.toString()); assertEquals("", builder.toString());
assertTrue(settings.updateIndexSettings(Settings.builder().put(theSettings).put("index.test.setting.int", 42).build())); IndexMetaData newMetaData = newIndexMeta("index", Settings.builder().put(settings.getIndexMetaData().getSettings()).put("index.test.setting.int", 42).build());
assertTrue(settings.updateIndexMetaData(newMetaData));
assertSame(settings.getIndexMetaData(), newMetaData);
assertEquals(42, integer.get()); assertEquals(42, integer.get());
assertEquals("", builder.toString()); assertEquals("", builder.toString());
integer.set(0); integer.set(0);
assertTrue(settings.updateIndexSettings(Settings.builder().put(theSettings).put("not.updated", "boom").build())); assertTrue(settings.updateIndexMetaData(newIndexMeta("index", Settings.builder().put(settings.getIndexMetaData().getSettings()).put("index.not.updated", "boom").build())));
assertEquals("boom", builder.toString()); assertEquals("boom", builder.toString());
assertEquals(42, integer.get()); assertEquals(42, integer.get());
@ -82,34 +86,75 @@ public class IndexSettingsTests extends ESTestCase {
list.add(settingsConsumer); list.add(settingsConsumer);
list.add(exceptionConsumer); list.add(exceptionConsumer);
Collections.shuffle(list, random()); Collections.shuffle(list, random());
IndexSettings settings = new IndexSettings(new Index("index"), theSettings, list); IndexSettings settings = new IndexSettings(newIndexMeta("index", theSettings), Settings.EMPTY, list);
assertEquals(0, integer.get()); assertEquals(0, integer.get());
assertTrue(settings.updateIndexSettings(Settings.builder().put(theSettings).put("index.test.setting.int", 42).build())); assertTrue(settings.updateIndexMetaData(newIndexMeta("index", Settings.builder().put(theSettings).put("index.test.setting.int", 42).build())));
assertEquals(42, integer.get()); assertEquals(42, integer.get());
} }
public void testSettingsConsistency() { public void testSettingsConsistency() {
Version version = VersionUtils.getPreviousVersion(); Version version = VersionUtils.getPreviousVersion();
Settings theSettings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); IndexMetaData metaData = newIndexMeta("index", Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build());
IndexSettings settings = new IndexSettings(new Index("index"), theSettings, Collections.EMPTY_LIST); IndexSettings settings = new IndexSettings(metaData, Settings.EMPTY, Collections.EMPTY_LIST);
assertEquals(version, settings.getIndexVersionCreated()); assertEquals(version, settings.getIndexVersionCreated());
assertEquals("_na_", settings.getUUID()); assertEquals("_na_", settings.getUUID());
try { try {
settings.updateIndexSettings(Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).put("index.test.setting.int", 42).build()); settings.updateIndexMetaData(newIndexMeta("index", Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).put("index.test.setting.int", 42).build()));
fail("version has changed"); fail("version has changed");
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {
assertTrue(ex.getMessage(), ex.getMessage().startsWith("version mismatch on settings update expected: ")); assertTrue(ex.getMessage(), ex.getMessage().startsWith("version mismatch on settings update expected: "));
} }
theSettings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).put(IndexMetaData.SETTING_INDEX_UUID, "0xdeadbeef").build(); metaData = newIndexMeta("index", Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).put(IndexMetaData.SETTING_INDEX_UUID, "0xdeadbeef").build());
settings = new IndexSettings(new Index("index"), theSettings, Collections.EMPTY_LIST); settings = new IndexSettings(metaData, Settings.EMPTY, Collections.EMPTY_LIST);
try { try {
settings.updateIndexSettings(Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).put("index.test.setting.int", 42).build()); settings.updateIndexMetaData(newIndexMeta("index", Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).put("index.test.setting.int", 42).build()));
fail("uuid missing/change"); fail("uuid missing/change");
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {
assertEquals("uuid mismatch on settings update expected: 0xdeadbeef but was: _na_", ex.getMessage()); assertEquals("uuid mismatch on settings update expected: 0xdeadbeef but was: _na_", ex.getMessage());
} }
assertSame(theSettings, settings.getSettings()); assertEquals(metaData.getSettings().getAsMap(), settings.getSettings().getAsMap());
}
public void testNodeSettingsAreContained() {
final int numShards = randomIntBetween(1, 10);
final int numReplicas = randomIntBetween(0, 10);
Settings theSettings = Settings.settingsBuilder().
put("index.foo.bar", 42)
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, numReplicas)
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, numShards).build();
Settings nodeSettings = Settings.settingsBuilder().put("node.foo.bar", 43).build();
final AtomicInteger indexValue = new AtomicInteger(0);
final AtomicInteger nodeValue = new AtomicInteger(0);
Consumer<Settings> settingsConsumer = (s) -> {indexValue.set(s.getAsInt("index.foo.bar", -1)); nodeValue.set(s.getAsInt("node.foo.bar", -1));};
IndexSettings settings = new IndexSettings(newIndexMeta("index", theSettings), nodeSettings, Collections.singleton(settingsConsumer));
assertEquals(numReplicas, settings.getNumberOfReplicas());
assertEquals(numShards, settings.getNumberOfShards());
assertEquals(0, indexValue.get());
assertEquals(0, nodeValue.get());
assertTrue(settings.updateIndexMetaData(newIndexMeta("index", Settings.settingsBuilder().
put("index.foo.bar", 42)
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, numReplicas + 1)
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, numShards).build())));
assertEquals(42, indexValue.get());
assertEquals(43, nodeValue.get());
assertSame(nodeSettings, settings.getNodeSettings());
}
private IndexMetaData newIndexMeta(String name, Settings indexSettings) {
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(indexSettings)
.build();
IndexMetaData metaData = IndexMetaData.builder(name).settings(build).build();
return metaData;
} }

View File

@ -40,7 +40,7 @@ import org.elasticsearch.index.Index;
import org.elasticsearch.index.analysis.filter1.MyFilterTokenFilterFactory; import org.elasticsearch.index.analysis.filter1.MyFilterTokenFilterFactory;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.test.VersionUtils; import org.elasticsearch.test.VersionUtils;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
@ -68,7 +68,7 @@ public class AnalysisModuleTests extends ESTestCase {
AnalysisModule analysisModule = new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)); AnalysisModule analysisModule = new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class));
analysisModule.addTokenFilter("myfilter", MyFilterTokenFilterFactory.class); analysisModule.addTokenFilter("myfilter", MyFilterTokenFilterFactory.class);
injector = new ModulesBuilder().add( injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
analysisModule) analysisModule)
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -28,6 +28,7 @@ import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.test.VersionUtils; import org.elasticsearch.test.VersionUtils;
import java.util.Collections; import java.util.Collections;
@ -39,19 +40,14 @@ import static org.hamcrest.Matchers.instanceOf;
public class AnalysisServiceTests extends ESTestCase { public class AnalysisServiceTests extends ESTestCase {
private static AnalyzerProviderFactory analyzerProvider(final String name) { private static AnalyzerProviderFactory analyzerProvider(final String name) {
return new AnalyzerProviderFactory() { return (name1, settings) -> new PreBuiltAnalyzerProvider(name1, AnalyzerScope.INDEX, new EnglishAnalyzer());
@Override
public AnalyzerProvider create(String name, Settings settings) {
return new PreBuiltAnalyzerProvider(name, AnalyzerScope.INDEX, new EnglishAnalyzer());
}
};
} }
public void testDefaultAnalyzers() { public void testDefaultAnalyzers() {
Version version = VersionUtils.randomVersion(getRandom()); Version version = VersionUtils.randomVersion(getRandom());
Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings); IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings);
AnalysisService analysisService = new AnalysisService(new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService, AnalysisService analysisService = new AnalysisService(IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService,
Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()); Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(StandardAnalyzer.class)); assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(StandardAnalyzer.class));
assertThat(analysisService.defaultSearchAnalyzer().analyzer(), instanceOf(StandardAnalyzer.class)); assertThat(analysisService.defaultSearchAnalyzer().analyzer(), instanceOf(StandardAnalyzer.class));
@ -62,7 +58,7 @@ public class AnalysisServiceTests extends ESTestCase {
Version version = VersionUtils.randomVersion(getRandom()); Version version = VersionUtils.randomVersion(getRandom());
Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings); IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings);
AnalysisService analysisService = new AnalysisService(new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService, AnalysisService analysisService = new AnalysisService(IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService,
Collections.singletonMap("default", analyzerProvider("default")), Collections.singletonMap("default", analyzerProvider("default")),
Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()); Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class)); assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class));
@ -75,7 +71,7 @@ public class AnalysisServiceTests extends ESTestCase {
Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings); IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings);
try { try {
AnalysisService analysisService = new AnalysisService(new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService, AnalysisService analysisService = new AnalysisService(IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService,
Collections.singletonMap("default_index", new PreBuiltAnalyzerProviderFactory("default_index", AnalyzerScope.INDEX, new EnglishAnalyzer())), Collections.singletonMap("default_index", new PreBuiltAnalyzerProviderFactory("default_index", AnalyzerScope.INDEX, new EnglishAnalyzer())),
Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()); Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
fail("Expected ISE"); fail("Expected ISE");
@ -89,7 +85,7 @@ public class AnalysisServiceTests extends ESTestCase {
Version version = VersionUtils.randomVersionBetween(getRandom(), VersionUtils.getFirstVersion(), VersionUtils.getPreviousVersion(Version.V_3_0_0)); Version version = VersionUtils.randomVersionBetween(getRandom(), VersionUtils.getFirstVersion(), VersionUtils.getPreviousVersion(Version.V_3_0_0));
Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings); IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings);
AnalysisService analysisService = new AnalysisService(new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService, AnalysisService analysisService = new AnalysisService(IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService,
Collections.singletonMap("default_index", analyzerProvider("default_index")), Collections.singletonMap("default_index", analyzerProvider("default_index")),
Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()); Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class)); assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class));
@ -101,7 +97,7 @@ public class AnalysisServiceTests extends ESTestCase {
Version version = VersionUtils.randomVersion(getRandom()); Version version = VersionUtils.randomVersion(getRandom());
Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings); IndicesAnalysisService indicesAnalysisService = new IndicesAnalysisService(settings);
AnalysisService analysisService = new AnalysisService(new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService, AnalysisService analysisService = new AnalysisService(IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService,
Collections.singletonMap("default_search", analyzerProvider("default_search")), Collections.singletonMap("default_search", analyzerProvider("default_search")),
Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()); Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(StandardAnalyzer.class)); assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(StandardAnalyzer.class));
@ -116,7 +112,7 @@ public class AnalysisServiceTests extends ESTestCase {
Map<String, AnalyzerProviderFactory> analyzers = new HashMap<>(); Map<String, AnalyzerProviderFactory> analyzers = new HashMap<>();
analyzers.put("default_index", analyzerProvider("default_index")); analyzers.put("default_index", analyzerProvider("default_index"));
analyzers.put("default_search", analyzerProvider("default_search")); analyzers.put("default_search", analyzerProvider("default_search"));
AnalysisService analysisService = new AnalysisService(new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService, AnalysisService analysisService = new AnalysisService(IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), indicesAnalysisService,
analyzers, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()); analyzers, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class)); assertThat(analysisService.defaultIndexAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class));
assertThat(analysisService.defaultSearchAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class)); assertThat(analysisService.defaultSearchAnalyzer().analyzer(), instanceOf(EnglishAnalyzer.class));

View File

@ -30,7 +30,7 @@ import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.indices.IndicesModule; import org.elasticsearch.indices.IndicesModule;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import java.nio.file.Path; import java.nio.file.Path;
@ -64,7 +64,7 @@ public class AnalysisTestsHelper {
AnalysisModule analysisModule = new AnalysisModule(settings, AnalysisModule analysisModule = new AnalysisModule(settings,
parentInjector.getInstance(IndicesAnalysisService.class)); parentInjector.getInstance(IndicesAnalysisService.class));
Injector injector = new ModulesBuilder().add(new IndexNameAndSettingsModule(index, settings), Injector injector = new ModulesBuilder().add(new IndexSettingsModule(index, settings),
analysisModule).createChildInjector(parentInjector); analysisModule).createChildInjector(parentInjector);
return injector.getInstance(AnalysisService.class); return injector.getInstance(AnalysisService.class);

View File

@ -29,7 +29,7 @@ import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTokenStreamTestCase; import org.elasticsearch.test.ESTokenStreamTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import static org.elasticsearch.common.settings.Settings.settingsBuilder; import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -48,7 +48,7 @@ public class CharFilterTests extends ESTokenStreamTestCase {
.build(); .build();
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class))) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);
@ -72,7 +72,7 @@ public class CharFilterTests extends ESTokenStreamTestCase {
.build(); .build();
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class))) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -37,7 +37,7 @@ import org.elasticsearch.index.analysis.compound.DictionaryCompoundWordTokenFilt
import org.elasticsearch.index.analysis.filter1.MyFilterTokenFilterFactory; import org.elasticsearch.index.analysis.filter1.MyFilterTokenFilterFactory;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import java.io.IOException; import java.io.IOException;
@ -59,7 +59,7 @@ public class CompoundAnalysisTests extends ESTestCase {
AnalysisModule analysisModule = new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)); AnalysisModule analysisModule = new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class));
analysisModule.addTokenFilter("myfilter", MyFilterTokenFilterFactory.class); analysisModule.addTokenFilter("myfilter", MyFilterTokenFilterFactory.class);
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
analysisModule) analysisModule)
.createChildInjector(parentInjector); .createChildInjector(parentInjector);
@ -84,7 +84,7 @@ public class CompoundAnalysisTests extends ESTestCase {
AnalysisModule analysisModule = new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)); AnalysisModule analysisModule = new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class));
analysisModule.addTokenFilter("myfilter", MyFilterTokenFilterFactory.class); analysisModule.addTokenFilter("myfilter", MyFilterTokenFilterFactory.class);
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
analysisModule) analysisModule)
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -36,6 +36,7 @@ import org.elasticsearch.common.settings.Settings.Builder;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.test.ESTokenStreamTestCase; import org.elasticsearch.test.ESTokenStreamTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
@ -51,7 +52,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
final Index index = new Index("test"); final Index index = new Index("test");
final String name = "ngr"; final String name = "ngr";
final Settings indexSettings = newAnalysisSettingsBuilder().build(); final Settings indexSettings = newAnalysisSettingsBuilder().build();
IndexSettings indexProperties = new IndexSettings(index, indexSettings, Collections.EMPTY_LIST); IndexSettings indexProperties = IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST);
for (String tokenChars : Arrays.asList("letters", "number", "DIRECTIONALITY_UNDEFINED")) { for (String tokenChars : Arrays.asList("letters", "number", "DIRECTIONALITY_UNDEFINED")) {
final Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", tokenChars).build(); final Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", tokenChars).build();
try { try {
@ -63,7 +64,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
} }
for (String tokenChars : Arrays.asList("letter", " digit ", "punctuation", "DIGIT", "CoNtRoL", "dash_punctuation")) { for (String tokenChars : Arrays.asList("letter", " digit ", "punctuation", "DIGIT", "CoNtRoL", "dash_punctuation")) {
final Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", tokenChars).build(); final Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", tokenChars).build();
indexProperties = new IndexSettings(index, indexSettings, Collections.EMPTY_LIST); indexProperties = IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST);
new NGramTokenizerFactory(indexProperties, name, settings).create(); new NGramTokenizerFactory(indexProperties, name, settings).create();
// no exception // no exception
@ -75,7 +76,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
final String name = "ngr"; final String name = "ngr";
final Settings indexSettings = newAnalysisSettingsBuilder().build(); final Settings indexSettings = newAnalysisSettingsBuilder().build();
final Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 4).putArray("token_chars", new String[0]).build(); final Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 4).putArray("token_chars", new String[0]).build();
Tokenizer tokenizer = new NGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer tokenizer = new NGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
tokenizer.setReader(new StringReader("1.34")); tokenizer.setReader(new StringReader("1.34"));
assertTokenStreamContents(tokenizer, new String[] {"1.", "1.3", "1.34", ".3", ".34", "34"}); assertTokenStreamContents(tokenizer, new String[] {"1.", "1.3", "1.34", ".3", ".34", "34"});
} }
@ -86,12 +87,12 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
final String name = "ngr"; final String name = "ngr";
final Settings indexSettings = newAnalysisSettingsBuilder().build(); final Settings indexSettings = newAnalysisSettingsBuilder().build();
Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit").build(); Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit").build();
Tokenizer tokenizer = new NGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer tokenizer = new NGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
tokenizer.setReader(new StringReader("Åbc déf g\uD801\uDC00f ")); tokenizer.setReader(new StringReader("Åbc déf g\uD801\uDC00f "));
assertTokenStreamContents(tokenizer, assertTokenStreamContents(tokenizer,
new String[] {"Åb", "Åbc", "bc", "", "déf", "éf", "g\uD801\uDC00", "g\uD801\uDC00f", "\uD801\uDC00f"}); new String[] {"Åb", "Åbc", "bc", "", "déf", "éf", "g\uD801\uDC00", "g\uD801\uDC00f", "\uD801\uDC00f"});
settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit,punctuation,whitespace,symbol").build(); settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit,punctuation,whitespace,symbol").build();
tokenizer = new NGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); tokenizer = new NGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
tokenizer.setReader(new StringReader(" a!$ 9")); tokenizer.setReader(new StringReader(" a!$ 9"));
assertTokenStreamContents(tokenizer, assertTokenStreamContents(tokenizer,
new String[] {" a", " a!", "a!", "a!$", "!$", "!$ ", "$ ", "$ 9", " 9"}); new String[] {" a", " a!", "a!", "a!$", "!$", "!$ ", "$ ", "$ 9", " 9"});
@ -103,12 +104,12 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
final String name = "ngr"; final String name = "ngr";
final Settings indexSettings = newAnalysisSettingsBuilder().build(); final Settings indexSettings = newAnalysisSettingsBuilder().build();
Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit").build(); Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit").build();
Tokenizer tokenizer = new EdgeNGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer tokenizer = new EdgeNGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
tokenizer.setReader(new StringReader("Åbc déf g\uD801\uDC00f ")); tokenizer.setReader(new StringReader("Åbc déf g\uD801\uDC00f "));
assertTokenStreamContents(tokenizer, assertTokenStreamContents(tokenizer,
new String[] {"Åb", "Åbc", "", "déf", "g\uD801\uDC00", "g\uD801\uDC00f"}); new String[] {"Åb", "Åbc", "", "déf", "g\uD801\uDC00", "g\uD801\uDC00f"});
settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit,punctuation,whitespace,symbol").build(); settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("token_chars", "letter,digit,punctuation,whitespace,symbol").build();
tokenizer = new EdgeNGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); tokenizer = new EdgeNGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
tokenizer.setReader(new StringReader(" a!$ 9")); tokenizer.setReader(new StringReader(" a!$ 9"));
assertTokenStreamContents(tokenizer, assertTokenStreamContents(tokenizer,
new String[] {" a", " a!"}); new String[] {" a", " a!"});
@ -129,7 +130,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
} }
Settings settings = builder.build(); Settings settings = builder.build();
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
Tokenizer edgeNGramTokenizer = new EdgeNGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer edgeNGramTokenizer = new EdgeNGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
edgeNGramTokenizer.setReader(new StringReader("foo bar")); edgeNGramTokenizer.setReader(new StringReader("foo bar"));
if (compatVersion) { if (compatVersion) {
assertThat(edgeNGramTokenizer, instanceOf(Lucene43EdgeNGramTokenizer.class)); assertThat(edgeNGramTokenizer, instanceOf(Lucene43EdgeNGramTokenizer.class));
@ -140,7 +141,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
} else { } else {
Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("side", "back").build(); Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("side", "back").build();
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
Tokenizer edgeNGramTokenizer = new EdgeNGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer edgeNGramTokenizer = new EdgeNGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
edgeNGramTokenizer.setReader(new StringReader("foo bar")); edgeNGramTokenizer.setReader(new StringReader("foo bar"));
assertThat(edgeNGramTokenizer, instanceOf(Lucene43EdgeNGramTokenizer.class)); assertThat(edgeNGramTokenizer, instanceOf(Lucene43EdgeNGramTokenizer.class));
} }
@ -148,7 +149,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("side", "back").build(); Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).put("side", "back").build();
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
try { try {
new EdgeNGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); new EdgeNGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
fail("should fail side:back is not supported anymore"); fail("should fail side:back is not supported anymore");
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {
} }
@ -169,7 +170,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
} }
Settings settings = builder.build(); Settings settings = builder.build();
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
Tokenizer nGramTokenizer = new NGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer nGramTokenizer = new NGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
nGramTokenizer.setReader(new StringReader("foo bar")); nGramTokenizer.setReader(new StringReader("foo bar"));
if (compatVersion) { if (compatVersion) {
assertThat(nGramTokenizer, instanceOf(Lucene43NGramTokenizer.class)); assertThat(nGramTokenizer, instanceOf(Lucene43NGramTokenizer.class));
@ -180,7 +181,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
} else { } else {
Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).build(); Settings settings = newAnalysisSettingsBuilder().put("min_gram", 2).put("max_gram", 3).build();
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
Tokenizer nGramTokenizer = new NGramTokenizerFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(); Tokenizer nGramTokenizer = new NGramTokenizerFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create();
nGramTokenizer.setReader(new StringReader("foo bar")); nGramTokenizer.setReader(new StringReader("foo bar"));
assertThat(nGramTokenizer, instanceOf(Lucene43NGramTokenizer.class)); assertThat(nGramTokenizer, instanceOf(Lucene43NGramTokenizer.class));
} }
@ -207,7 +208,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
Tokenizer tokenizer = new MockTokenizer(); Tokenizer tokenizer = new MockTokenizer();
tokenizer.setReader(new StringReader("foo bar")); tokenizer.setReader(new StringReader("foo bar"));
TokenStream edgeNGramTokenFilter = new EdgeNGramTokenFilterFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(tokenizer); TokenStream edgeNGramTokenFilter = new EdgeNGramTokenFilterFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(tokenizer);
if (reverse) { if (reverse) {
assertThat(edgeNGramTokenFilter, instanceOf(ReverseStringFilter.class)); assertThat(edgeNGramTokenFilter, instanceOf(ReverseStringFilter.class));
} else if (compatVersion) { } else if (compatVersion) {
@ -226,7 +227,7 @@ public class NGramTokenizerFactoryTests extends ESTokenStreamTestCase {
Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build(); Settings indexSettings = newAnalysisSettingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, v.id).build();
Tokenizer tokenizer = new MockTokenizer(); Tokenizer tokenizer = new MockTokenizer();
tokenizer.setReader(new StringReader("foo bar")); tokenizer.setReader(new StringReader("foo bar"));
TokenStream edgeNGramTokenFilter = new EdgeNGramTokenFilterFactory(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(tokenizer); TokenStream edgeNGramTokenFilter = new EdgeNGramTokenFilterFactory(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST), name, settings).create(tokenizer);
if (reverse) { if (reverse) {
assertThat(edgeNGramTokenFilter, instanceOf(ReverseStringFilter.class)); assertThat(edgeNGramTokenFilter, instanceOf(ReverseStringFilter.class));
} else { } else {

View File

@ -31,7 +31,7 @@ import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTokenStreamTestCase; import org.elasticsearch.test.ESTokenStreamTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import java.util.Collections; import java.util.Collections;
@ -49,7 +49,7 @@ public class PatternCaptureTokenFilterTests extends ESTokenStreamTestCase {
.build(); .build();
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class))) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);
@ -70,7 +70,7 @@ public class PatternCaptureTokenFilterTests extends ESTokenStreamTestCase {
public void testNoPatterns() { public void testNoPatterns() {
try { try {
new PatternCaptureGroupTokenFilterFactory(new IndexSettings(new Index("test"), settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(), Collections.EMPTY_LIST), "pattern_capture", settingsBuilder().put("pattern", "foobar").build()); new PatternCaptureGroupTokenFilterFactory(IndexSettingsModule.newIndexSettings(new Index("test"), Settings.EMPTY, Collections.EMPTY_LIST), "pattern_capture", settingsBuilder().put("pattern", "foobar").build());
fail ("Expected IllegalArgumentException"); fail ("Expected IllegalArgumentException");
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
assertThat(e.getMessage(), containsString("required setting 'patterns' is missing")); assertThat(e.getMessage(), containsString("required setting 'patterns' is missing"));

View File

@ -30,7 +30,7 @@ import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTokenStreamTestCase; import org.elasticsearch.test.ESTokenStreamTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import static org.elasticsearch.common.settings.Settings.settingsBuilder; import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -45,7 +45,7 @@ public class StopAnalyzerTests extends ESTokenStreamTestCase {
.build(); .build();
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class))) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -39,7 +39,7 @@ import org.elasticsearch.index.analysis.AnalysisModule;
import org.elasticsearch.index.analysis.AnalysisService; import org.elasticsearch.index.analysis.AnalysisService;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import java.io.IOException; import java.io.IOException;
@ -78,7 +78,7 @@ public class SynonymsAnalysisTests extends ESTestCase {
new EnvironmentModule(new Environment(settings))) new EnvironmentModule(new Environment(settings)))
.createInjector(); .createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class))) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -44,6 +44,7 @@ import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.index.shard.ShardId;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
@ -54,7 +55,7 @@ import static org.hamcrest.Matchers.equalTo;
public class BitSetFilterCacheTests extends ESTestCase { public class BitSetFilterCacheTests extends ESTestCase {
private static final IndexSettings INDEX_SETTINGS = new IndexSettings(new Index("test"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList()); private static final IndexSettings INDEX_SETTINGS = IndexSettingsModule.newIndexSettings(new Index("test"), Settings.EMPTY, Collections.emptyList());
private static int matchCount(BitSetProducer producer, IndexReader reader) throws IOException { private static int matchCount(BitSetProducer producer, IndexReader reader) throws IOException {
int count = 0; int count = 0;

View File

@ -97,6 +97,7 @@ import org.elasticsearch.index.translog.Translog;
import org.elasticsearch.index.translog.TranslogConfig; import org.elasticsearch.index.translog.TranslogConfig;
import org.elasticsearch.test.DummyShardLock; import org.elasticsearch.test.DummyShardLock;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.threadpool.ThreadPool;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import org.junit.After; import org.junit.After;
@ -134,7 +135,7 @@ import static org.hamcrest.Matchers.nullValue;
public class InternalEngineTests extends ESTestCase { public class InternalEngineTests extends ESTestCase {
protected final ShardId shardId = new ShardId(new Index("index"), 1); protected final ShardId shardId = new ShardId(new Index("index"), 1);
private static final IndexSettings INDEX_SETTINGS = new IndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList()); private static final IndexSettings INDEX_SETTINGS = IndexSettingsModule.newIndexSettings(new Index("index"), Settings.EMPTY, Collections.emptyList());
protected ThreadPool threadPool; protected ThreadPool threadPool;
@ -266,7 +267,7 @@ public class InternalEngineTests extends ESTestCase {
public EngineConfig config(Settings indexSettings, Store store, Path translogPath, MergeSchedulerConfig mergeSchedulerConfig, MergePolicy mergePolicy) { public EngineConfig config(Settings indexSettings, Store store, Path translogPath, MergeSchedulerConfig mergeSchedulerConfig, MergePolicy mergePolicy) {
IndexWriterConfig iwc = newIndexWriterConfig(); IndexWriterConfig iwc = newIndexWriterConfig();
TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, new IndexSettings(shardId.index(), indexSettings, Collections.emptyList()), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool); TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, IndexSettingsModule.newIndexSettings(shardId.index(), indexSettings, Collections.emptyList()), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool);
EngineConfig config = new EngineConfig(shardId, threadPool, new ShardIndexingService(shardId, INDEX_SETTINGS), indexSettings EngineConfig config = new EngineConfig(shardId, threadPool, new ShardIndexingService(shardId, INDEX_SETTINGS), indexSettings
, null, store, createSnapshotDeletionPolicy(), mergePolicy, mergeSchedulerConfig, , null, store, createSnapshotDeletionPolicy(), mergePolicy, mergeSchedulerConfig,
@ -1867,7 +1868,7 @@ public class InternalEngineTests extends ESTestCase {
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
RootObjectMapper.Builder rootBuilder = new RootObjectMapper.Builder("test"); RootObjectMapper.Builder rootBuilder = new RootObjectMapper.Builder("test");
Index index = new Index(indexName); Index index = new Index(indexName);
IndexSettings indexSettings = new IndexSettings(index, settings, Collections.EMPTY_LIST); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(index, settings, Collections.EMPTY_LIST);
AnalysisService analysisService = new AnalysisService(indexSettings); AnalysisService analysisService = new AnalysisService(indexSettings);
SimilarityService similarityService = new SimilarityService(indexSettings, Collections.EMPTY_MAP); SimilarityService similarityService = new SimilarityService(indexSettings, Collections.EMPTY_MAP);
MapperService mapperService = new MapperService(indexSettings, analysisService, similarityService, null); MapperService mapperService = new MapperService(indexSettings, analysisService, similarityService, null);
@ -1917,7 +1918,7 @@ public class InternalEngineTests extends ESTestCase {
EngineConfig config = engine.config(); EngineConfig config = engine.config();
/* create a TranslogConfig that has been created with a different UUID */ /* create a TranslogConfig that has been created with a different UUID */
TranslogConfig translogConfig = new TranslogConfig(shardId, translog.location(), new IndexSettings(shardId.index(), config.getIndexSettings(), Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool); TranslogConfig translogConfig = new TranslogConfig(shardId, translog.location(), IndexSettingsModule.newIndexSettings(shardId.index(), config.getIndexSettings(), Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool);
EngineConfig brokenConfig = new EngineConfig(shardId, threadPool, config.getIndexingService(), config.getIndexSettings() EngineConfig brokenConfig = new EngineConfig(shardId, threadPool, config.getIndexingService(), config.getIndexSettings()
, null, store, createSnapshotDeletionPolicy(), newMergePolicy(), config.getMergeSchedulerConfig(), , null, store, createSnapshotDeletionPolicy(), newMergePolicy(), config.getMergeSchedulerConfig(),

View File

@ -63,6 +63,7 @@ import org.elasticsearch.index.translog.Translog;
import org.elasticsearch.index.translog.TranslogConfig; import org.elasticsearch.index.translog.TranslogConfig;
import org.elasticsearch.test.DummyShardLock; import org.elasticsearch.test.DummyShardLock;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.threadpool.ThreadPool;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import org.junit.After; import org.junit.After;
@ -88,7 +89,7 @@ import static org.hamcrest.Matchers.nullValue;
*/ */
public class ShadowEngineTests extends ESTestCase { public class ShadowEngineTests extends ESTestCase {
private static final IndexSettings INDEX_SETTINGS = new IndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList()); private static final IndexSettings INDEX_SETTINGS = IndexSettingsModule.newIndexSettings(new Index("index"), Settings.EMPTY, Collections.emptyList());
protected final ShardId shardId = new ShardId(new Index("index"), 1); protected final ShardId shardId = new ShardId(new Index("index"), 1);
@ -183,7 +184,7 @@ public class ShadowEngineTests extends ESTestCase {
protected Store createStore(final Directory directory) throws IOException { protected Store createStore(final Directory directory) throws IOException {
IndexSettings indexSettings = new IndexSettings(shardId.index(), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(), Collections.emptyList()); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(shardId.index(), Settings.EMPTY, Collections.emptyList());
final DirectoryService directoryService = new DirectoryService(shardId, indexSettings) { final DirectoryService directoryService = new DirectoryService(shardId, indexSettings) {
@Override @Override
public Directory newDirectory() throws IOException { public Directory newDirectory() throws IOException {
@ -224,8 +225,8 @@ public class ShadowEngineTests extends ESTestCase {
public EngineConfig config(Settings indexSettings, Store store, Path translogPath, MergeSchedulerConfig mergeSchedulerConfig, MergePolicy mergePolicy) { public EngineConfig config(Settings indexSettings, Store store, Path translogPath, MergeSchedulerConfig mergeSchedulerConfig, MergePolicy mergePolicy) {
IndexWriterConfig iwc = newIndexWriterConfig(); IndexWriterConfig iwc = newIndexWriterConfig();
TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, new IndexSettings(shardId.index(), indexSettings, Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool); TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, IndexSettingsModule.newIndexSettings(shardId.index(), indexSettings, Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool);
EngineConfig config = new EngineConfig(shardId, threadPool, new ShardIndexingService(shardId, new IndexSettings(shardId.index(), indexSettings, Collections.EMPTY_LIST)), indexSettings EngineConfig config = new EngineConfig(shardId, threadPool, new ShardIndexingService(shardId, IndexSettingsModule.newIndexSettings(shardId.index(), indexSettings, Collections.EMPTY_LIST)), indexSettings
, null, store, createSnapshotDeletionPolicy(), mergePolicy, mergeSchedulerConfig, , null, store, createSnapshotDeletionPolicy(), mergePolicy, mergeSchedulerConfig,
iwc.getAnalyzer(), iwc.getSimilarity() , new CodecService(INDEX_SETTINGS, null), new Engine.EventListener() { iwc.getAnalyzer(), iwc.getSimilarity() , new CodecService(INDEX_SETTINGS, null), new Engine.EventListener() {
@Override @Override

View File

@ -44,6 +44,7 @@ import org.elasticsearch.index.shard.ShardId;
import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.indices.breaker.CircuitBreakerService;
import org.elasticsearch.indices.fielddata.cache.IndicesFieldDataCache; import org.elasticsearch.indices.fielddata.cache.IndicesFieldDataCache;
import org.elasticsearch.test.ESSingleNodeTestCase; import org.elasticsearch.test.ESSingleNodeTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.threadpool.ThreadPool;
import java.util.Arrays; import java.util.Arrays;
@ -195,7 +196,7 @@ public class IndexFieldDataServiceTests extends ESSingleNodeTestCase {
ThreadPool threadPool = new ThreadPool("random_threadpool_name"); ThreadPool threadPool = new ThreadPool("random_threadpool_name");
try { try {
IndicesFieldDataCache cache = new IndicesFieldDataCache(Settings.EMPTY, null, threadPool); IndicesFieldDataCache cache = new IndicesFieldDataCache(Settings.EMPTY, null, threadPool);
IndexFieldDataService ifds = new IndexFieldDataService(new IndexSettings(new Index("test"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(), Collections.EMPTY_LIST), cache, null, null); IndexFieldDataService ifds = new IndexFieldDataService(IndexSettingsModule.newIndexSettings(new Index("test"), Settings.EMPTY, Collections.EMPTY_LIST), cache, null, null);
ft.setNames(new Names("some_long")); ft.setNames(new Names("some_long"));
ft.setHasDocValues(true); ft.setHasDocValues(true);
ifds.getForField(ft); // no exception ifds.getForField(ft); // no exception

View File

@ -79,7 +79,7 @@ import org.elasticsearch.script.ScriptService;
import org.elasticsearch.script.mustache.MustacheScriptEngineService; import org.elasticsearch.script.mustache.MustacheScriptEngineService;
import org.elasticsearch.search.internal.SearchContext; import org.elasticsearch.search.internal.SearchContext;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.test.TestSearchContext; import org.elasticsearch.test.TestSearchContext;
import org.elasticsearch.test.VersionUtils; import org.elasticsearch.test.VersionUtils;
import org.elasticsearch.test.cluster.TestClusterService; import org.elasticsearch.test.cluster.TestClusterService;
@ -212,10 +212,10 @@ public abstract class AbstractQueryTestCase<QB extends AbstractQueryBuilder<QB>>
} }
}, },
new IndexNameAndSettingsModule(index, indexSettings), new IndexSettingsModule(index, indexSettings),
new IndexCacheModule(indexSettings), new IndexCacheModule(indexSettings),
new AnalysisModule(indexSettings, new IndicesAnalysisService(indexSettings)), new AnalysisModule(indexSettings, new IndicesAnalysisService(indexSettings)),
new SimilarityModule(new IndexSettings(index, indexSettings, Collections.EMPTY_LIST)), new SimilarityModule(IndexSettingsModule.newIndexSettings(index, indexSettings, Collections.EMPTY_LIST)),
new AbstractModule() { new AbstractModule() {
@Override @Override
protected void configure() { protected void configure() {

View File

@ -48,7 +48,7 @@ import org.elasticsearch.indices.breaker.CircuitBreakerService;
import org.elasticsearch.indices.breaker.NoneCircuitBreakerService; import org.elasticsearch.indices.breaker.NoneCircuitBreakerService;
import org.elasticsearch.script.ScriptModule; import org.elasticsearch.script.ScriptModule;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.threadpool.ThreadPool;
import org.elasticsearch.threadpool.ThreadPoolModule; import org.elasticsearch.threadpool.ThreadPoolModule;
import org.junit.After; import org.junit.After;
@ -95,10 +95,10 @@ public class TemplateQueryParserTests extends ESTestCase {
} }
}, },
new ScriptModule(settings), new ScriptModule(settings),
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new IndexCacheModule(settings), new IndexCacheModule(settings),
new AnalysisModule(settings, new IndicesAnalysisService(settings)), new AnalysisModule(settings, new IndicesAnalysisService(settings)),
new SimilarityModule(new IndexSettings(index, settings, Collections.EMPTY_LIST)), new SimilarityModule(IndexSettingsModule.newIndexSettings(index, settings, Collections.EMPTY_LIST)),
new AbstractModule() { new AbstractModule() {
@Override @Override
protected void configure() { protected void configure() {

View File

@ -30,6 +30,7 @@ import org.elasticsearch.env.NodeEnvironment;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -49,7 +50,7 @@ import java.util.Map;
/** Separate test class from ShardPathTests because we need static (BeforeClass) setup to install mock filesystems... */ /** Separate test class from ShardPathTests because we need static (BeforeClass) setup to install mock filesystems... */
public class NewPathForShardTests extends ESTestCase { public class NewPathForShardTests extends ESTestCase {
private static final IndexSettings INDEX_SETTINGS = new IndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList()); private static final IndexSettings INDEX_SETTINGS = IndexSettingsModule.newIndexSettings(new Index("index"), Settings.EMPTY, Collections.emptyList());
// Sneakiness to install mock file stores so we can pretend how much free space we have on each path.data: // Sneakiness to install mock file stores so we can pretend how much free space we have on each path.data:
private static MockFileStore aFileStore = new MockFileStore("mocka"); private static MockFileStore aFileStore = new MockFileStore("mocka");

View File

@ -24,6 +24,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.env.NodeEnvironment; import org.elasticsearch.env.NodeEnvironment;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
@ -45,7 +46,7 @@ public class ShardPathTests extends ESTestCase {
Path[] paths = env.availableShardPaths(shardId); Path[] paths = env.availableShardPaths(shardId);
Path path = randomFrom(paths); Path path = randomFrom(paths);
ShardStateMetaData.FORMAT.write(new ShardStateMetaData(2, true, "0xDEADBEEF"), 2, path); ShardStateMetaData.FORMAT.write(new ShardStateMetaData(2, true, "0xDEADBEEF"), 2, path);
ShardPath shardPath = ShardPath.loadShardPath(logger, env, shardId, new IndexSettings(shardId.index(), settings, Collections.EMPTY_LIST)); ShardPath shardPath = ShardPath.loadShardPath(logger, env, shardId, IndexSettingsModule.newIndexSettings(shardId.index(), settings, Collections.EMPTY_LIST));
assertEquals(path, shardPath.getDataPath()); assertEquals(path, shardPath.getDataPath());
assertEquals("0xDEADBEEF", shardPath.getIndexUUID()); assertEquals("0xDEADBEEF", shardPath.getIndexUUID());
assertEquals("foo", shardPath.getShardId().getIndex()); assertEquals("foo", shardPath.getShardId().getIndex());
@ -64,7 +65,7 @@ public class ShardPathTests extends ESTestCase {
assumeTrue("This test tests multi data.path but we only got one", paths.length > 1); assumeTrue("This test tests multi data.path but we only got one", paths.length > 1);
int id = randomIntBetween(1, 10); int id = randomIntBetween(1, 10);
ShardStateMetaData.FORMAT.write(new ShardStateMetaData(id, true, "0xDEADBEEF"), id, paths); ShardStateMetaData.FORMAT.write(new ShardStateMetaData(id, true, "0xDEADBEEF"), id, paths);
ShardPath.loadShardPath(logger, env, shardId, new IndexSettings(shardId.index(), settings, Collections.EMPTY_LIST)); ShardPath.loadShardPath(logger, env, shardId, IndexSettingsModule.newIndexSettings(shardId.index(), settings, Collections.EMPTY_LIST));
fail("Expected IllegalStateException"); fail("Expected IllegalStateException");
} catch (IllegalStateException e) { } catch (IllegalStateException e) {
assertThat(e.getMessage(), containsString("more than one shard state found")); assertThat(e.getMessage(), containsString("more than one shard state found"));
@ -81,7 +82,7 @@ public class ShardPathTests extends ESTestCase {
Path path = randomFrom(paths); Path path = randomFrom(paths);
int id = randomIntBetween(1, 10); int id = randomIntBetween(1, 10);
ShardStateMetaData.FORMAT.write(new ShardStateMetaData(id, true, "0xDEADBEEF"), id, path); ShardStateMetaData.FORMAT.write(new ShardStateMetaData(id, true, "0xDEADBEEF"), id, path);
ShardPath.loadShardPath(logger, env, shardId, new IndexSettings(shardId.index(), settings, Collections.EMPTY_LIST)); ShardPath.loadShardPath(logger, env, shardId, IndexSettingsModule.newIndexSettings(shardId.index(), settings, Collections.EMPTY_LIST));
fail("Expected IllegalStateException"); fail("Expected IllegalStateException");
} catch (IllegalStateException e) { } catch (IllegalStateException e) {
assertThat(e.getMessage(), containsString("expected: foobar on shard path")); assertThat(e.getMessage(), containsString("expected: foobar on shard path"));
@ -135,7 +136,7 @@ public class ShardPathTests extends ESTestCase {
Path[] paths = env.availableShardPaths(shardId); Path[] paths = env.availableShardPaths(shardId);
Path path = randomFrom(paths); Path path = randomFrom(paths);
ShardStateMetaData.FORMAT.write(new ShardStateMetaData(2, true, "0xDEADBEEF"), 2, path); ShardStateMetaData.FORMAT.write(new ShardStateMetaData(2, true, "0xDEADBEEF"), 2, path);
ShardPath shardPath = ShardPath.loadShardPath(logger, env, shardId, new IndexSettings(shardId.index(), indexSetttings, Collections.EMPTY_LIST)); ShardPath shardPath = ShardPath.loadShardPath(logger, env, shardId, IndexSettingsModule.newIndexSettings(shardId.index(), indexSetttings, Collections.EMPTY_LIST));
boolean found = false; boolean found = false;
for (Path p : env.nodeDataPaths()) { for (Path p : env.nodeDataPaths()) {
if (p.equals(shardPath.getRootStatePath())) { if (p.equals(shardPath.getRootStatePath())) {

View File

@ -30,6 +30,7 @@ import org.elasticsearch.common.inject.ModuleTestCase;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
@ -42,7 +43,7 @@ public class SimilarityModuleTests extends ModuleTestCase {
.put("index.similarity.my_similarity.type", "test_similarity") .put("index.similarity.my_similarity.type", "test_similarity")
.put("index.similarity.my_similarity.key", "there is a key") .put("index.similarity.my_similarity.key", "there is a key")
.build(); .build();
SimilarityModule module = new SimilarityModule(new IndexSettings(new Index("foo"), indexSettings, Collections.EMPTY_LIST)); SimilarityModule module = new SimilarityModule(IndexSettingsModule.newIndexSettings(new Index("foo"), indexSettings, Collections.EMPTY_LIST));
module.addSimilarity("test_similarity", (string, settings) -> new SimilarityProvider() { module.addSimilarity("test_similarity", (string, settings) -> new SimilarityProvider() {
@Override @Override
public String name() { public String name() {
@ -71,7 +72,7 @@ public class SimilarityModuleTests extends ModuleTestCase {
.put("index.similarity.my_similarity.type", "test_similarity") .put("index.similarity.my_similarity.type", "test_similarity")
.put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT) .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
.build(); .build();
SimilarityModule module = new SimilarityModule(new IndexSettings(new Index("foo"), indexSettings, Collections.EMPTY_LIST)); SimilarityModule module = new SimilarityModule(IndexSettingsModule.newIndexSettings(new Index("foo"), indexSettings, Collections.EMPTY_LIST));
try { try {
assertInstanceBinding(module, SimilarityService.class, (inst) -> inst instanceof SimilarityService); assertInstanceBinding(module, SimilarityService.class, (inst) -> inst instanceof SimilarityService);
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {
@ -85,7 +86,7 @@ public class SimilarityModuleTests extends ModuleTestCase {
.put("index.similarity.my_similarity.foo", "bar") .put("index.similarity.my_similarity.foo", "bar")
.put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT) .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
.build(); .build();
SimilarityModule module = new SimilarityModule(new IndexSettings(new Index("foo"), indexSettings, Collections.EMPTY_LIST)); SimilarityModule module = new SimilarityModule(IndexSettingsModule.newIndexSettings(new Index("foo"), indexSettings, Collections.EMPTY_LIST));
try { try {
assertInstanceBinding(module, SimilarityService.class, (inst) -> inst instanceof SimilarityService); assertInstanceBinding(module, SimilarityService.class, (inst) -> inst instanceof SimilarityService);
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {

View File

@ -29,6 +29,7 @@ import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.index.shard.ShardId;
import org.elasticsearch.index.shard.ShardPath; import org.elasticsearch.index.shard.ShardPath;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
@ -45,7 +46,7 @@ public class IndexStoreTests extends ESTestCase {
final IndexStoreModule.Type type = RandomPicks.randomFrom(random(), values); final IndexStoreModule.Type type = RandomPicks.randomFrom(random(), values);
Settings settings = Settings.settingsBuilder().put(IndexStoreModule.STORE_TYPE, type.name().toLowerCase(Locale.ROOT)) Settings settings = Settings.settingsBuilder().put(IndexStoreModule.STORE_TYPE, type.name().toLowerCase(Locale.ROOT))
.put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(); .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
IndexSettings indexSettings = new IndexSettings(new Index("foo"), settings, Collections.EMPTY_LIST); IndexSettings indexSettings = IndexSettingsModule.newIndexSettings(new Index("foo"), settings, Collections.EMPTY_LIST);
FsDirectoryService service = new FsDirectoryService(indexSettings, null, new ShardPath(false, tempDir, tempDir, "foo", new ShardId("foo", 0))); FsDirectoryService service = new FsDirectoryService(indexSettings, null, new ShardPath(false, tempDir, tempDir, "foo", new ShardId("foo", 0)));
try (final Directory directory = service.newFSDirectory(tempDir, NoLockFactory.INSTANCE)) { try (final Directory directory = service.newFSDirectory(tempDir, NoLockFactory.INSTANCE)) {
switch (type) { switch (type) {
@ -78,7 +79,7 @@ public class IndexStoreTests extends ESTestCase {
public void testStoreDirectoryDefault() throws IOException { public void testStoreDirectoryDefault() throws IOException {
final Path tempDir = createTempDir().resolve("foo").resolve("0"); final Path tempDir = createTempDir().resolve("foo").resolve("0");
FsDirectoryService service = new FsDirectoryService(new IndexSettings(new Index("foo"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(), Collections.EMPTY_LIST), null, new ShardPath(false, tempDir, tempDir, "foo", new ShardId("foo", 0))); FsDirectoryService service = new FsDirectoryService(IndexSettingsModule.newIndexSettings(new Index("foo"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build(), Collections.EMPTY_LIST), null, new ShardPath(false, tempDir, tempDir, "foo", new ShardId("foo", 0)));
try (final Directory directory = service.newFSDirectory(tempDir, NoLockFactory.INSTANCE)) { try (final Directory directory = service.newFSDirectory(tempDir, NoLockFactory.INSTANCE)) {
if (Constants.WINDOWS) { if (Constants.WINDOWS) {
assertTrue(directory.toString(), directory instanceof MMapDirectory || directory instanceof SimpleFSDirectory); assertTrue(directory.toString(), directory instanceof MMapDirectory || directory instanceof SimpleFSDirectory);

View File

@ -74,6 +74,7 @@ import org.elasticsearch.index.translog.Translog;
import org.elasticsearch.indices.store.TransportNodesListShardStoreMetaData; import org.elasticsearch.indices.store.TransportNodesListShardStoreMetaData;
import org.elasticsearch.test.DummyShardLock; import org.elasticsearch.test.DummyShardLock;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.Matchers; import org.hamcrest.Matchers;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
@ -100,7 +101,7 @@ import static org.hamcrest.Matchers.nullValue;
public class StoreTests extends ESTestCase { public class StoreTests extends ESTestCase {
private static final IndexSettings INDEX_SETTINGS = new IndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList()); private static final IndexSettings INDEX_SETTINGS = IndexSettingsModule.newIndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList());
public void testRefCount() throws IOException { public void testRefCount() throws IOException {
final ShardId shardId = new ShardId(new Index("index"), 1); final ShardId shardId = new ShardId(new Index("index"), 1);
@ -1146,7 +1147,7 @@ public class StoreTests extends ESTestCase {
Settings settings = Settings.builder() Settings settings = Settings.builder()
.put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT) .put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT)
.put(Store.INDEX_STORE_STATS_REFRESH_INTERVAL, TimeValue.timeValueMinutes(0)).build(); .put(Store.INDEX_STORE_STATS_REFRESH_INTERVAL, TimeValue.timeValueMinutes(0)).build();
Store store = new Store(shardId, new IndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), directoryService, new DummyShardLock(shardId)); Store store = new Store(shardId, IndexSettingsModule.newIndexSettings(new Index("index"), settings, Collections.EMPTY_LIST), directoryService, new DummyShardLock(shardId));
long initialStoreSize = 0; long initialStoreSize = 0;
for (String extraFiles : store.directory().listAll()) { for (String extraFiles : store.directory().listAll()) {
assertTrue("expected extraFS file but got: " + extraFiles, extraFiles.startsWith("extra")); assertTrue("expected extraFS file but got: " + extraFiles, extraFiles.startsWith("extra"));

View File

@ -24,6 +24,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.ByteSizeUnit; import org.elasticsearch.common.unit.ByteSizeUnit;
import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.util.BigArrays;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
@ -41,7 +42,7 @@ public class BufferedTranslogTests extends TranslogTests {
.put("index.translog.fs.buffer_size", 10 + randomInt(128 * 1024), ByteSizeUnit.BYTES) .put("index.translog.fs.buffer_size", 10 + randomInt(128 * 1024), ByteSizeUnit.BYTES)
.put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT) .put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT)
.build(); .build();
TranslogConfig translogConfig = new TranslogConfig(shardId, path, new IndexSettings(shardId.index(), build, Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, null); TranslogConfig translogConfig = new TranslogConfig(shardId, path, IndexSettingsModule.newIndexSettings(shardId.index(), build, Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, null);
return new Translog(translogConfig); return new Translog(translogConfig);
} }
} }

View File

@ -42,6 +42,7 @@ import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.VersionType; import org.elasticsearch.index.VersionType;
import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.index.shard.ShardId;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.Matchers; import org.hamcrest.Matchers;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
@ -130,7 +131,7 @@ public class TranslogTests extends ESTestCase {
.put(TranslogConfig.INDEX_TRANSLOG_FS_TYPE, TranslogWriter.Type.SIMPLE.name()) .put(TranslogConfig.INDEX_TRANSLOG_FS_TYPE, TranslogWriter.Type.SIMPLE.name())
.put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT) .put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT)
.build(); .build();
TranslogConfig translogConfig = new TranslogConfig(shardId, path, new IndexSettings(shardId.index(), build, Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, null); TranslogConfig translogConfig = new TranslogConfig(shardId, path, IndexSettingsModule.newIndexSettings(shardId.index(), build, Collections.EMPTY_LIST), Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, null);
return new Translog(translogConfig); return new Translog(translogConfig);
} }

View File

@ -43,6 +43,7 @@ import org.elasticsearch.node.settings.NodeSettingsService;
import org.elasticsearch.test.DummyShardLock; import org.elasticsearch.test.DummyShardLock;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.CorruptionUtils; import org.elasticsearch.test.CorruptionUtils;
import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
@ -54,7 +55,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.is;
public class RecoverySourceHandlerTests extends ESTestCase { public class RecoverySourceHandlerTests extends ESTestCase {
private static final IndexSettings INDEX_SETTINGS = new IndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList()); private static final IndexSettings INDEX_SETTINGS = IndexSettingsModule.newIndexSettings(new Index("index"), Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, org.elasticsearch.Version.CURRENT).build(), Collections.emptyList());
private final ShardId shardId = new ShardId(INDEX_SETTINGS.getIndex(), 1); private final ShardId shardId = new ShardId(INDEX_SETTINGS.getIndex(), 1);
private final NodeSettingsService service = new NodeSettingsService(Settings.EMPTY); private final NodeSettingsService service = new NodeSettingsService(Settings.EMPTY);

View File

@ -18,25 +18,39 @@
*/ */
package org.elasticsearch.test; package org.elasticsearch.test;
import org.elasticsearch.Version;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.inject.AbstractModule;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.function.Consumer;
public class IndexNameAndSettingsModule extends AbstractModule { public class IndexSettingsModule extends AbstractModule {
private final Index index; private final Index index;
private final Settings settings; private final Settings settings;
public IndexNameAndSettingsModule(Index index, Settings settings) { public IndexSettingsModule(Index index, Settings settings) {
this.settings = settings; this.settings = settings;
this.index = index; this.index = index;
} }
@Override @Override
protected void configure() { protected void configure() {
bind(IndexSettings.class).toInstance(new IndexSettings(index, settings, Collections.EMPTY_LIST)); bind(IndexSettings.class).toInstance(newIndexSettings(index, settings, Collections.EMPTY_LIST));
}
public static IndexSettings newIndexSettings(Index index, Settings settings, Collection<Consumer<Settings>> updateListeners) {
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();
IndexMetaData metaData = IndexMetaData.builder(index.getName()).settings(build).build();
return new IndexSettings(metaData, Settings.EMPTY, Collections.EMPTY_LIST);
} }
} }

View File

@ -27,6 +27,7 @@ import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.*; import org.apache.lucene.store.*;
import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestRuleMarkFailure; import org.apache.lucene.util.TestRuleMarkFailure;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.inject.Inject;
import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.io.stream.BytesStreamOutput;
import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLogger;
@ -41,6 +42,7 @@ import org.elasticsearch.index.store.Store;
import org.elasticsearch.indices.IndicesService; import org.elasticsearch.indices.IndicesService;
import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexSettingsModule;
import org.junit.Assert; import org.junit.Assert;
import java.io.Closeable; import java.io.Closeable;
@ -172,10 +174,10 @@ public class MockFSDirectoryService extends FsDirectoryService {
} }
private FsDirectoryService randomDirectorService(IndexStore indexStore, ShardPath path) { private FsDirectoryService randomDirectorService(IndexStore indexStore, ShardPath path) {
Settings.Builder builder = Settings.settingsBuilder(); final IndexSettings indexSettings = indexStore.getIndexSettings();
builder.put(indexSettings); final IndexMetaData build = IndexMetaData.builder(indexSettings.getIndexMetaData()).settings(Settings.builder().put(indexSettings.getSettings()).put(IndexStoreModule.STORE_TYPE, RandomPicks.randomFrom(random, IndexStoreModule.Type.values()).getSettingsKey())).build();
builder.put(IndexStoreModule.STORE_TYPE, RandomPicks.randomFrom(random, IndexStoreModule.Type.values()).getSettingsKey()); final IndexSettings newIndexSettings = new IndexSettings(build, indexSettings.getNodeSettings(), Collections.EMPTY_LIST);
return new FsDirectoryService(new IndexSettings(shardId.index(), builder.build(), Collections.EMPTY_LIST), indexStore, path); return new FsDirectoryService(newIndexSettings, indexStore, path);
} }
public static final class ElasticsearchMockDirectoryWrapper extends MockDirectoryWrapper { public static final class ElasticsearchMockDirectoryWrapper extends MockDirectoryWrapper {

View File

@ -29,7 +29,7 @@ import org.elasticsearch.env.Environment;
import org.elasticsearch.env.EnvironmentModule; import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import static org.elasticsearch.common.settings.Settings.settingsBuilder; import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -42,7 +42,7 @@ public class AnalysisTestUtils {
.build(); .build();
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, indexSettings), new IndexSettingsModule(index, indexSettings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new IcuAnalysisBinderProcessor())) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new IcuAnalysisBinderProcessor()))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -36,7 +36,7 @@ import org.elasticsearch.index.Index;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.plugin.analysis.kuromoji.AnalysisKuromojiPlugin; import org.elasticsearch.plugin.analysis.kuromoji.AnalysisKuromojiPlugin;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -212,7 +212,7 @@ public class KuromojiAnalysisTests extends ESTestCase {
new AnalysisKuromojiPlugin().onModule(analysisModule); new AnalysisKuromojiPlugin().onModule(analysisModule);
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
analysisModule) analysisModule)
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -30,7 +30,7 @@ import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import static org.elasticsearch.common.settings.Settings.settingsBuilder; import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -56,7 +56,7 @@ public class SimplePhoneticAnalysisTests extends ESTestCase {
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings),
new EnvironmentModule(new Environment(settings))).createInjector(); new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class))
.addProcessor(new PhoneticAnalysisBinderProcessor())).createChildInjector(parentInjector); .addProcessor(new PhoneticAnalysisBinderProcessor())).createChildInjector(parentInjector);

View File

@ -30,7 +30,7 @@ import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index; import org.elasticsearch.index.Index;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import static org.elasticsearch.common.settings.Settings.settingsBuilder; import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -48,7 +48,7 @@ public class SimpleSmartChineseAnalysisTests extends ESTestCase {
.build(); .build();
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(EMPTY_SETTINGS), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(EMPTY_SETTINGS), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(EMPTY_SETTINGS, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new SmartChineseAnalysisBinderProcessor())) new AnalysisModule(EMPTY_SETTINGS, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new SmartChineseAnalysisBinderProcessor()))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -34,7 +34,7 @@ import org.elasticsearch.index.analysis.pl.PolishAnalysisBinderProcessor;
import org.elasticsearch.index.analysis.pl.PolishStemTokenFilterFactory; import org.elasticsearch.index.analysis.pl.PolishStemTokenFilterFactory;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import org.hamcrest.MatcherAssert; import org.hamcrest.MatcherAssert;
import static org.elasticsearch.common.settings.Settings.settingsBuilder; import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -53,7 +53,7 @@ public class PolishAnalysisTests extends ESTestCase {
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(EMPTY_SETTINGS), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(EMPTY_SETTINGS), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(EMPTY_SETTINGS, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new PolishAnalysisBinderProcessor())) new AnalysisModule(EMPTY_SETTINGS, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new PolishAnalysisBinderProcessor()))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);

View File

@ -36,7 +36,7 @@ import org.elasticsearch.index.Index;
import org.elasticsearch.index.analysis.pl.PolishAnalysisBinderProcessor; import org.elasticsearch.index.analysis.pl.PolishAnalysisBinderProcessor;
import org.elasticsearch.indices.analysis.IndicesAnalysisService; import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.test.IndexNameAndSettingsModule; import org.elasticsearch.test.IndexSettingsModule;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
@ -99,7 +99,7 @@ public class SimplePolishTokenFilterTests extends ESTestCase {
private AnalysisService createAnalysisService(Index index, Settings settings) { private AnalysisService createAnalysisService(Index index, Settings settings) {
Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector(); Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings))).createInjector();
Injector injector = new ModulesBuilder().add( Injector injector = new ModulesBuilder().add(
new IndexNameAndSettingsModule(index, settings), new IndexSettingsModule(index, settings),
new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new PolishAnalysisBinderProcessor())) new AnalysisModule(settings, parentInjector.getInstance(IndicesAnalysisService.class)).addProcessor(new PolishAnalysisBinderProcessor()))
.createChildInjector(parentInjector); .createChildInjector(parentInjector);