Index: . =================================================================== --- . (revision 1365483) +++ . (working copy) Property changes on: . ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510:r1364862-1365496 Index: lucene =================================================================== --- lucene (revision 1365483) +++ lucene (working copy) Property changes on: lucene ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene:r1364862-1365496 Index: lucene/analysis =================================================================== --- lucene/analysis (revision 1365483) +++ lucene/analysis (working copy) Property changes on: lucene/analysis ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/analysis:r1364862-1365496 Index: lucene/analysis/common =================================================================== --- lucene/analysis/common (revision 1365483) +++ lucene/analysis/common (working copy) Property changes on: lucene/analysis/common ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/analysis/common:r1364862-1365496 Index: lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java =================================================================== --- lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java (revision 1365483) +++ lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java (working copy) @@ -235,7 +235,7 @@ private static Constructor castConstructor(Class instanceClazz, Constructor ctor) { return (Constructor) ctor; } - private static void getClassesForPackage(String pckgname, List> classes) throws Exception { + static void getClassesForPackage(String pckgname, List> classes) throws Exception { final ClassLoader cld = TestRandomChains.class.getClassLoader(); final String path = pckgname.replace('.', '/'); final Enumeration resources = cld.getResources(path); Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java (revision 1365483) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.java (working copy) @@ -57,6 +57,9 @@ */ public DictionaryCompoundWordTokenFilter(Version matchVersion, TokenStream input, CharArraySet dictionary) { super(matchVersion, input, dictionary); + if (dictionary == null) { + throw new IllegalArgumentException("dictionary cannot be null"); + } } /** @@ -83,6 +86,9 @@ public DictionaryCompoundWordTokenFilter(Version matchVersion, TokenStream input, CharArraySet dictionary, int minWordSize, int minSubwordSize, int maxSubwordSize, boolean onlyLongestMatch) { super(matchVersion, input, dictionary, minWordSize, minSubwordSize, maxSubwordSize, onlyLongestMatch); + if (dictionary == null) { + throw new IllegalArgumentException("dictionary cannot be null"); + } } @Override Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java (revision 1365483) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/NumericPayloadTokenFilter.java (working copy) @@ -40,6 +40,9 @@ public NumericPayloadTokenFilter(TokenStream input, float payload, String typeMatch) { super(input); + if (typeMatch == null) { + throw new IllegalArgumentException("typeMatch cannot be null"); + } //Need to encode the payload thePayload = new BytesRef(PayloadHelper.encodeFloat(payload)); this.typeMatch = typeMatch; Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java (revision 1365483) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/util/CharFilterFactory.java (working copy) @@ -18,6 +18,7 @@ */ import java.io.Reader; +import java.util.Set; import org.apache.lucene.analysis.CharFilter; @@ -27,5 +28,32 @@ */ public abstract class CharFilterFactory extends AbstractAnalysisFactory { - public abstract CharFilter create(Reader input); + private static final AnalysisSPILoader loader = + getSPILoader(Thread.currentThread().getContextClassLoader()); + + /** + * Used by e.g. Apache Solr to get a correctly configured instance + * of {@link AnalysisSPILoader} from Solr's classpath. + * @lucene.internal + */ + public static AnalysisSPILoader getSPILoader(ClassLoader classloader) { + return new AnalysisSPILoader(CharFilterFactory.class, classloader); + } + + /** looks up a charfilter by name from context classpath */ + public static CharFilterFactory forName(String name) { + return loader.newInstance(name); + } + + /** looks up a charfilter class by name from context classpath */ + public static Class lookupClass(String name) { + return loader.lookupClass(name); + } + + /** returns a list of all available charfilter names */ + public static Set availableCharFilters() { + return loader.availableServices(); + } + + public abstract Reader create(Reader input); } Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java (revision 1365483) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenizerFactory.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.Tokenizer; import java.io.Reader; +import java.util.Set; /** * Abstract parent class for analysis factories that create {@link Tokenizer} @@ -27,6 +28,33 @@ */ public abstract class TokenizerFactory extends AbstractAnalysisFactory { + private static final AnalysisSPILoader loader = + getSPILoader(Thread.currentThread().getContextClassLoader()); + + /** + * Used by e.g. Apache Solr to get a correctly configured instance + * of {@link AnalysisSPILoader} from Solr's classpath. + * @lucene.internal + */ + public static AnalysisSPILoader getSPILoader(ClassLoader classloader) { + return new AnalysisSPILoader(TokenizerFactory.class, classloader); + } + + /** looks up a tokenizer by name from context classpath */ + public static TokenizerFactory forName(String name) { + return loader.newInstance(name); + } + + /** looks up a tokenizer class by name from context classpath */ + public static Class lookupClass(String name) { + return loader.lookupClass(name); + } + + /** returns a list of all available tokenizer names from context classpath */ + public static Set availableTokenizers() { + return loader.availableServices(); + } + /** Creates a TokenStream of the specified input */ public abstract Tokenizer create(Reader input); } Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java (revision 1365483) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/util/TokenFilterFactory.java (working copy) @@ -17,6 +17,8 @@ * limitations under the License. */ +import java.util.Set; + import org.apache.lucene.analysis.TokenStream; /** @@ -25,6 +27,34 @@ */ public abstract class TokenFilterFactory extends AbstractAnalysisFactory { + private static final AnalysisSPILoader loader = + getSPILoader(Thread.currentThread().getContextClassLoader()); + + /** + * Used by e.g. Apache Solr to get a correctly configured instance + * of {@link AnalysisSPILoader} from Solr's classpath. + * @lucene.internal + */ + public static AnalysisSPILoader getSPILoader(ClassLoader classloader) { + return new AnalysisSPILoader(TokenFilterFactory.class, + new String[] { "TokenFilterFactory", "FilterFactory" }, classloader); + } + + /** looks up a tokenfilter by name from context classpath */ + public static TokenFilterFactory forName(String name) { + return loader.newInstance(name); + } + + /** looks up a tokenfilter class by name from context classpath */ + public static Class lookupClass(String name) { + return loader.lookupClass(name); + } + + /** returns a list of all available tokenfilter names from context classpath */ + public static Set availableTokenFilters() { + return loader.availableServices(); + } + /** Transform the specified input TokenStream */ public abstract TokenStream create(TokenStream input); } Index: lucene/misc =================================================================== --- lucene/misc (revision 1365483) +++ lucene/misc (working copy) Property changes on: lucene/misc ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/misc:r1364862-1365496 Index: lucene/spatial =================================================================== --- lucene/spatial (revision 1365483) +++ lucene/spatial (working copy) Property changes on: lucene/spatial ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/spatial:r1364862-1365496 Index: lucene/test-framework =================================================================== --- lucene/test-framework (revision 1365483) +++ lucene/test-framework (working copy) Property changes on: lucene/test-framework ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/test-framework:r1364862-1365496 Index: lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java =================================================================== --- lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java (revision 1365483) +++ lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java (working copy) @@ -87,33 +87,6 @@ restoreProperties.put("solr.solr.home", System.getProperty("solr.solr.home")); restoreProperties.put("solr.data.dir", System.getProperty("solr.data.dir")); - // enable the Lucene 3.x PreflexRW codec explicitly, to work around bugs in IBM J9 / Harmony ServiceLoader: - try { - final java.lang.reflect.Field spiLoaderField = Codec.class.getDeclaredField("loader"); - spiLoaderField.setAccessible(true); - final Object spiLoader = spiLoaderField.get(null); - final java.lang.reflect.Field modifiableServicesField = NamedSPILoader.class.getDeclaredField("modifiableServices"); - modifiableServicesField.setAccessible(true); - /* note: re-enable this if we make a Lucene4x impersonator - @SuppressWarnings({"unchecked","rawtypes"}) final Map serviceMap = - (Map) modifiableServicesField.get(spiLoader); - if (!(Codec.forName("Lucene3x") instanceof PreFlexRWCodec)) { - if (Constants.JAVA_VENDOR.startsWith("IBM")) { - // definitely a buggy version - System.err.println("ERROR: Your VM's java.util.ServiceLoader implementation is buggy"+ - " and does not respect classpath order, please report this to the vendor."); - } else { - // could just be a classpath issue - System.err.println("ERROR: fix your classpath to have tests-framework.jar before lucene-core.jar!"+ - " If you have already done this, then your VM's java.util.ServiceLoader implementation is buggy"+ - " and does not respect classpath order, please report this to the vendor."); - } - serviceMap.put("Lucene3x", new PreFlexRWCodec()); - } */ - } catch (Exception e) { - throw new RuntimeException("Cannot access internals of Codec and NamedSPILoader classes", e); - } - // if verbose: print some debugging stuff about which codecs are loaded. if (VERBOSE) { Set codecs = Codec.availableCodecs(); Index: lucene/CHANGES.txt =================================================================== --- lucene/CHANGES.txt (revision 1365483) +++ lucene/CHANGES.txt (working copy) Property changes on: lucene/CHANGES.txt ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/CHANGES.txt:r1364862-1365496 Index: lucene/core =================================================================== --- lucene/core (revision 1365483) +++ lucene/core (working copy) Property changes on: lucene/core ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/lucene/core:r1364862-1365496 Index: lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java =================================================================== --- lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java (revision 1365483) +++ lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java (working copy) @@ -22,7 +22,7 @@ import java.util.Map; import java.util.LinkedHashMap; import java.util.Set; -import java.util.ServiceLoader; +import java.util.ServiceConfigurationError; /** * Helper class for loading named SPIs from classpath (e.g. Codec, PostingsFormat). @@ -32,64 +32,53 @@ public final class NamedSPILoader implements Iterable { private final Map services; - - /** This field is a hack for LuceneTestCase to get access - * to the modifiable map (to work around bugs in IBM J9) */ - @SuppressWarnings("unused") - @Deprecated - // Hackidy-Häck-Hack for bugs in IBM J9 ServiceLoader - private final Map modifiableServices; - private final Class clazz; public NamedSPILoader(Class clazz) { this.clazz = clazz; - final ServiceLoader loader = ServiceLoader.load(clazz); + final SPIClassIterator loader = SPIClassIterator.get(clazz); final LinkedHashMap services = new LinkedHashMap(); - for (final S service : loader) { - final String name = service.getName(); - // only add the first one for each name, later services will be ignored - // this allows to place services before others in classpath to make - // them used instead of others - if (!services.containsKey(name)) { - assert checkServiceName(name); - services.put(name, service); + while (loader.hasNext()) { + final Class c = loader.next(); + try { + final S service = c.newInstance(); + final String name = service.getName(); + // only add the first one for each name, later services will be ignored + // this allows to place services before others in classpath to make + // them used instead of others + if (!services.containsKey(name)) { + checkServiceName(name); + services.put(name, service); + } + } catch (Exception e) { + throw new ServiceConfigurationError("Cannot instantiate SPI class: " + c.getName(), e); } } - this.modifiableServices = services; // hack, remove when IBM J9 is fixed! this.services = Collections.unmodifiableMap(services); } /** * Validates that a service name meets the requirements of {@link NamedSPI} */ - public static boolean checkServiceName(String name) { + public static void checkServiceName(String name) { // based on harmony charset.java if (name.length() >= 128) { throw new IllegalArgumentException("Illegal service name: '" + name + "' is too long (must be < 128 chars)."); } - for (int i = 0; i < name.length(); i++) { + for (int i = 0, len = name.length(); i < len; i++) { char c = name.charAt(i); - if (!isLetter(c) && !isDigit(c)) { + if (!isLetterOrDigit(c)) { throw new IllegalArgumentException("Illegal service name: '" + name + "' must be simple ascii alphanumeric."); } } - return true; } - /* - * Checks whether a character is a letter (ascii) which are defined in the spec. + /** + * Checks whether a character is a letter or digit (ascii) which are defined in the spec. */ - private static boolean isLetter(char c) { - return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'); + private static boolean isLetterOrDigit(char c) { + return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9'); } - - /* - * Checks whether a character is a digit (ascii) which are defined in the spec. - */ - private static boolean isDigit(char c) { - return ('0' <= c && c <= '9'); - } public S lookup(String name) { final S service = services.get(name); Index: dev-tools =================================================================== --- dev-tools (revision 1365483) +++ dev-tools (working copy) Property changes on: dev-tools ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/dev-tools:r1364862-1365496 Index: dev-tools/eclipse/dot.classpath =================================================================== --- dev-tools/eclipse/dot.classpath (revision 1365483) +++ dev-tools/eclipse/dot.classpath (working copy) @@ -17,25 +17,28 @@ - + - + - + + - + - + + + Index: solr =================================================================== --- solr (revision 1365483) +++ solr (working copy) Property changes on: solr ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/solr:r1364862-1365496 Index: solr/example =================================================================== --- solr/example (revision 1365483) +++ solr/example (working copy) Property changes on: solr/example ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/solr/example:r1364862-1365496 Index: solr/build.xml =================================================================== --- solr/build.xml (revision 1365483) +++ solr/build.xml (working copy) Property changes on: solr/build.xml ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/solr/build.xml:r1364862-1365496 Index: solr/CHANGES.txt =================================================================== --- solr/CHANGES.txt (revision 1365483) +++ solr/CHANGES.txt (working copy) Property changes on: solr/CHANGES.txt ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/solr/CHANGES.txt:r1364862-1365496 Index: solr/core =================================================================== --- solr/core (revision 1365483) +++ solr/core (working copy) Property changes on: solr/core ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/solr/core:r1364862-1365496 Index: solr/core/src/test/org/apache/solr/analysis/TestGermanLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestReverseStringFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPatternTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestMultiWordSynonyms.java =================================================================== --- solr/core/src/test/org/apache/solr/analysis/TestMultiWordSynonyms.java (revision 1365483) +++ solr/core/src/test/org/apache/solr/analysis/TestMultiWordSynonyms.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.BaseTokenStreamTestCase; import org.apache.lucene.analysis.MockTokenizer; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.synonym.SynonymFilterFactory; import org.apache.lucene.analysis.util.ResourceLoader; import java.io.ByteArrayInputStream; Index: solr/core/src/test/org/apache/solr/analysis/TestPatternReplaceFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestWordDelimiterFilterFactory.java =================================================================== --- solr/core/src/test/org/apache/solr/analysis/TestWordDelimiterFilterFactory.java (revision 1365483) +++ solr/core/src/test/org/apache/solr/analysis/TestWordDelimiterFilterFactory.java (working copy) @@ -1,3 +1,5 @@ +package org.apache.solr.analysis; + /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -15,8 +17,6 @@ * limitations under the License. */ -package org.apache.solr.analysis; - import java.io.StringReader; import java.util.HashMap; import java.util.Map; @@ -25,6 +25,7 @@ import org.apache.lucene.analysis.MockTokenizer; import org.apache.lucene.analysis.TokenStream; import org.apache.solr.SolrTestCaseJ4; +import org.apache.lucene.analysis.miscellaneous.WordDelimiterFilterFactory; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.core.SolrResourceLoader; import org.junit.BeforeClass; @@ -33,6 +34,7 @@ /** * New WordDelimiterFilter tests... most of the tests are in ConvertedLegacyTest */ +// TODO: add a low-level test for this factory public class TestWordDelimiterFilterFactory extends SolrTestCaseJ4 { @BeforeClass Index: solr/core/src/test/org/apache/solr/analysis/TestJapaneseTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestDelimitedPayloadTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestJapaneseKatakanaStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestSynonymFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestJapaneseIterationMarkCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestIndonesianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPortugueseLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestKStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestHTMLStripCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestCzechStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGreekStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestLatvianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestMappingCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/LengthFilterTest.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestCJKBigramFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestTurkishLowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestNGramFilters.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGalicianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestJapanesePartOfSpeechStopFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPortugueseMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGreekLowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestRussianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/CommonGramsQueryFilterFactoryTest.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPhoneticFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestFinnishLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestStopFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestHyphenationCompoundWordTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestEnglishMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestShingleFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestNorwegianMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPortugueseStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestWikipediaTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestBulgarianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGermanStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestElisionFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestJapaneseReadingFormFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPorterStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestBrazilianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestJapaneseBaseFormFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestFrenchMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPatternReplaceCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestDictionaryCompoundWordTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestCJKWidthFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestPersianNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGermanMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestCapitalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestTrimFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestArabicFilters.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestStemmerOverrideFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGermanNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestIrishLowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestKeepFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestHindiFilters.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestHungarianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestBeiderMorseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestStandardFactories.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestItalianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestGalicianMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestNorwegianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/DoubleMetaphoneFilterFactoryTest.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestRemoveDuplicatesTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/SnowballPorterFilterFactoryTest.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestThaiWordFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/CommonGramsFilterFactoryTest.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestHunspellStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestSpanishLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestKeywordMarkerFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestFrenchLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestSwedishLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/analysis/TestUAX29URLEmailTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java =================================================================== --- solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java (revision 1365483) +++ solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java (working copy) @@ -20,8 +20,8 @@ import junit.framework.Assert; import org.apache.lucene.util.LuceneTestCase; -import org.apache.solr.analysis.KeywordTokenizerFactory; -import org.apache.solr.analysis.NGramFilterFactory; +import org.apache.lucene.analysis.core.KeywordTokenizerFactory; +import org.apache.lucene.analysis.ngram.NGramFilterFactory; import org.apache.solr.common.SolrException; import org.apache.solr.handler.admin.LukeRequestHandler; import org.apache.solr.handler.component.FacetComponent; Index: solr/core/src/test/org/apache/solr/schema/MultiTermTest.java =================================================================== --- solr/core/src/test/org/apache/solr/schema/MultiTermTest.java (revision 1365483) +++ solr/core/src/test/org/apache/solr/schema/MultiTermTest.java (working copy) @@ -18,6 +18,12 @@ */ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.charfilter.MappingCharFilterFactory; +import org.apache.lucene.analysis.core.KeywordTokenizerFactory; +import org.apache.lucene.analysis.core.LowerCaseFilterFactory; +import org.apache.lucene.analysis.core.WhitespaceTokenizerFactory; +import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilterFactory; +import org.apache.lucene.analysis.miscellaneous.TrimFilterFactory; import org.apache.lucene.analysis.util.TokenFilterFactory; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.analysis.*; Index: solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java =================================================================== --- solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java (revision 1365483) +++ solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java (working copy) @@ -29,11 +29,16 @@ import java.net.URLClassLoader; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.apache.lucene.analysis.util.AbstractAnalysisFactory; import org.apache.lucene.analysis.util.CharFilterFactory; import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.lucene.analysis.util.TokenFilterFactory; import org.apache.lucene.analysis.util.TokenizerFactory; +import org.apache.lucene.analysis.util.AnalysisSPILoader; +import org.apache.lucene.util.WeakIdentityMap; import org.apache.solr.common.ResourceLoader; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.handler.component.ShardHandlerFactory; @@ -366,8 +371,15 @@ /* * A static map of short class name to fully qualified class name */ - private static Map classNameCache = new ConcurrentHashMap(); + private static final Map classNameCache = new ConcurrentHashMap(); + // A static map of AnalysisSPILoaders, keyed by ClassLoader used (because it can change during Solr lifetime) and expected base class: + private static final WeakIdentityMap,AnalysisSPILoader>> expectedTypesSPILoaders = WeakIdentityMap.newConcurrentHashMap(); + + // Using this pattern, legacy analysis components from previous Solr versions are identified and delegated to SPI loader: + private static final Pattern legacyAnalysisPattern = + Pattern.compile("((\\Q"+base+".analysis.\\E)|(\\Q"+project+".\\E))([\\p{L}_$][\\p{L}\\p{N}_$]+?)(TokenFilter|Filter|Tokenizer|CharFilter)Factory"); + /** * This method loads a class either with it's FQN or a short-name (solr.class-simplename or class-simplename). * It tries to load the class with the name that is given first and if it fails, it tries all the known @@ -394,6 +406,32 @@ } } Class clazz = null; + + // first try legacy analysis patterns, now replaced by Lucene's Analysis package: + final Matcher m = legacyAnalysisPattern.matcher(cname); + if (m.matches()) { + log.trace("Trying to load class from analysis SPI"); + // retrieve the map of classLoader -> expectedType -> SPI from cache / regenerate cache + Map,AnalysisSPILoader> spiLoaders = expectedTypesSPILoaders.get(classLoader); + if (spiLoaders == null) { + spiLoaders = new IdentityHashMap,AnalysisSPILoader>(3); + spiLoaders.put(CharFilterFactory.class, CharFilterFactory.getSPILoader(classLoader)); + spiLoaders.put(TokenizerFactory.class, TokenizerFactory.getSPILoader(classLoader)); + spiLoaders.put(TokenFilterFactory.class, TokenFilterFactory.getSPILoader(classLoader)); + expectedTypesSPILoaders.put(classLoader, spiLoaders); + } + @SuppressWarnings("unchecked") final AnalysisSPILoader loader = + (AnalysisSPILoader) spiLoaders.get(expectedType); + if (loader != null) { + // it's a correct expected type for analysis! Let's go on! + try { + return clazz = loader.lookupClass(m.group(4)); + } catch (IllegalArgumentException ex) { + // ok, we fall back to legacy loading + } + } + } + // first try cname == full name try { return Class.forName(cname, true, classLoader).asSubclass(expectedType); Index: solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java =================================================================== --- solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java (revision 1365483) +++ solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java (working copy) @@ -27,6 +27,7 @@ import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.core.StopFilterFactory; import org.apache.lucene.analysis.util.TokenFilterFactory; import org.apache.lucene.queries.function.BoostedQuery; import org.apache.lucene.queries.function.FunctionQuery; @@ -36,7 +37,6 @@ import org.apache.lucene.queryparser.classic.ParseException; import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.search.*; -import org.apache.solr.analysis.StopFilterFactory; import org.apache.solr.analysis.TokenizerChain; import org.apache.solr.search.SolrQueryParser.MagicFieldName; import org.apache.solr.common.params.DisMaxParams; Index: solr/core/src/java/org/apache/solr/analysis/GermanMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/JapaneseTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/SynonymFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LengthFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HunspellStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HindiStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LatvianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/EnglishMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/EdgeNGramFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/IndicNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GermanStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/KeywordTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ArabicStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/CapitalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/JapaneseKatakanaStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/KeepWordFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ClassicFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/IrishLowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/KeywordMarkerFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ShingleFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HungarianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GalicianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/JapanesePartOfSpeechStopFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ElisionFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/JapaneseReadingFormFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/DictionaryCompoundWordTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/CommonGramsQueryFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilterFactory.java (revision 1365483) +++ solr/core/src/java/org/apache/solr/analysis/LegacyHTMLStripCharFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import java.io.Reader; +import org.apache.lucene.analysis.charfilter.HTMLStripCharFilterFactory; import org.apache.lucene.analysis.util.CharFilterFactory; /** Index: solr/core/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/NorwegianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/DelimitedPayloadTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/JapaneseIterationMarkCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/EdgeNGramTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/FinnishLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GermanNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/KStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HTMLStripCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/StopFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/CzechStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GreekStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ArabicNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HyphenationCompoundWordTokenFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/NorwegianMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/CJKBigramFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/StandardFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/BeiderMorseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/JapaneseBaseFormFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ClassicTokenizerFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GalicianMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/CJKWidthFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/TrimFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/DoubleMetaphoneFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/EnglishPossessiveFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/IndonesianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/CommonGramsFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/FrenchLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GermanLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/BulgarianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HindiNormalizationFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/ItalianLightStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/PositionFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/BrazilianStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/NGramFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/FrenchMinimalStemFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/analysis/HyphenatedWordsFilterFactory.java (deleted) =================================================================== Index: solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java =================================================================== --- solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java (revision 1365483) +++ solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java (working copy) @@ -19,9 +19,9 @@ import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.core.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordTokenizerFactory; import org.apache.lucene.analysis.util.*; import org.apache.lucene.util.Version; -import org.apache.solr.analysis.KeywordTokenizerFactory; import org.apache.solr.analysis.TokenizerChain; import org.apache.solr.common.SolrException; import org.apache.solr.util.DOMUtil; Index: solr/contrib =================================================================== --- solr/contrib (revision 1365483) +++ solr/contrib (working copy) Property changes on: solr/contrib ___________________________________________________________________ Modified: svn:mergeinfo Merged /lucene/dev/branches/lucene2510/solr/contrib:r1364862-1365496 Index: solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java =================================================================== --- solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java (revision 1365483) +++ solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java (working copy) @@ -23,8 +23,8 @@ import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.TokenFilterFactory; -import org.apache.solr.analysis.CommonGramsFilterFactory; -import org.apache.solr.analysis.StopFilterFactory; +import org.apache.lucene.analysis.commongrams.CommonGramsFilterFactory; +import org.apache.lucene.analysis.core.StopFilterFactory; import org.apache.solr.analysis.TokenizerChain; import org.apache.solr.schema.IndexSchema; import org.carrot2.core.LanguageCode; Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUTransformFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestStempelPolishStemFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUFoldingFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUTokenizerFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestICUNormalizer2FilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestSmartChineseFactories.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/test/org/apache/solr/analysis/TestMorfologikFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTransformFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseSentenceTokenizerFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/StempelPolishStemFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseWordTokenFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUFoldingFilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTokenizerFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUNormalizer2FilterFactory.java (deleted) =================================================================== Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/MorfologikFilterFactory.java (deleted) =================================================================== Index: solr/contrib/uima/src/test-files/uima/uima-tokenizers-schema.xml =================================================================== --- solr/contrib/uima/src/test-files/uima/uima-tokenizers-schema.xml (revision 1365483) +++ solr/contrib/uima/src/test-files/uima/uima-tokenizers-schema.xml (working copy) @@ -299,14 +299,14 @@ - - Index: solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMAAnnotationsTokenizerFactory.java (deleted) =================================================================== Index: solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMATypeAwareAnnotationsTokenizerFactory.java (deleted) ===================================================================