mirror of https://github.com/apache/lucene.git
Make `static final Set` constants immutable (#13087)
This commit is contained in:
parent
390c109e67
commit
7b01f2f516
|
@ -195,6 +195,9 @@ Improvements
|
||||||
|
|
||||||
* GITHUB#13041: TokenizedPhraseQueryNode code cleanup (Dmitry Cherniachenko)
|
* GITHUB#13041: TokenizedPhraseQueryNode code cleanup (Dmitry Cherniachenko)
|
||||||
|
|
||||||
|
* GITHUB#13087: Changed `static final Set` constants to be immutable. Among others it affected
|
||||||
|
ScandinavianNormalizer.ALL_FOLDINGS set with public access. (Dmitry Cherniachenko)
|
||||||
|
|
||||||
Optimizations
|
Optimizations
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
*/
|
*/
|
||||||
package org.apache.lucene.analysis.miscellaneous;
|
package org.apache.lucene.analysis.miscellaneous;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.apache.lucene.analysis.util.StemmerUtil;
|
import org.apache.lucene.analysis.util.StemmerUtil;
|
||||||
|
@ -51,7 +52,8 @@ public final class ScandinavianNormalizer {
|
||||||
|
|
||||||
private final Set<Foldings> foldings;
|
private final Set<Foldings> foldings;
|
||||||
|
|
||||||
public static final Set<Foldings> ALL_FOLDINGS = EnumSet.allOf(Foldings.class);
|
public static final Set<Foldings> ALL_FOLDINGS =
|
||||||
|
Collections.unmodifiableSet(EnumSet.allOf(Foldings.class));
|
||||||
|
|
||||||
static final char AA = '\u00C5'; // Å
|
static final char AA = '\u00C5'; // Å
|
||||||
static final char aa = '\u00E5'; // å
|
static final char aa = '\u00E5'; // å
|
||||||
|
|
|
@ -20,9 +20,7 @@ import java.io.IOException;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.apache.lucene.analysis.AbstractAnalysisFactory;
|
import org.apache.lucene.analysis.AbstractAnalysisFactory;
|
||||||
|
@ -55,10 +53,8 @@ public class TestFactories extends BaseTokenStreamTestCase {
|
||||||
|
|
||||||
/** Factories that are excluded from testing it with random data */
|
/** Factories that are excluded from testing it with random data */
|
||||||
private static final Set<Class<? extends AbstractAnalysisFactory>> EXCLUDE_FACTORIES_RANDOM_DATA =
|
private static final Set<Class<? extends AbstractAnalysisFactory>> EXCLUDE_FACTORIES_RANDOM_DATA =
|
||||||
new HashSet<>(
|
Set.of(
|
||||||
Arrays.asList(
|
DelimitedTermFrequencyTokenFilterFactory.class, DelimitedBoostTokenFilterFactory.class);
|
||||||
DelimitedTermFrequencyTokenFilterFactory.class,
|
|
||||||
DelimitedBoostTokenFilterFactory.class));
|
|
||||||
|
|
||||||
public void test() throws IOException {
|
public void test() throws IOException {
|
||||||
for (String tokenizer : TokenizerFactory.availableTokenizers()) {
|
for (String tokenizer : TokenizerFactory.availableTokenizers()) {
|
||||||
|
|
|
@ -20,9 +20,7 @@ import java.io.IOException;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.apache.lucene.analysis.AbstractAnalysisFactory;
|
import org.apache.lucene.analysis.AbstractAnalysisFactory;
|
||||||
|
@ -53,10 +51,8 @@ public class TestFactories extends BaseTokenStreamTestCase {
|
||||||
|
|
||||||
/** Factories that are excluded from testing it with random data */
|
/** Factories that are excluded from testing it with random data */
|
||||||
private static final Set<Class<? extends AbstractAnalysisFactory>> EXCLUDE_FACTORIES_RANDOM_DATA =
|
private static final Set<Class<? extends AbstractAnalysisFactory>> EXCLUDE_FACTORIES_RANDOM_DATA =
|
||||||
new HashSet<>(
|
Set.of(
|
||||||
Arrays.asList(
|
DelimitedTermFrequencyTokenFilterFactory.class, DelimitedBoostTokenFilterFactory.class);
|
||||||
DelimitedTermFrequencyTokenFilterFactory.class,
|
|
||||||
DelimitedBoostTokenFilterFactory.class));
|
|
||||||
|
|
||||||
public void test() throws IOException {
|
public void test() throws IOException {
|
||||||
for (String tokenizer : TokenizerFactory.availableTokenizers()) {
|
for (String tokenizer : TokenizerFactory.availableTokenizers()) {
|
||||||
|
|
|
@ -29,6 +29,7 @@ import java.nio.file.Paths;
|
||||||
import java.nio.file.StandardOpenOption;
|
import java.nio.file.StandardOpenOption;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
|
@ -98,7 +99,7 @@ public abstract class BackwardsCompatibilityTestBase extends LuceneTestCase {
|
||||||
// make sure we never miss a version.
|
// make sure we never miss a version.
|
||||||
assertTrue("Version: " + version + " missing", binaryVersions.remove(version));
|
assertTrue("Version: " + version + " missing", binaryVersions.remove(version));
|
||||||
}
|
}
|
||||||
BINARY_SUPPORTED_VERSIONS = binaryVersions;
|
BINARY_SUPPORTED_VERSIONS = Collections.unmodifiableSet(binaryVersions);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package org.apache.lucene.util;
|
package org.apache.lucene.util;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -25,7 +26,8 @@ import org.apache.lucene.tests.util.LuceneTestCase;
|
||||||
|
|
||||||
public class TestFilterIterator extends LuceneTestCase {
|
public class TestFilterIterator extends LuceneTestCase {
|
||||||
|
|
||||||
private static final Set<String> set = new TreeSet<>(Arrays.asList("a", "b", "c"));
|
private static final Set<String> set =
|
||||||
|
Collections.unmodifiableSet(new TreeSet<>(Arrays.asList("a", "b", "c")));
|
||||||
|
|
||||||
private static void assertNoMore(Iterator<?> it) {
|
private static void assertNoMore(Iterator<?> it) {
|
||||||
assertFalse(it.hasNext());
|
assertFalse(it.hasNext());
|
||||||
|
|
Loading…
Reference in New Issue