This is an automated email from the ASF dual-hosted git repository. nightowl888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit 4eeb1aee26e8c93d0eb72e84a4b0c6cb7222c6a8 Author: Shad Storhaug <[email protected]> AuthorDate: Wed Dec 4 03:36:38 2019 +0700 Lucene.Net.Support.SetExtensions: Factored out AddAll in favor of UnionWith, PutAll, or AddRange depending on the collection type --- src/Lucene.Net.Facet/DrillDownQuery.cs | 9 ++-- .../PostingsHighlight/MultiTermHighlighting.cs | 51 ++++++++++------------ .../VectorHighlight/BaseFragmentsBuilder.cs | 2 +- .../VectorHighlight/FieldPhraseList.cs | 4 +- src/Lucene.Net.Queries/CommonTermsQuery.cs | 2 +- src/Lucene.Net.Suggest/Spell/DirectSpellChecker.cs | 4 +- .../Index/ThreadedIndexingAndSearchingTestCase.cs | 6 +-- .../JavaCompatibility/SystemTypesHelpers.cs | 2 +- .../Util/TestRuleSetupAndRestoreClassEnv.cs | 2 +- .../Analysis/Util/TestCharArraySet.cs | 12 ++--- src/Lucene.Net.Tests.Join/TestJoinUtil.cs | 2 +- src/Lucene.Net.Tests/Index/TestNeverDelete.cs | 2 +- src/Lucene.Net.Tests/Index/TestPrefixCodedTerms.cs | 2 +- src/Lucene.Net/Support/SetExtensions.cs | 9 ---- 14 files changed, 47 insertions(+), 62 deletions(-) diff --git a/src/Lucene.Net.Facet/DrillDownQuery.cs b/src/Lucene.Net.Facet/DrillDownQuery.cs index c300c88..27a8cd2 100644 --- a/src/Lucene.Net.Facet/DrillDownQuery.cs +++ b/src/Lucene.Net.Facet/DrillDownQuery.cs @@ -69,7 +69,7 @@ namespace Lucene.Net.Facet internal DrillDownQuery(FacetsConfig config, BooleanQuery query, IDictionary<string, int?> drillDownDims) { this.query = (BooleanQuery)query.Clone(); - this.drillDownDims.AddAll(drillDownDims); + this.drillDownDims.PutAll(drillDownDims); this.config = config; } @@ -86,7 +86,7 @@ namespace Lucene.Net.Facet throw new System.ArgumentException("cannot apply filter unless baseQuery isn't null; pass ConstantScoreQuery instead"); } Debug.Assert(clauses.Length == 1 + other.drillDownDims.Count, clauses.Length + " vs " + (1 + other.drillDownDims.Count)); - drillDownDims.AddAll(other.drillDownDims); + drillDownDims.PutAll(other.drillDownDims); query.Add(new FilteredQuery(clauses[0].Query, filter), Occur.MUST); for (int i = 1; i < clauses.Length; i++) { @@ -109,7 +109,7 @@ namespace Lucene.Net.Facet { query.Add(clause, Occur.MUST); } - this.drillDownDims.AddAll(drillDownDims); + this.drillDownDims.PutAll(drillDownDims); this.config = config; } @@ -147,8 +147,7 @@ namespace Lucene.Net.Facet private void Merge(string dim, string[] path) { int index = 0; - int? idx; - if (drillDownDims.TryGetValue(dim, out idx) && idx.HasValue) + if (drillDownDims.TryGetValue(dim, out int? idx) && idx.HasValue) { index = idx.Value; } diff --git a/src/Lucene.Net.Highlighter/PostingsHighlight/MultiTermHighlighting.cs b/src/Lucene.Net.Highlighter/PostingsHighlight/MultiTermHighlighting.cs index 4d0c46a..ea7eed9 100644 --- a/src/Lucene.Net.Highlighter/PostingsHighlight/MultiTermHighlighting.cs +++ b/src/Lucene.Net.Highlighter/PostingsHighlight/MultiTermHighlighting.cs @@ -41,72 +41,68 @@ namespace Lucene.Net.Search.PostingsHighlight internal static CharacterRunAutomaton[] ExtractAutomata(Query query, string field) { List<CharacterRunAutomaton> list = new List<CharacterRunAutomaton>(); - if (query is BooleanQuery) + if (query is BooleanQuery booleanQuery) { - BooleanClause[] clauses = ((BooleanQuery)query).GetClauses(); - foreach (BooleanClause clause in clauses) + foreach (BooleanClause clause in booleanQuery.GetClauses()) { if (!clause.IsProhibited) { - list.AddAll(Arrays.AsList(ExtractAutomata(clause.Query, field))); + list.AddRange(ExtractAutomata(clause.Query, field)); } } } - else if (query is DisjunctionMaxQuery) + else if (query is DisjunctionMaxQuery disjunctionMaxQuery) { - foreach (Query sub in ((DisjunctionMaxQuery)query).Disjuncts) + foreach (Query sub in disjunctionMaxQuery.Disjuncts) { - list.AddAll(Arrays.AsList(ExtractAutomata(sub, field))); + list.AddRange(ExtractAutomata(sub, field)); } } - else if (query is SpanOrQuery) + else if (query is SpanOrQuery spanOrQuery) { - foreach (Query sub in ((SpanOrQuery)query).GetClauses()) + foreach (Query sub in spanOrQuery.GetClauses()) { - list.AddAll(Arrays.AsList(ExtractAutomata(sub, field))); + list.AddRange(ExtractAutomata(sub, field)); } } - else if (query is SpanNearQuery) + else if (query is SpanNearQuery spanNearQuery) { - foreach (Query sub in ((SpanNearQuery)query).GetClauses()) + foreach (Query sub in spanNearQuery.GetClauses()) { - list.AddAll(Arrays.AsList(ExtractAutomata(sub, field))); + list.AddRange(ExtractAutomata(sub, field)); } } - else if (query is SpanNotQuery) + else if (query is SpanNotQuery spanNotQuery) { - list.AddAll(Arrays.AsList(ExtractAutomata(((SpanNotQuery)query).Include, field))); + list.AddRange(ExtractAutomata(spanNotQuery.Include, field)); } - else if (query is SpanPositionCheckQuery) + else if (query is SpanPositionCheckQuery spanPositionCheckQuery) { - list.AddAll(Arrays.AsList(ExtractAutomata(((SpanPositionCheckQuery)query).Match, field))); + list.AddRange(ExtractAutomata(spanPositionCheckQuery.Match, field)); } - else if (query is ISpanMultiTermQueryWrapper) + else if (query is ISpanMultiTermQueryWrapper spanMultiTermQueryWrapper) { - list.AddAll(Arrays.AsList(ExtractAutomata(((ISpanMultiTermQueryWrapper)query).WrappedQuery, field))); + list.AddRange(ExtractAutomata(spanMultiTermQueryWrapper.WrappedQuery, field)); } - else if (query is AutomatonQuery) + else if (query is AutomatonQuery aq) { - AutomatonQuery aq = (AutomatonQuery)query; if (aq.Field.Equals(field, StringComparison.Ordinal)) { list.Add(new CharacterRunAutomatonToStringAnonymousHelper(aq.Automaton, () => aq.ToString())); } } - else if (query is PrefixQuery) + else if (query is PrefixQuery pq) { - PrefixQuery pq = (PrefixQuery)query; Term prefix = pq.Prefix; if (prefix.Field.Equals(field, StringComparison.Ordinal)) { list.Add(new CharacterRunAutomatonToStringAnonymousHelper( - BasicOperations.Concatenate(BasicAutomata.MakeString(prefix.Text()), BasicAutomata.MakeAnyString()), + BasicOperations.Concatenate(BasicAutomata.MakeString(prefix.Text()), BasicAutomata.MakeAnyString()), () => pq.ToString())); } } - else if (query is FuzzyQuery) + else if (query is FuzzyQuery fq) { - FuzzyQuery fq = (FuzzyQuery)query; if (fq.Field.Equals(field, StringComparison.Ordinal)) { string utf16 = fq.Term.Text(); @@ -128,9 +124,8 @@ namespace Lucene.Net.Search.PostingsHighlight list.Add(new CharacterRunAutomatonToStringAnonymousHelper(automaton, () => fq.ToString())); } } - else if (query is TermRangeQuery) + else if (query is TermRangeQuery tq) { - TermRangeQuery tq = (TermRangeQuery)query; if (tq.Field.Equals(field, StringComparison.Ordinal)) { // this is *not* an automaton, but its very simple diff --git a/src/Lucene.Net.Highlighter/VectorHighlight/BaseFragmentsBuilder.cs b/src/Lucene.Net.Highlighter/VectorHighlight/BaseFragmentsBuilder.cs index 29adb50..e56f389 100644 --- a/src/Lucene.Net.Highlighter/VectorHighlight/BaseFragmentsBuilder.cs +++ b/src/Lucene.Net.Highlighter/VectorHighlight/BaseFragmentsBuilder.cs @@ -348,7 +348,7 @@ namespace Lucene.Net.Search.VectorHighlight List<WeightedFragInfo> result = new List<WeightedFragInfo>(); foreach (List<WeightedFragInfo> weightedFragInfos in fieldNameToFragInfos.Values) { - result.AddAll(weightedFragInfos); + result.AddRange(weightedFragInfos); } CollectionUtil.TimSort(result, new DiscreteMultiValueHighlightingComparerAnonymousHelper()); diff --git a/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs b/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs index 93a2e3a..f7818b1 100644 --- a/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs +++ b/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs @@ -220,7 +220,7 @@ namespace Lucene.Net.Search.VectorHighlight { // WeightedPhraseInfo.addIfNoOverlap() dumps the second part of, for example, hyphenated words (social-economics). // The result is that all informations in TermInfo are lost and not available for further operations. - existWpi.TermsInfos.AddAll(wpi.TermsInfos); + existWpi.TermsInfos.AddRange(wpi.TermsInfos); return; } } @@ -343,7 +343,7 @@ namespace Lucene.Net.Search.VectorHighlight { WeightedPhraseInfo info = toMergeItr.Current; boost += info.boost; - termsInfos.AddAll(info.termsInfos); + termsInfos.AddRange(info.termsInfos); allToffs[index++] = info.termsOffsets.GetEnumerator(); } diff --git a/src/Lucene.Net.Queries/CommonTermsQuery.cs b/src/Lucene.Net.Queries/CommonTermsQuery.cs index 701dbd6..6b5e070 100644 --- a/src/Lucene.Net.Queries/CommonTermsQuery.cs +++ b/src/Lucene.Net.Queries/CommonTermsQuery.cs @@ -356,7 +356,7 @@ namespace Lucene.Net.Queries public override void ExtractTerms(ISet<Term> terms) { - terms.AddAll(this.m_terms); + terms.UnionWith(this.m_terms); } public override string ToString(string field) diff --git a/src/Lucene.Net.Suggest/Spell/DirectSpellChecker.cs b/src/Lucene.Net.Suggest/Spell/DirectSpellChecker.cs index 0ade7dc..910c1ad 100644 --- a/src/Lucene.Net.Suggest/Spell/DirectSpellChecker.cs +++ b/src/Lucene.Net.Suggest/Spell/DirectSpellChecker.cs @@ -428,8 +428,8 @@ namespace Lucene.Net.Search.Spell if (maxEdits > 1 && terms.Count() < inspections) { var moreTerms = new HashSet<ScoreTerm>(); - moreTerms.AddAll(terms); - moreTerms.AddAll(SuggestSimilar(term, inspections, ir, docfreq, maxEdits, accuracy, spare)); + moreTerms.UnionWith(terms); + moreTerms.UnionWith(SuggestSimilar(term, inspections, ir, docfreq, maxEdits, accuracy, spare)); terms = moreTerms; } diff --git a/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs b/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs index 649de0d..95aaafb 100644 --- a/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs +++ b/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs @@ -276,7 +276,7 @@ namespace Lucene.Net.Index if (delSubDocs != null) { delSubDocs.Deleted = true; - delIDs.AddAll(delSubDocs.SubIDs); + delIDs.UnionWith(delSubDocs.SubIDs); outerInstance.m_delCount.AddAndGet(delSubDocs.SubIDs.Count); if (VERBOSE) { @@ -366,7 +366,7 @@ namespace Lucene.Net.Index { Console.WriteLine(Thread.CurrentThread.Name + ": tot " + count + " deletes"); } - delIDs.AddAll(toDeleteIDs); + delIDs.UnionWith(toDeleteIDs); toDeleteIDs.Clear(); foreach (SubDocs subDocs in toDeleteSubDocs) @@ -379,7 +379,7 @@ namespace Lucene.Net.Index { Console.WriteLine(Thread.CurrentThread.Name + ": del subs: " + subDocs.SubIDs + " packID=" + subDocs.PackID); } - delIDs.AddAll(subDocs.SubIDs); + delIDs.UnionWith(subDocs.SubIDs); outerInstance.m_delCount.AddAndGet(subDocs.SubIDs.Count); } toDeleteSubDocs.Clear(); diff --git a/src/Lucene.Net.TestFramework/Support/JavaCompatibility/SystemTypesHelpers.cs b/src/Lucene.Net.TestFramework/Support/JavaCompatibility/SystemTypesHelpers.cs index da17171..1d3e561 100644 --- a/src/Lucene.Net.TestFramework/Support/JavaCompatibility/SystemTypesHelpers.cs +++ b/src/Lucene.Net.TestFramework/Support/JavaCompatibility/SystemTypesHelpers.cs @@ -231,7 +231,7 @@ namespace Lucene.Net public static void addAll<T>(this ISet<T> s, IEnumerable<T> other) { - s.AddAll(other); + s.UnionWith(other); } public static bool contains<T>(this ISet<T> s, T item) diff --git a/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs b/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs index 68ef766..cd0695a 100644 --- a/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs +++ b/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs @@ -163,7 +163,7 @@ namespace Lucene.Net.Util var suppressCodecsAttribute = targetClass.GetTypeInfo().GetCustomAttribute<LuceneTestCase.SuppressCodecsAttribute>(); if (suppressCodecsAttribute != null) { - avoidCodecs.AddAll(suppressCodecsAttribute.Value); + avoidCodecs.UnionWith(suppressCodecsAttribute.Value); } // set back to default diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestCharArraySet.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestCharArraySet.cs index df04154..428f9c4 100644 --- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestCharArraySet.cs +++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestCharArraySet.cs @@ -54,7 +54,7 @@ namespace Lucene.Net.Analysis.Util string[] words = new string[] { "Hello", "World", "this", "is", "a", "test" }; char[] findme = "xthisy".ToCharArray(); CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 10, true); - set.AddAll(words); + set.UnionWith(words); assertTrue(set.Contains(findme, 1, 4)); assertTrue(set.Contains(new string(findme, 1, 4))); @@ -86,7 +86,7 @@ namespace Lucene.Net.Analysis.Util public virtual void TestClear() { var set = new CharArraySet(TEST_VERSION_CURRENT, 10, true); - set.AddAll(TEST_STOP_WORDS); + set.UnionWith(TEST_STOP_WORDS); assertEquals("Not all words added", TEST_STOP_WORDS.Length, set.size()); set.Clear(); assertEquals("not empty", 0, set.size()); @@ -94,7 +94,7 @@ namespace Lucene.Net.Analysis.Util { assertFalse(set.Contains(TEST_STOP_WORDS[i])); } - set.AddAll(TEST_STOP_WORDS); + set.UnionWith(TEST_STOP_WORDS); assertEquals("Not all words added", TEST_STOP_WORDS.Length, set.size()); for (var i = 0; i < TEST_STOP_WORDS.Length; i++) { @@ -106,7 +106,7 @@ namespace Lucene.Net.Analysis.Util public virtual void TestModifyOnUnmodifiable() { CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 10, true); - set.AddAll(TEST_STOP_WORDS); + set.UnionWith(TEST_STOP_WORDS); int size = set.size(); set = CharArraySet.UnmodifiableSet(set); assertEquals("Set size changed due to unmodifiableSet call", size, set.size()); @@ -249,7 +249,7 @@ namespace Lucene.Net.Analysis.Util public virtual void TestUnmodifiableSet() { var set = new CharArraySet(TEST_VERSION_CURRENT, 10, true); - set.AddAll(TEST_STOP_WORDS); + set.UnionWith(TEST_STOP_WORDS); set.Add(Convert.ToInt32(1)); int size = set.size(); set = CharArraySet.UnmodifiableSet(set); @@ -662,7 +662,7 @@ namespace Lucene.Net.Analysis.Util values = new List<string> { "sally", "seashells", "by", "the", "sea", "shore" }; charArraySet.Clear(); - charArraySet.AddAll(values); + charArraySet.UnionWith(values); assertFalse(charArraySet.GetHashCode().Equals(charArraySetCopy.GetHashCode())); assertFalse(charArraySet.Equals(charArraySetCopy)); diff --git a/src/Lucene.Net.Tests.Join/TestJoinUtil.cs b/src/Lucene.Net.Tests.Join/TestJoinUtil.cs index d6916bb..76d7940 100644 --- a/src/Lucene.Net.Tests.Join/TestJoinUtil.cs +++ b/src/Lucene.Net.Tests.Join/TestJoinUtil.cs @@ -715,7 +715,7 @@ namespace Lucene.Net.Tests.Join TermsEnum termsEnum = null; SortedSet<BytesRef> joinValues = new SortedSet<BytesRef>(BytesRef.UTF8SortedAsUnicodeComparer); - joinValues.AddAll(joinValueToJoinScores.Keys); + joinValues.UnionWith(joinValueToJoinScores.Keys); foreach (BytesRef joinValue in joinValues) { termsEnum = terms.GetIterator(termsEnum); diff --git a/src/Lucene.Net.Tests/Index/TestNeverDelete.cs b/src/Lucene.Net.Tests/Index/TestNeverDelete.cs index 67e1655..1ae2b97 100644 --- a/src/Lucene.Net.Tests/Index/TestNeverDelete.cs +++ b/src/Lucene.Net.Tests/Index/TestNeverDelete.cs @@ -78,7 +78,7 @@ namespace Lucene.Net.Index { Console.WriteLine("TEST: check files: " + ic.FileNames); } - allFiles.AddAll(ic.FileNames); + allFiles.UnionWith(ic.FileNames); // Make sure no old files were removed foreach (string fileName in allFiles) { diff --git a/src/Lucene.Net.Tests/Index/TestPrefixCodedTerms.cs b/src/Lucene.Net.Tests/Index/TestPrefixCodedTerms.cs index f403ed7..18aa0b5 100644 --- a/src/Lucene.Net.Tests/Index/TestPrefixCodedTerms.cs +++ b/src/Lucene.Net.Tests/Index/TestPrefixCodedTerms.cs @@ -113,7 +113,7 @@ namespace Lucene.Net.Index Term term = new Term(TestUtil.RandomUnicodeString(Random, 2), TestUtil.RandomUnicodeString(Random, 4)); terms.Add(term); } - superSet.AddAll(terms); + superSet.UnionWith(terms); PrefixCodedTerms.Builder b = new PrefixCodedTerms.Builder(); foreach (Term @ref in terms) diff --git a/src/Lucene.Net/Support/SetExtensions.cs b/src/Lucene.Net/Support/SetExtensions.cs index 5e2f3c6..50e9d31 100644 --- a/src/Lucene.Net/Support/SetExtensions.cs +++ b/src/Lucene.Net/Support/SetExtensions.cs @@ -30,14 +30,5 @@ namespace Lucene.Net.Support theSet.Remove(elt); } } - - [DebuggerStepThrough] - public static void AddAll<T>(this ICollection<T> set, IEnumerable<T> itemsToAdd) - { - foreach (var item in itemsToAdd) - { - set.Add(item); - } - } } } \ No newline at end of file
