From eda1c511ddb8c47b22a8f04f7ecc4e981b018852 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Tue, 28 Jun 2022 14:51:51 +0200 Subject: [PATCH] Don't extend AbstractIndexComponent in AbstractCharFilterFactory (#88125) Same as #88113 but for AbstractCharFilterFactory. --- .../common/HtmlStripCharFilterFactory.java | 2 +- .../common/MappingCharFilterFactory.java | 2 +- .../PatternReplaceCharFilterFactory.java | 2 +- .../analysis/icu/IcuAnalyzerProvider.java | 2 +- .../icu/IcuFoldingTokenFilterFactory.java | 2 +- .../icu/IcuNormalizerCharFilterFactory.java | 4 ++-- .../icu/IcuNormalizerTokenFilterFactory.java | 4 ++-- .../plugin/analysis/icu/IcuAnalyzerTests.java | 21 ++++--------------- ...uromojiIterationMarkCharFilterFactory.java | 2 +- .../analysis/AbstractCharFilterFactory.java | 8 ++----- .../indices/TransportAnalyzeActionTests.java | 2 +- ...FirstLineWithLettersCharFilterFactory.java | 2 +- .../FirstNonBlankLineCharFilterFactory.java | 2 +- 13 files changed, 19 insertions(+), 36 deletions(-) diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/HtmlStripCharFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/HtmlStripCharFilterFactory.java index 7f1d232f0f1b..b2b43bf0cde1 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/HtmlStripCharFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/HtmlStripCharFilterFactory.java @@ -25,7 +25,7 @@ public class HtmlStripCharFilterFactory extends AbstractCharFilterFactory { private final Set escapedTags; HtmlStripCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { - super(indexSettings, name); + super(name); List escapedTagsList = settings.getAsList("escaped_tags"); if (escapedTagsList.size() > 0) { this.escapedTags = unmodifiableSet(newHashSet(escapedTagsList)); diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java index b32206831990..05b7f6713ed6 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java @@ -27,7 +27,7 @@ public class MappingCharFilterFactory extends AbstractCharFilterFactory implemen private final NormalizeCharMap normMap; MappingCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { - super(indexSettings, name); + super(name); List rules = Analysis.getWordList(env, settings, "mappings"); if (rules == null) { diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceCharFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceCharFilterFactory.java index 55ebf0c99ef4..0e5b1a3a8a8e 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceCharFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceCharFilterFactory.java @@ -25,7 +25,7 @@ public class PatternReplaceCharFilterFactory extends AbstractCharFilterFactory i private final String replacement; PatternReplaceCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { - super(indexSettings, name); + super(name); String sPattern = settings.get("pattern"); if (Strings.hasLength(sPattern) == false) { diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerProvider.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerProvider.java index f5d2effa56ec..f5f946e575fe 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerProvider.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerProvider.java @@ -40,7 +40,7 @@ public class IcuAnalyzerProvider extends AbstractIndexAnalyzerProvider method, "compose".equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE ); - this.normalizer = IcuNormalizerTokenFilterFactory.wrapWithUnicodeSetFilter(indexSettings, normalizerInstance, settings); + this.normalizer = IcuNormalizerTokenFilterFactory.wrapWithUnicodeSetFilter(normalizerInstance, settings); } @Override diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuFoldingTokenFilterFactory.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuFoldingTokenFilterFactory.java index 17cc2cfffe2d..8b3140fbc596 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuFoldingTokenFilterFactory.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuFoldingTokenFilterFactory.java @@ -39,7 +39,7 @@ public class IcuFoldingTokenFilterFactory extends AbstractTokenFilterFactory imp public IcuFoldingTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { super(name, settings); - this.normalizer = IcuNormalizerTokenFilterFactory.wrapWithUnicodeSetFilter(indexSettings, ICU_FOLDING_NORMALIZER, settings); + this.normalizer = IcuNormalizerTokenFilterFactory.wrapWithUnicodeSetFilter(ICU_FOLDING_NORMALIZER, settings); } @Override diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerCharFilterFactory.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerCharFilterFactory.java index edcdcc9be5fb..63b865dac1e2 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerCharFilterFactory.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerCharFilterFactory.java @@ -30,7 +30,7 @@ public class IcuNormalizerCharFilterFactory extends AbstractCharFilterFactory im private final Normalizer2 normalizer; public IcuNormalizerCharFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { - super(indexSettings, name); + super(name); String method = settings.get("name", "nfkc_cf"); String mode = settings.get("mode"); if ("compose".equals(mode) == false && "decompose".equals(mode) == false) { @@ -41,7 +41,7 @@ public class IcuNormalizerCharFilterFactory extends AbstractCharFilterFactory im method, "compose".equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE ); - this.normalizer = IcuNormalizerTokenFilterFactory.wrapWithUnicodeSetFilter(indexSettings, normalizerInstance, settings); + this.normalizer = IcuNormalizerTokenFilterFactory.wrapWithUnicodeSetFilter(normalizerInstance, settings); } @Override diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerTokenFilterFactory.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerTokenFilterFactory.java index 0528492feaad..5352a33cf517 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerTokenFilterFactory.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/plugin/analysis/icu/IcuNormalizerTokenFilterFactory.java @@ -32,7 +32,7 @@ public class IcuNormalizerTokenFilterFactory extends AbstractTokenFilterFactory super(name, settings); String method = settings.get("name", "nfkc_cf"); Normalizer2 normalizerInstance = Normalizer2.getInstance(null, method, Normalizer2.Mode.COMPOSE); - this.normalizer = wrapWithUnicodeSetFilter(indexSettings, normalizerInstance, settings); + this.normalizer = wrapWithUnicodeSetFilter(normalizerInstance, settings); } @Override @@ -40,7 +40,7 @@ public class IcuNormalizerTokenFilterFactory extends AbstractTokenFilterFactory return new org.apache.lucene.analysis.icu.ICUNormalizer2Filter(tokenStream, normalizer); } - static Normalizer2 wrapWithUnicodeSetFilter(final IndexSettings indexSettings, final Normalizer2 normalizer, final Settings settings) { + static Normalizer2 wrapWithUnicodeSetFilter(final Normalizer2 normalizer, final Settings settings) { String unicodeSetFilter = settings.get("unicode_set_filter"); if (unicodeSetFilter != null) { UnicodeSet unicodeSet = new UnicodeSet(unicodeSetFilter); diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerTests.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerTests.java index 53ba02f7787f..b07d4e1de162 100644 --- a/plugins/analysis-icu/src/test/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerTests.java +++ b/plugins/analysis-icu/src/test/java/org/elasticsearch/plugin/analysis/icu/IcuAnalyzerTests.java @@ -13,8 +13,6 @@ import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase; import org.elasticsearch.Version; import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.index.IndexSettings; -import org.elasticsearch.test.IndexSettingsModule; import java.io.IOException; @@ -24,13 +22,10 @@ public class IcuAnalyzerTests extends BaseTokenStreamTestCase { public void testMixedAlphabetTokenization() throws IOException { - Settings settings = Settings.builder().put(IndexMetadata.SETTING_VERSION_CREATED, Version.CURRENT).build(); - IndexSettings idxSettings = IndexSettingsModule.newIndexSettings("index", settings); - String input = "안녕은하철도999극장판2.1981년8월8일.일본개봉작1999년재더빙video판"; AnalysisICUPlugin plugin = new AnalysisICUPlugin(); - Analyzer analyzer = plugin.getAnalyzers().get("icu_analyzer").get(idxSettings, null, "icu", settings).get(); + Analyzer analyzer = plugin.getAnalyzers().get("icu_analyzer").get(null, null, "icu", Settings.EMPTY).get(); assertAnalyzesTo( analyzer, input, @@ -40,34 +35,26 @@ public class IcuAnalyzerTests extends BaseTokenStreamTestCase { } public void testMiddleDots() throws IOException { - Settings settings = Settings.builder().put(IndexMetadata.SETTING_VERSION_CREATED, Version.CURRENT).build(); - IndexSettings idxSettings = IndexSettingsModule.newIndexSettings("index", settings); - String input = "경승지·산악·협곡·해협·곶·심연·폭포·호수·급류"; - Analyzer analyzer = new IcuAnalyzerProvider(idxSettings, null, "icu", settings).get(); + Analyzer analyzer = new IcuAnalyzerProvider(null, null, "icu", Settings.EMPTY).get(); assertAnalyzesTo(analyzer, input, new String[] { "경승지", "산악", "협곡", "해협", "곶", "심연", "폭포", "호수", "급류" }); } public void testUnicodeNumericCharacters() throws IOException { - - Settings settings = Settings.builder().put(IndexMetadata.SETTING_VERSION_CREATED, Version.CURRENT).build(); - IndexSettings idxSettings = IndexSettingsModule.newIndexSettings("index", settings); - String input = "① ② ③ ⑴ ⑵ ⑶ ¼ ⅓ ⅜ ¹ ² ³ ₁ ₂ ₃"; - Analyzer analyzer = new IcuAnalyzerProvider(idxSettings, null, "icu", settings).get(); + Analyzer analyzer = new IcuAnalyzerProvider(null, null, "icu", Settings.EMPTY).get(); assertAnalyzesTo(analyzer, input, new String[] { "1", "2", "3", "1", "2", "3", "1/4", "1/3", "3/8", "1", "2", "3", "1", "2", "3" }); } public void testBadSettings() { Settings settings = Settings.builder().put(IndexMetadata.SETTING_VERSION_CREATED, Version.CURRENT).put("mode", "wrong").build(); - IndexSettings idxSettings = IndexSettingsModule.newIndexSettings("index", settings); IllegalArgumentException e = expectThrows( IllegalArgumentException.class, - () -> { new IcuAnalyzerProvider(idxSettings, null, "icu", settings); } + () -> new IcuAnalyzerProvider(null, null, "icu", settings) ); assertThat(e.getMessage(), containsString("Unknown mode [wrong] in analyzer [icu], expected one of [compose, decompose]")); diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/plugin/analysis/kuromoji/KuromojiIterationMarkCharFilterFactory.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/plugin/analysis/kuromoji/KuromojiIterationMarkCharFilterFactory.java index 857590d9716c..54d22ac1b0c8 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/plugin/analysis/kuromoji/KuromojiIterationMarkCharFilterFactory.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/plugin/analysis/kuromoji/KuromojiIterationMarkCharFilterFactory.java @@ -23,7 +23,7 @@ public class KuromojiIterationMarkCharFilterFactory extends AbstractCharFilterFa private final boolean normalizeKana; public KuromojiIterationMarkCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { - super(indexSettings, name); + super(name); normalizeKanji = settings.getAsBoolean("normalize_kanji", JapaneseIterationMarkCharFilter.NORMALIZE_KANJI_DEFAULT); normalizeKana = settings.getAsBoolean("normalize_kana", JapaneseIterationMarkCharFilter.NORMALIZE_KANA_DEFAULT); } diff --git a/server/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java b/server/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java index 68cf86f44180..b3d10557df3d 100644 --- a/server/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java +++ b/server/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java @@ -8,15 +8,11 @@ package org.elasticsearch.index.analysis; -import org.elasticsearch.index.AbstractIndexComponent; -import org.elasticsearch.index.IndexSettings; - -public abstract class AbstractCharFilterFactory extends AbstractIndexComponent implements CharFilterFactory { +public abstract class AbstractCharFilterFactory implements CharFilterFactory { private final String name; - public AbstractCharFilterFactory(IndexSettings indexSettings, String name) { - super(indexSettings); + public AbstractCharFilterFactory(String name) { this.name = name; } diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/TransportAnalyzeActionTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/TransportAnalyzeActionTests.java index 0ee3ce1db914..37e0d99f9144 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/TransportAnalyzeActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/TransportAnalyzeActionTests.java @@ -102,7 +102,7 @@ public class TransportAnalyzeActionTests extends ESTestCase { final String suffix; AppendCharFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { - super(indexSettings, name); + super(name); this.suffix = settings.get("suffix", "bar"); } diff --git a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstLineWithLettersCharFilterFactory.java b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstLineWithLettersCharFilterFactory.java index 0ff158cb2936..5f52150e4d0c 100644 --- a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstLineWithLettersCharFilterFactory.java +++ b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstLineWithLettersCharFilterFactory.java @@ -17,7 +17,7 @@ import java.io.Reader; public class FirstLineWithLettersCharFilterFactory extends AbstractCharFilterFactory { public FirstLineWithLettersCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { - super(indexSettings, name); + super(name); } @Override diff --git a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstNonBlankLineCharFilterFactory.java b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstNonBlankLineCharFilterFactory.java index f003d681ab17..329217976b3b 100644 --- a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstNonBlankLineCharFilterFactory.java +++ b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/categorization/FirstNonBlankLineCharFilterFactory.java @@ -17,7 +17,7 @@ import java.io.Reader; public class FirstNonBlankLineCharFilterFactory extends AbstractCharFilterFactory { public FirstNonBlankLineCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { - super(indexSettings, name); + super(name); } @Override