Index: solr/core/src/test/org/apache/solr/analysis/TestSynonymMap.java =================================================================== --- solr/core/src/test/org/apache/solr/analysis/TestSynonymMap.java (revision 1334951) +++ solr/core/src/test/org/apache/solr/analysis/TestSynonymMap.java (working copy) @@ -25,8 +25,10 @@ import java.util.Map; import org.apache.lucene.analysis.Token; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.analysis.util.ResourceLoader; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** @@ -41,7 +43,7 @@ rules.add( "a=>b=>c" ); try{ SlowSynonymFilterFactory.parseRules( rules, synMap, "=>", ",", true, null); - fail( "RuntimeException must be thrown." ); + fail( "InitializationException must be thrown." ); } catch(InitializationException expected) {} } Index: solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java =================================================================== --- solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java (revision 1334951) +++ solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java (working copy) @@ -18,6 +18,7 @@ import org.apache.lucene.analysis.NumericTokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.core.SolrResourceLoader; import org.junit.Test; Index: solr/core/src/test/org/apache/solr/analysis/TestMappingCharFilterFactory.java =================================================================== --- solr/core/src/test/org/apache/solr/analysis/TestMappingCharFilterFactory.java (revision 1334951) +++ solr/core/src/test/org/apache/solr/analysis/TestMappingCharFilterFactory.java (working copy) @@ -17,6 +17,7 @@ package org.apache.solr.analysis; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.util.LuceneTestCase; public class TestMappingCharFilterFactory extends LuceneTestCase { Index: solr/core/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java =================================================================== --- solr/core/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java (revision 1334951) +++ solr/core/src/test/org/apache/solr/analysis/TestLuceneMatchVersion.java (working copy) @@ -24,6 +24,8 @@ import org.apache.solr.schema.FieldType; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import org.apache.lucene.util.Version; import org.junit.BeforeClass; @@ -48,13 +50,13 @@ FieldType type = schema.getFieldType("textDefault"); TokenizerChain ana = (TokenizerChain) type.getAnalyzer(); - assertEquals(DEFAULT_VERSION, ((BaseTokenizerFactory) ana.getTokenizerFactory()).luceneMatchVersion); - assertEquals(DEFAULT_VERSION, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).luceneMatchVersion); + assertEquals(DEFAULT_VERSION, ((BaseTokenizerFactory) ana.getTokenizerFactory()).getLuceneMatchVersion()); + assertEquals(DEFAULT_VERSION, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).getLuceneMatchVersion()); type = schema.getFieldType("text30"); ana = (TokenizerChain) type.getAnalyzer(); - assertEquals(Version.LUCENE_30, ((BaseTokenizerFactory) ana.getTokenizerFactory()).luceneMatchVersion); - assertEquals(Version.LUCENE_31, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).luceneMatchVersion); + assertEquals(Version.LUCENE_30, ((BaseTokenizerFactory) ana.getTokenizerFactory()).getLuceneMatchVersion()); + assertEquals(Version.LUCENE_31, ((BaseTokenFilterFactory) ana.getTokenFilterFactories()[2]).getLuceneMatchVersion()); // this is a hack to get the private matchVersion field in StandardAnalyzer's superclass, may break in later lucene versions - we have no getter :( final Field matchVersionField = StandardAnalyzer.class.getSuperclass().getDeclaredField("matchVersion"); Index: solr/core/src/test/org/apache/solr/schema/MultiTermTest.java =================================================================== --- solr/core/src/test/org/apache/solr/schema/MultiTermTest.java (revision 1334951) +++ solr/core/src/test/org/apache/solr/schema/MultiTermTest.java (working copy) @@ -18,6 +18,7 @@ */ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.factory.TokenFilterFactory; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.analysis.*; import org.junit.BeforeClass; Index: solr/core/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java (working copy) @@ -23,7 +23,9 @@ import java.util.regex.Pattern; import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.pattern.PatternTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** Index: solr/core/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.pt.PortugueseMinimalStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link PortugueseMinimalStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/JapaneseBaseFormFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/JapaneseBaseFormFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/JapaneseBaseFormFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ja.JapaneseBaseFormFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link org.apache.lucene.analysis.ja.JapaneseBaseFormFilter}. Index: solr/core/src/java/org/apache/solr/analysis/ClassicTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ClassicTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ClassicTokenizerFactory.java (working copy) @@ -22,6 +22,7 @@ import org.apache.lucene.analysis.standard.StandardAnalyzer; import java.io.Reader; import java.util.Map; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** * Factory for {@link ClassicTokenizer}. Index: solr/core/src/java/org/apache/solr/analysis/GalicianMinimalStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GalicianMinimalStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GalicianMinimalStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.gl.GalicianMinimalStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GalicianMinimalStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/CJKWidthFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CJKWidthFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CJKWidthFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.cjk.CJKWidthFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link CJKWidthFilter}. Index: solr/core/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.fa.PersianNormalizationFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link PersianNormalizationFilter}. Index: solr/core/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java (working copy) @@ -17,7 +17,9 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.pattern.PatternReplaceFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; import java.util.regex.Pattern; Index: solr/core/src/java/org/apache/solr/analysis/BaseTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BaseTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BaseTokenFilterFactory.java (working copy) @@ -18,10 +18,10 @@ package org.apache.solr.analysis; /** - * Simple abstract implementation that handles init arg processing. - * - * + * @deprecated This class is kept for backwards compatibility and will be removed + * in (5.0). Use {@link org.apache.lucene.analysis.factory.BaseTokenFilterFactory}. */ -public abstract class BaseTokenFilterFactory extends BaseTokenStreamFactory implements TokenFilterFactory { +@Deprecated +public abstract class BaseTokenFilterFactory extends org.apache.lucene.analysis.factory.BaseTokenFilterFactory implements TokenFilterFactory { } Index: solr/core/src/java/org/apache/solr/analysis/DoubleMetaphoneFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/DoubleMetaphoneFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/DoubleMetaphoneFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.phonetic.DoubleMetaphoneFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link DoubleMetaphoneFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TrimFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TrimFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TrimFilterFactory.java (working copy) @@ -20,7 +20,9 @@ import java.util.Map; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.miscellaneous.TrimFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link TrimFilter}. Index: solr/core/src/java/org/apache/solr/analysis/EnglishPossessiveFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/EnglishPossessiveFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/EnglishPossessiveFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.en.EnglishPossessiveFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link EnglishPossessiveFilter}. Index: solr/core/src/java/org/apache/solr/analysis/CharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CharFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CharFilterFactory.java (working copy) @@ -17,23 +17,10 @@ package org.apache.solr.analysis; -import java.util.Map; - -import org.apache.lucene.analysis.CharStream; -import org.apache.lucene.util.Version; - /** -* -* @since Solr 1.4 -* -*/ -public interface CharFilterFactory { - - public void init(Map args); - - public Map getArgs(); - - public void setLuceneMatchVersion(Version luceneMatchVersion); - - public CharStream create(CharStream input); + * @deprecated This interface has been kept for backwards compatibility and will + * be removed in (5.0). Use {@link org.apache.lucene.analysis.factory.CharFilterFactory} + */ +@Deprecated +public interface CharFilterFactory extends org.apache.lucene.analysis.factory.CharFilterFactory { } Index: solr/core/src/java/org/apache/solr/analysis/IndonesianStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/IndonesianStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/IndonesianStemFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.id.IndonesianStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link IndonesianStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TokenFilterFactory.java (working copy) @@ -17,58 +17,11 @@ package org.apache.solr.analysis; -import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.util.Version; - -import java.util.Map; - /** - * A TokenFilterFactory creates a - * TokenFilter to transform one TokenStream - * into another. - * - *

- * TokenFilterFactories are registered for FieldTypes with the - * IndexSchema through the schema.xml file. - *

- *

- * Example schema.xml entry to register a TokenFilterFactory - * implementation to transform tokens in a field of type "cool" - *

- *
- *  <fieldtype name="cool" class="solr.TextField">
- *      <analyzer>
- *      ...
- *      <filter class="foo.MyTokenFilterFactory"/>
- *      ...
- * 
- *

- * A single instance of any registered TokenFilterFactory is created - * via the default constructor and is reused for each FieldType. - *

- * + * @deprecated This interface has been kept for backwards compatibility and will + * be removed in (5.0). Use {@link org.apache.lucene.analysis.factory.TokenFilterFactory} */ - -public interface TokenFilterFactory { - /** init will be called just once, immediately after creation. - *

The args are user-level initialization parameters that - * may be specified when declaring the factory in the - * schema.xml - */ - public void init(Map args); - - public void setLuceneMatchVersion(Version luceneMatchVersion); - - /** - * Accessor method for reporting the args used to initialize this factory. - *

- * Implementations are strongly encouraged to return - * the contents of the Map passed to to the init method - *

- */ - public Map getArgs(); - - /** Transform the specified input TokenStream */ - public TokenStream create(TokenStream input); +@Deprecated +public interface TokenFilterFactory extends org.apache.lucene.analysis.factory.TokenFilterFactory { } Index: solr/core/src/java/org/apache/solr/analysis/CommonGramsFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CommonGramsFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CommonGramsFilterFactory.java (working copy) @@ -21,9 +21,11 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.commongrams.CommonGramsFilter; import org.apache.lucene.analysis.core.StopAnalyzer; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Constructs a {@link CommonGramsFilter}. Index: solr/core/src/java/org/apache/solr/analysis/FrenchLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/FrenchLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/FrenchLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.fr.FrenchLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link FrenchLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/FSTSynonymFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/FSTSynonymFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/FSTSynonymFilterFactory.java (working copy) @@ -26,13 +26,13 @@ import java.nio.charset.CodingErrorAction; import java.text.ParseException; import java.util.List; -import java.util.Map; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.core.WhitespaceTokenizer; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.synonym.SynonymFilter; import org.apache.lucene.analysis.synonym.SynonymMap; import org.apache.lucene.analysis.synonym.SolrSynonymParser; @@ -43,6 +43,8 @@ import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.lucene.analysis.factory.TokenizerFactory; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * @deprecated (3.4) use {@link SynonymFilterFactory} instead. this is only a backwards compatibility Index: solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.reverse.ReverseStringFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link ReversedWildcardFilter}-s. When this factory is Index: solr/core/src/java/org/apache/solr/analysis/GermanLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GermanLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GermanLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.de.GermanLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GermanLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/BulgarianStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BulgarianStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BulgarianStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.bg.BulgarianStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link BulgarianStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CollationKeyFilterFactory.java (working copy) @@ -26,6 +26,7 @@ import org.apache.commons.io.IOUtils; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.collation.CollationKeyFilter; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; Index: solr/core/src/java/org/apache/solr/analysis/ItalianLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ItalianLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ItalianLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.it.ItalianLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link ItalianLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/HindiNormalizationFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HindiNormalizationFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HindiNormalizationFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.hi.HindiNormalizationFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link HindiNormalizationFilter}. Index: solr/core/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GreekLowerCaseFilterFactory.java (working copy) @@ -22,6 +22,8 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.el.GreekLowerCaseFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; +import org.apache.lucene.analysis.factory.InitializationException; /** * Factory for {@link GreekLowerCaseFilter}. Index: solr/core/src/java/org/apache/solr/analysis/BrazilianStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BrazilianStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BrazilianStemFilterFactory.java (working copy) @@ -18,8 +18,10 @@ package org.apache.solr.analysis; + import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.br.BrazilianStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link BrazilianStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/NGramFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/NGramFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/NGramFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import java.util.Map; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ngram.NGramTokenFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link NGramTokenFilter}. Index: solr/core/src/java/org/apache/solr/analysis/PositionFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PositionFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PositionFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.position.PositionFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/FrenchMinimalStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/FrenchMinimalStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/FrenchMinimalStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.fr.FrenchMinimalStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link FrenchMinimalStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/InitializationException.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/InitializationException.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/InitializationException.java (working copy) @@ -1,32 +0,0 @@ -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 - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Exception representing an error occurring during the initialization of a Factory. - */ -public class InitializationException extends RuntimeException { - - public InitializationException(String message) { - super(message); - } - - public InitializationException(String message, Throwable cause) { - super(message, cause); - } -} Index: solr/core/src/java/org/apache/solr/analysis/HyphenatedWordsFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HyphenatedWordsFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HyphenatedWordsFilterFactory.java (working copy) @@ -19,7 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.miscellaneous.HyphenatedWordsFilter; -import org.apache.solr.analysis.BaseTokenFilterFactory; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link HyphenatedWordsFilter}. Index: solr/core/src/java/org/apache/solr/analysis/BaseCharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BaseCharFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BaseCharFilterFactory.java (working copy) @@ -17,48 +17,10 @@ package org.apache.solr.analysis; -import org.apache.lucene.util.Version; - -import java.util.Map; - /** -* -* @since Solr 1.4 -* -*/ -public abstract class BaseCharFilterFactory implements CharFilterFactory { - - protected Version luceneMatchVersion; - - /** The init args */ - protected Map args; - - public Map getArgs() { - return args; - } - - public void init(Map args) { - this.args = args; - } - - public void setLuceneMatchVersion(Version luceneMatchVersion) { - this.luceneMatchVersion = luceneMatchVersion; - } - - protected int getInt(String name) { - return getInt(name,-1,false); - } - - protected int getInt(String name, int defaultVal) { - return getInt(name,defaultVal,true); - } - - protected int getInt(String name, int defaultVal, boolean useDefault) { - String s = args.get(name); - if (s==null) { - if (useDefault) return defaultVal; - throw new InitializationException("Configuration Error: missing parameter '" + name + "'"); - } - return Integer.parseInt(s); - } + * @deprecated This class is kept for backwards compatibility and will be removed + * in (5.0). Use {@link org.apache.lucene.analysis.factory.BaseCharFilterFactory}. + */ +@Deprecated +public abstract class BaseCharFilterFactory extends org.apache.lucene.analysis.factory.BaseCharFilterFactory implements CharFilterFactory { } Index: solr/core/src/java/org/apache/solr/analysis/GermanMinimalStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GermanMinimalStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GermanMinimalStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.de.GermanMinimalStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GermanMinimalStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.core.LowerCaseTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/JapaneseTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/JapaneseTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/JapaneseTokenizerFactory.java (working copy) @@ -27,12 +27,14 @@ import java.util.Map; import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.ja.JapaneseTokenizer; import org.apache.lucene.analysis.ja.JapaneseTokenizer.Mode; import org.apache.lucene.analysis.ja.dict.UserDictionary; import org.apache.lucene.util.IOUtils; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** * Factory for {@link org.apache.lucene.analysis.ja.JapaneseTokenizer}. Index: solr/core/src/java/org/apache/solr/analysis/SynonymFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/SynonymFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/SynonymFilterFactory.java (working copy) @@ -20,10 +20,12 @@ import java.util.Map; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.synonym.SynonymFilter; import org.apache.lucene.util.Version; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link SynonymFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TokenizerChain.java (working copy) @@ -21,6 +21,9 @@ import java.io.IOException; import java.io.Reader; +import org.apache.lucene.analysis.factory.CharFilterFactory; +import org.apache.lucene.analysis.factory.TokenizerFactory; +import org.apache.lucene.analysis.factory.TokenFilterFactory; /** * Index: solr/core/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java (working copy) @@ -20,8 +20,10 @@ import java.util.Map; import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.path.PathHierarchyTokenizer; import org.apache.lucene.analysis.path.ReversePathHierarchyTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** Index: solr/core/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java (working copy) @@ -17,137 +17,12 @@ package org.apache.solr.analysis; -import org.apache.lucene.analysis.core.StopFilter; -import org.apache.lucene.analysis.util.CharArraySet; -import org.apache.lucene.analysis.util.WordlistLoader; -import org.apache.lucene.util.IOUtils; -import org.apache.lucene.util.Version; -import org.apache.lucene.analysis.util.ResourceLoader; -import org.apache.solr.common.util.StrUtils; +import org.apache.lucene.analysis.factory.BaseAnalysisFactory; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CodingErrorAction; -import java.util.List; -import java.util.Map; - /** - * Simple abstract implementation that handles init arg processing, is not really - * a factory as it implements no interface, but removes code duplication - * in its subclasses. - * - * + * @deprecated This class is kept for backwards compatibility and will be removed + * in (5.0). Use {@link org.apache.lucene.analysis.factory.BaseAnalysisFactory}. */ -abstract class BaseTokenStreamFactory { - /** The init args */ - protected Map args; - - /** the luceneVersion arg */ - protected Version luceneMatchVersion = null; - - public void init(Map args) { - this.args=args; - } - - public Map getArgs() { - return args; - } - - /** this method can be called in the {@link TokenizerFactory#create(java.io.Reader)} - * or {@link TokenFilterFactory#create(org.apache.lucene.analysis.TokenStream)} methods, - * to inform user, that for this factory a {@link #luceneMatchVersion} is required */ - protected final void assureMatchVersion() { - if (luceneMatchVersion == null) { - throw new InitializationException("Configuration Error: Factory '" + this.getClass().getName() + - "' needs a 'luceneMatchVersion' parameter"); - } - } - - public void setLuceneMatchVersion(Version luceneMatchVersion) { - this.luceneMatchVersion = luceneMatchVersion; - } - - // TODO: move these somewhere that tokenizers and others - // can also use them... - protected int getInt(String name) { - return getInt(name,-1,false); - } - - protected int getInt(String name, int defaultVal) { - return getInt(name,defaultVal,true); - } - - protected int getInt(String name, int defaultVal, boolean useDefault) { - String s = args.get(name); - if (s==null) { - if (useDefault) return defaultVal; - throw new InitializationException("Configuration Error: missing parameter '" + name + "'"); - } - return Integer.parseInt(s); - } - - protected boolean getBoolean(String name, boolean defaultVal) { - return getBoolean(name,defaultVal,true); - } - - protected boolean getBoolean(String name, boolean defaultVal, boolean useDefault) { - String s = args.get(name); - if (s==null) { - if (useDefault) return defaultVal; - throw new InitializationException("Configuration Error: missing parameter '" + name + "'"); - } - return Boolean.parseBoolean(s); - } - - protected CharArraySet getWordSet(ResourceLoader loader, - String wordFiles, boolean ignoreCase) throws IOException { - assureMatchVersion(); - List files = StrUtils.splitFileNames(wordFiles); - CharArraySet words = null; - if (files.size() > 0) { - // default stopwords list has 35 or so words, but maybe don't make it that - // big to start - words = new CharArraySet(luceneMatchVersion, - files.size() * 10, ignoreCase); - for (String file : files) { - List wlist = loader.getLines(file.trim()); - words.addAll(StopFilter.makeStopSet(luceneMatchVersion, wlist, - ignoreCase)); - } - } - return words; - } - - /** same as {@link #getWordSet(ResourceLoader, String, boolean)}, - * except the input is in snowball format. */ - protected CharArraySet getSnowballWordSet(ResourceLoader loader, - String wordFiles, boolean ignoreCase) throws IOException { - assureMatchVersion(); - List files = StrUtils.splitFileNames(wordFiles); - CharArraySet words = null; - if (files.size() > 0) { - // default stopwords list has 35 or so words, but maybe don't make it that - // big to start - words = new CharArraySet(luceneMatchVersion, - files.size() * 10, ignoreCase); - for (String file : files) { - InputStream stream = null; - Reader reader = null; - try { - stream = loader.openResource(file.trim()); - CharsetDecoder decoder = IOUtils.CHARSET_UTF_8.newDecoder() - .onMalformedInput(CodingErrorAction.REPORT) - .onUnmappableCharacter(CodingErrorAction.REPORT); - reader = new InputStreamReader(stream, decoder); - WordlistLoader.getSnowballWordSet(reader, words); - } finally { - IOUtils.closeWhileHandlingException(reader, stream); - } - } - } - return words; - } +@Deprecated +abstract class BaseTokenStreamFactory extends BaseAnalysisFactory { } Index: solr/core/src/java/org/apache/solr/analysis/LengthFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LengthFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/LengthFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.miscellaneous.LengthFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.th.ThaiWordFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link ThaiWordFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java (working copy) @@ -19,9 +19,11 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.TypeTokenFilter; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.common.util.StrUtils; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.io.IOException; import java.util.HashSet; Index: solr/core/src/java/org/apache/solr/analysis/HunspellStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HunspellStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HunspellStemFilterFactory.java (working copy) @@ -22,10 +22,12 @@ import java.util.List; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.hunspell.HunspellDictionary; import org.apache.lucene.analysis.hunspell.HunspellStemFilter; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * TokenFilterFactory that creates instances of {@link org.apache.lucene.analysis.hunspell.HunspellStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.pt.PortugueseLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link PortugueseLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/HindiStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HindiStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HindiStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.hi.HindiStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link HindiStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.es.SpanishLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link SpanishLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/LatvianStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LatvianStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/LatvianStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.lv.LatvianStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link LatvianStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.sv.SwedishLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link SwedishLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java (working copy) @@ -22,6 +22,7 @@ import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.standard.UAX29URLEmailTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/EdgeNGramFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/EdgeNGramFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/EdgeNGramFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import java.util.Map; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Creates new instances of {@link EdgeNGramTokenFilter}. Index: solr/core/src/java/org/apache/solr/analysis/EnglishMinimalStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/EnglishMinimalStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/EnglishMinimalStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.en.EnglishMinimalStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link EnglishMinimalStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java (working copy) @@ -27,9 +27,11 @@ import org.apache.lucene.analysis.CharStream; import org.apache.lucene.analysis.charfilter.MappingCharFilter; import org.apache.lucene.analysis.charfilter.NormalizeCharMap; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.common.util.StrUtils; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseCharFilterFactory; /** * Factory for {@link MappingCharFilter}. Index: solr/core/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java (working copy) @@ -20,6 +20,7 @@ import java.io.Reader; import java.util.Map; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.ru.RussianLetterTokenizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Index: solr/core/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java (working copy) @@ -18,6 +18,8 @@ package org.apache.solr.analysis; + +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilter; import org.apache.lucene.analysis.TokenStream; Index: solr/core/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.pt.PortugueseStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link PortugueseStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/IndicNormalizationFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/IndicNormalizationFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/IndicNormalizationFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.in.IndicNormalizationFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link IndicNormalizationFilter}. Index: solr/core/src/java/org/apache/solr/analysis/GermanStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GermanStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GermanStemFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.de.GermanStemFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GermanStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.payloads.TokenOffsetPayloadTokenFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link TokenOffsetPayloadTokenFilter}. Index: solr/core/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.en.PorterStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link PorterStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TokenizerFactory.java (working copy) @@ -17,56 +17,11 @@ package org.apache.solr.analysis; -import java.io.*; -import java.util.Map; -import org.apache.lucene.analysis.*; -import org.apache.lucene.util.Version; - - /** - * A TokenizerFactory breaks up a stream of characters - * into tokens. - * - *

- * TokenizerFactories are registered for FieldTypes with the - * IndexSchema through the schema.xml file. - *

- *

- * Example schema.xml entry to register a TokenizerFactory - * implementation to tokenize fields of type "cool" - *

- *
- *  <fieldtype name="cool" class="solr.TextField">
- *      <analyzer>
- *      <tokenizer class="solr.StandardTokenizerFactory"/>
- *      ...
- * 
- *

- * A single instance of any registered TokenizerFactory is created - * via the default constructor and is reused for each FieldType. - *

- * + * @deprecated This interface has been kept for backwards compatibility and will + * be removed in (5.0). Use {@link org.apache.lucene.analysis.factory.TokenizerFactory} */ -public interface TokenizerFactory { - /** init will be called just once, immediately after creation. - *

The args are user-level initialization parameters that - * may be specified when declaring a the factory in the - * schema.xml - */ - public void init(Map args); - - public void setLuceneMatchVersion(Version luceneMatchVersion); - - /** - * Accessor method for reporting the args used to initialize this factory. - *

- * Implementations are strongly encouraged to return - * the contents of the Map passed to to the init method - *

- */ - public Map getArgs(); - - /** Creates a TokenStream of the specified input */ - public Tokenizer create(Reader input); +@Deprecated +public interface TokenizerFactory extends org.apache.lucene.analysis.factory.TokenizerFactory { } Index: solr/core/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java (working copy) @@ -22,7 +22,9 @@ import java.util.regex.PatternSyntaxException; import org.apache.lucene.analysis.CharStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.pattern.PatternReplaceCharFilter; +import org.apache.lucene.analysis.factory.BaseCharFilterFactory; /** * Factory for {@link PatternReplaceCharFilter}. Index: solr/core/src/java/org/apache/solr/analysis/KeywordTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/KeywordTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/KeywordTokenizerFactory.java (working copy) @@ -18,6 +18,7 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.core.KeywordTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; Index: solr/core/src/java/org/apache/solr/analysis/ArabicStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ArabicStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ArabicStemFilterFactory.java (working copy) @@ -18,6 +18,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ar.ArabicStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** @@ -32,7 +33,7 @@ * </fieldType> * */ -public class ArabicStemFilterFactory extends BaseTokenFilterFactory{ +public class ArabicStemFilterFactory extends BaseTokenFilterFactory { public ArabicStemFilter create(TokenStream input) { Index: solr/core/src/java/org/apache/solr/analysis/JapaneseKatakanaStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/JapaneseKatakanaStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/JapaneseKatakanaStemFilterFactory.java (working copy) @@ -18,7 +18,9 @@ */ import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.ja.JapaneseKatakanaStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/CapitalizationFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CapitalizationFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CapitalizationFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.miscellaneous.CapitalizationFilter; import org.apache.lucene.analysis.util.CharArraySet; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.ArrayList; import java.util.Collection; Index: solr/core/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.miscellaneous.RemoveDuplicatesTokenFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link RemoveDuplicatesTokenFilter}. Index: solr/core/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.payloads.NumericPayloadTokenFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; /** Index: solr/core/src/java/org/apache/solr/analysis/KeepWordFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/KeepWordFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/KeepWordFilterFactory.java (working copy) @@ -17,11 +17,13 @@ package org.apache.solr.analysis; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.miscellaneous.KeepWordFilter; import org.apache.lucene.analysis.util.CharArraySet; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; import java.util.Set; Index: solr/core/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.payloads.TypeAsPayloadTokenFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link TypeAsPayloadTokenFilter}. Index: solr/core/src/java/org/apache/solr/analysis/ClassicFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ClassicFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ClassicFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import org.apache.lucene.analysis.standard.ClassicFilter; /** Index: solr/core/src/java/org/apache/solr/analysis/IrishLowerCaseFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/IrishLowerCaseFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/IrishLowerCaseFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ga.IrishLowerCaseFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link IrishLowerCaseFilter}. Index: solr/core/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java (working copy) @@ -18,6 +18,7 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.core.LetterTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.LowerCaseFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link LowerCaseFilter}. Index: solr/core/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.standard.StandardTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/KeywordMarkerFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/KeywordMarkerFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/KeywordMarkerFilterFactory.java (working copy) @@ -2,11 +2,13 @@ import java.io.IOException; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Licensed to the Apache Software Foundation (ASF) under one or more Index: solr/core/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.miscellaneous.LimitTokenCountFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link LimitTokenCountFilter}. Index: solr/core/src/java/org/apache/solr/analysis/ShingleFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ShingleFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ShingleFilterFactory.java (working copy) @@ -19,8 +19,10 @@ package org.apache.solr.analysis; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.shingle.ShingleFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/HungarianLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HungarianLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HungarianLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.hu.HungarianLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link HungarianLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tr.TurkishLowerCaseFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link TurkishLowerCaseFilter}. Index: solr/core/src/java/org/apache/solr/analysis/JapanesePartOfSpeechStopFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/JapanesePartOfSpeechStopFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/JapanesePartOfSpeechStopFilterFactory.java (working copy) @@ -22,10 +22,12 @@ import java.util.Set; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.ja.JapanesePartOfSpeechStopFilter; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link org.apache.lucene.analysis.ja.JapanesePartOfSpeechStopFilter}. Index: solr/core/src/java/org/apache/solr/analysis/GalicianStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GalicianStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GalicianStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.gl.GalicianStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GalicianStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/ElisionFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ElisionFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ElisionFilterFactory.java (working copy) @@ -19,10 +19,12 @@ package org.apache.solr.analysis; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.lucene.analysis.fr.*; import org.apache.lucene.analysis.util.CharArraySet; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.io.IOException; import org.apache.lucene.analysis.TokenStream; Index: solr/core/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.reverse.ReverseStringFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link ReverseStringFilter}. Index: solr/core/src/java/org/apache/solr/analysis/JapaneseReadingFormFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/JapaneseReadingFormFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/JapaneseReadingFormFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ja.JapaneseReadingFormFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ru.RussianLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link RussianLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/DictionaryCompoundWordTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/DictionaryCompoundWordTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/DictionaryCompoundWordTokenFilterFactory.java (working copy) @@ -19,10 +19,12 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.compound.*; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; import java.io.IOException; Index: solr/core/src/java/org/apache/solr/analysis/CommonGramsQueryFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CommonGramsQueryFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CommonGramsQueryFilterFactory.java (working copy) @@ -23,9 +23,11 @@ import org.apache.lucene.analysis.commongrams.CommonGramsFilter; import org.apache.lucene.analysis.commongrams.CommonGramsQueryFilter; import org.apache.lucene.analysis.core.StopAnalyzer; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Construct {@link CommonGramsQueryFilter}. Index: solr/core/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java (working copy) @@ -26,7 +26,9 @@ import org.apache.commons.codec.Encoder; import org.apache.commons.codec.language.*; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.phonetic.PhoneticFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link PhoneticFilter}. Index: solr/core/src/java/org/apache/solr/analysis/NorwegianLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/NorwegianLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/NorwegianLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.no.NorwegianLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link NorwegianLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java (working copy) @@ -18,6 +18,7 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.miscellaneous.WordDelimiterFilter; import org.apache.lucene.analysis.miscellaneous.WordDelimiterIterator; import org.apache.lucene.analysis.util.CharArraySet; @@ -25,6 +26,7 @@ import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.common.util.StrUtils; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.ArrayList; import java.util.List; Index: solr/core/src/java/org/apache/solr/analysis/DelimitedPayloadTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/DelimitedPayloadTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/DelimitedPayloadTokenFilterFactory.java (working copy) @@ -17,6 +17,7 @@ */ import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.payloads.DelimitedPayloadTokenFilter; import org.apache.lucene.analysis.payloads.PayloadEncoder; import org.apache.lucene.analysis.payloads.FloatEncoder; @@ -24,6 +25,7 @@ import org.apache.lucene.analysis.payloads.IdentityEncoder; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java (working copy) @@ -21,11 +21,13 @@ import java.util.List; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter; import org.apache.lucene.analysis.util.CharArrayMap; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.common.util.StrUtils; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link StemmerOverrideFilter}. Index: solr/core/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import java.util.Map; import java.io.IOException; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.miscellaneous.KeywordMarkerFilter; import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; @@ -26,6 +27,7 @@ import org.apache.lucene.analysis.util.CharArraySet; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import org.tartarus.snowball.SnowballProgram; /** Index: solr/core/src/java/org/apache/solr/analysis/EdgeNGramTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/EdgeNGramTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/EdgeNGramTokenizerFactory.java (working copy) @@ -21,6 +21,7 @@ import java.io.Reader; import java.util.Map; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** * Creates new instances of {@link EdgeNGramTokenizer}. Index: solr/core/src/java/org/apache/solr/analysis/FinnishLightStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/FinnishLightStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/FinnishLightStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.fi.FinnishLightStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link FinnishLightStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/GermanNormalizationFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GermanNormalizationFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GermanNormalizationFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.de.GermanNormalizationFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GermanNormalizationFilter}. Index: solr/core/src/java/org/apache/solr/analysis/SlowSynonymFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/SlowSynonymFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/SlowSynonymFilterFactory.java (working copy) @@ -18,10 +18,13 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.common.util.StrUtils; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.TokenizerFactory; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.io.File; import java.io.IOException; @@ -29,7 +32,6 @@ import java.io.StringReader; import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * Factory for {@link SlowSynonymFilter} (only used with luceneMatchVersion < 3.4) Index: solr/core/src/java/org/apache/solr/analysis/SlowSynonymMap.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/SlowSynonymMap.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/SlowSynonymMap.java (working copy) @@ -18,6 +18,7 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.Token; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.CharArrayMap; import org.apache.lucene.util.Version; Index: solr/core/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java (working copy) @@ -18,6 +18,7 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.core.WhitespaceTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/KStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/KStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/KStemFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.en.KStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link KStemFilter} Index: solr/core/src/java/org/apache/solr/analysis/HTMLStripCharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HTMLStripCharFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HTMLStripCharFilterFactory.java (working copy) @@ -26,6 +26,7 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.lucene.analysis.factory.BaseCharFilterFactory; /** * Factory for {@link HTMLStripCharFilter}. Index: solr/core/src/java/org/apache/solr/analysis/CzechStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CzechStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CzechStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.cz.CzechStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link CzechStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/StopFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/StopFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/StopFilterFactory.java (working copy) @@ -17,12 +17,14 @@ package org.apache.solr.analysis; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.StopAnalyzer; import org.apache.lucene.analysis.core.StopFilter; import org.apache.lucene.analysis.util.CharArraySet; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import java.util.Map; import java.io.IOException; Index: solr/core/src/java/org/apache/solr/analysis/GreekStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/GreekStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/GreekStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.el.GreekStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link GreekStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/HyphenationCompoundWordTokenFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/HyphenationCompoundWordTokenFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/HyphenationCompoundWordTokenFilterFactory.java (working copy) @@ -22,8 +22,9 @@ import org.apache.lucene.analysis.compound.CompoundWordTokenFilterBase; import org.apache.lucene.analysis.compound.HyphenationCompoundWordTokenFilter; import org.apache.lucene.analysis.compound.hyphenation.HyphenationTree; +import org.apache.lucene.analysis.factory.InitializationException; import org.apache.lucene.analysis.util.CharArraySet; -import org.apache.solr.analysis.BaseTokenFilterFactory; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.lucene.analysis.util.ResourceLoaderAware; Index: solr/core/src/java/org/apache/solr/analysis/ArabicNormalizationFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/ArabicNormalizationFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/ArabicNormalizationFilterFactory.java (working copy) @@ -18,6 +18,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ar.ArabicNormalizationFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** Index: solr/core/src/java/org/apache/solr/analysis/TrieTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/TrieTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/TrieTokenizerFactory.java (working copy) @@ -22,6 +22,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.schema.DateField; import static org.apache.solr.schema.TrieField.TrieTypes; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.IOException; import java.io.Reader; Index: solr/core/src/java/org/apache/solr/analysis/CJKBigramFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/CJKBigramFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/CJKBigramFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.cjk.CJKBigramFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link CJKBigramFilter}. Index: solr/core/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.ngram.NGramTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/core/src/java/org/apache/solr/analysis/NorwegianMinimalStemFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/NorwegianMinimalStemFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/NorwegianMinimalStemFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.no.NorwegianMinimalStemFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link NorwegianMinimalStemFilter}. Index: solr/core/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.wikipedia.WikipediaTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** * Factory for {@link WikipediaTokenizer}. Index: solr/core/src/java/org/apache/solr/analysis/BaseTokenizerFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BaseTokenizerFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BaseTokenizerFactory.java (working copy) @@ -18,10 +18,10 @@ package org.apache.solr.analysis; /** - * Simple abstract implementation that handles init arg processing. - * - * + * @deprecated This class is kept for backwards compatibility and will be removed + * in (5.0). Use {@link org.apache.lucene.analysis.factory.BaseTokenizerFactory}. */ -public abstract class BaseTokenizerFactory extends BaseTokenStreamFactory implements TokenizerFactory { +@Deprecated +public abstract class BaseTokenizerFactory extends org.apache.lucene.analysis.factory.BaseTokenizerFactory implements TokenizerFactory { } Index: solr/core/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java (working copy) @@ -19,6 +19,7 @@ import org.apache.lucene.analysis.CharStream; import org.apache.lucene.analysis.fa.PersianCharFilter; +import org.apache.lucene.analysis.factory.BaseCharFilterFactory; /** * Factory for {@link PersianCharFilter}. Index: solr/core/src/java/org/apache/solr/analysis/BeiderMorseFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/BeiderMorseFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/BeiderMorseFilterFactory.java (working copy) @@ -27,6 +27,7 @@ import org.apache.commons.codec.language.bm.RuleType; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.phonetic.BeiderMorseFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link BeiderMorseFilter}. Index: solr/core/src/java/org/apache/solr/analysis/StandardFilterFactory.java =================================================================== --- solr/core/src/java/org/apache/solr/analysis/StandardFilterFactory.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/analysis/StandardFilterFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.standard.StandardFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for {@link StandardFilter}. Index: solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java =================================================================== --- solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java (working copy) @@ -30,6 +30,9 @@ import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import org.apache.lucene.analysis.factory.CharFilterFactory; +import org.apache.lucene.analysis.factory.TokenFilterFactory; +import org.apache.lucene.analysis.factory.TokenizerFactory; import org.apache.lucene.analysis.util.ResourceLoaderAware; import org.apache.solr.common.ResourceLoader; import org.apache.solr.handler.admin.CoreAdminHandler; @@ -47,9 +50,6 @@ import javax.naming.NamingException; import javax.naming.NoInitialContextException; -import org.apache.solr.analysis.CharFilterFactory; -import org.apache.solr.analysis.TokenFilterFactory; -import org.apache.solr.analysis.TokenizerFactory; import org.apache.solr.util.FileUtils; import org.apache.solr.common.SolrException; import org.apache.solr.handler.component.SearchComponent; Index: solr/core/src/java/org/apache/solr/schema/TrieField.java =================================================================== --- solr/core/src/java/org/apache/solr/schema/TrieField.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/schema/TrieField.java (working copy) @@ -21,6 +21,8 @@ import java.util.Locale; import java.util.Map; +import org.apache.lucene.analysis.factory.CharFilterFactory; +import org.apache.lucene.analysis.factory.TokenFilterFactory; import org.apache.lucene.document.DoubleField; import org.apache.lucene.document.FieldType; import org.apache.lucene.document.FieldType.NumericType; @@ -39,7 +41,8 @@ import org.apache.lucene.util.NumericUtils; import org.apache.lucene.util.mutable.MutableValueDate; import org.apache.lucene.util.mutable.MutableValueLong; -import org.apache.solr.analysis.*; +import org.apache.solr.analysis.TokenizerChain; +import org.apache.solr.analysis.TrieTokenizerFactory; import org.apache.solr.common.SolrException; import org.apache.solr.response.TextResponseWriter; import org.apache.solr.search.QParser; Index: solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java =================================================================== --- solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java (working copy) @@ -19,9 +19,14 @@ import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.core.KeywordAnalyzer; +import org.apache.lucene.analysis.factory.CharFilterFactory; +import org.apache.lucene.analysis.factory.TokenFilterFactory; +import org.apache.lucene.analysis.factory.TokenizerFactory; import org.apache.lucene.util.Version; -import org.apache.solr.analysis.*; import org.apache.lucene.analysis.util.ResourceLoader; +import org.apache.solr.analysis.KeywordTokenizerFactory; +import org.apache.solr.analysis.MultiTermAwareComponent; +import org.apache.solr.analysis.TokenizerChain; import org.apache.solr.common.SolrException; import org.apache.solr.util.DOMUtil; import org.apache.solr.core.Config; Index: solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java =================================================================== --- solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java (working copy) @@ -32,6 +32,7 @@ import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.factory.TokenFilterFactory; import org.apache.lucene.queries.function.BoostedQuery; import org.apache.lucene.queries.function.FunctionQuery; import org.apache.lucene.queries.function.ValueSource; @@ -40,6 +41,8 @@ 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; import org.apache.solr.common.params.SolrParams; @@ -47,7 +50,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.schema.FieldType; import org.apache.solr.util.SolrPluginUtils; -import org.apache.solr.analysis.*; /** * An advanced multi-field query parser. Index: solr/core/src/java/org/apache/solr/search/SolrQueryParser.java =================================================================== --- solr/core/src/java/org/apache/solr/search/SolrQueryParser.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/search/SolrQueryParser.java (working copy) @@ -22,6 +22,7 @@ import java.util.Map; import java.util.Map.Entry; +import org.apache.lucene.analysis.factory.TokenFilterFactory; import org.apache.lucene.index.Term; import org.apache.lucene.queryparser.classic.ParseException; import org.apache.lucene.queryparser.classic.QueryParser; @@ -32,7 +33,8 @@ import org.apache.lucene.util.automaton.BasicOperations; import org.apache.lucene.util.automaton.SpecialOperations; import org.apache.lucene.analysis.Analyzer; -import org.apache.solr.analysis.*; +import org.apache.solr.analysis.ReversedWildcardFilterFactory; +import org.apache.solr.analysis.TokenizerChain; import org.apache.solr.common.SolrException; import org.apache.solr.schema.FieldType; import org.apache.solr.schema.IndexSchema; Index: solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java =================================================================== --- solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (working copy) @@ -23,6 +23,9 @@ import java.util.*; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.factory.CharFilterFactory; +import org.apache.lucene.analysis.factory.TokenFilterFactory; +import org.apache.lucene.analysis.factory.TokenizerFactory; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.*; @@ -33,10 +36,7 @@ import org.apache.lucene.util.CharsRef; import org.apache.lucene.util.PriorityQueue; import org.apache.lucene.util.UnicodeUtil; -import org.apache.solr.analysis.CharFilterFactory; -import org.apache.solr.analysis.TokenFilterFactory; import org.apache.solr.analysis.TokenizerChain; -import org.apache.solr.analysis.TokenizerFactory; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.luke.FieldFlag; Index: solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java =================================================================== --- solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java (revision 1334951) +++ solr/core/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java (working copy) @@ -21,6 +21,9 @@ import org.apache.lucene.analysis.CharReader; import org.apache.lucene.analysis.CharStream; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.factory.CharFilterFactory; +import org.apache.lucene.analysis.factory.TokenFilterFactory; +import org.apache.lucene.analysis.factory.TokenizerFactory; import org.apache.lucene.analysis.tokenattributes.*; import org.apache.lucene.util.BytesRef; import org.apache.lucene.index.Payload; @@ -30,10 +33,7 @@ import org.apache.lucene.util.AttributeReflector; import org.apache.lucene.util.CharsRef; import org.apache.lucene.util.ArrayUtil; -import org.apache.solr.analysis.CharFilterFactory; -import org.apache.solr.analysis.TokenFilterFactory; import org.apache.solr.analysis.TokenizerChain; -import org.apache.solr.analysis.TokenizerFactory; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.common.SolrException; 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 1334951) +++ solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/carrot2/SolrStopwordsCarrot2LexicalDataFactory.java (working copy) @@ -21,10 +21,10 @@ import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.factory.TokenFilterFactory; import org.apache.lucene.analysis.util.CharArraySet; import org.apache.solr.analysis.CommonGramsFilterFactory; import org.apache.solr.analysis.StopFilterFactory; -import org.apache.solr.analysis.TokenFilterFactory; import org.apache.solr.analysis.TokenizerChain; import org.apache.solr.schema.IndexSchema; import org.carrot2.core.LanguageCode; Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/StempelPolishStemFilterFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/StempelPolishStemFilterFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/StempelPolishStemFilterFactory.java (working copy) @@ -26,6 +26,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.lucene.analysis.util.ResourceLoaderAware; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import org.egothor.stemmer.Trie; /** Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseWordTokenFilterFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseWordTokenFilterFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseWordTokenFilterFactory.java (working copy) @@ -20,6 +20,7 @@ import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.cn.smart.WordTokenFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Factory for the SmartChineseAnalyzer {@link WordTokenFilter} Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUFoldingFilterFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUFoldingFilterFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUFoldingFilterFactory.java (working copy) @@ -2,6 +2,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.icu.ICUFoldingFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Licensed to the Apache Software Foundation (ASF) under one or more Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUNormalizer2FilterFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUNormalizer2FilterFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUNormalizer2FilterFactory.java (working copy) @@ -23,6 +23,7 @@ import org.apache.lucene.analysis.icu.ICUNormalizer2Filter; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import com.ibm.icu.text.FilteredNormalizer2; import com.ibm.icu.text.Normalizer2; Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTokenizerFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTokenizerFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTokenizerFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.icu.segmentation.ICUTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** Factory for {@link ICUTokenizer} */ public class ICUTokenizerFactory extends BaseTokenizerFactory { Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/MorfologikFilterFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/MorfologikFilterFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/MorfologikFilterFactory.java (working copy) @@ -26,6 +26,7 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.morfologik.MorfologikFilter; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; /** * Filter factory for {@link MorfologikFilter}. Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTransformFilterFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTransformFilterFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/ICUTransformFilterFactory.java (working copy) @@ -21,9 +21,9 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.icu.ICUTransformFilter; -import org.apache.solr.analysis.BaseTokenFilterFactory; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; +import org.apache.lucene.analysis.factory.BaseTokenFilterFactory; import com.ibm.icu.text.Transliterator; Index: solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseSentenceTokenizerFactory.java =================================================================== --- solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseSentenceTokenizerFactory.java (revision 1334951) +++ solr/contrib/analysis-extras/src/java/org/apache/solr/analysis/SmartChineseSentenceTokenizerFactory.java (working copy) @@ -21,6 +21,7 @@ import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.cn.smart.SentenceTokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; /** * Factory for the SmartChineseAnalyzer {@link SentenceTokenizer} Index: solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMAAnnotationsTokenizerFactory.java =================================================================== --- solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMAAnnotationsTokenizerFactory.java (revision 1334951) +++ solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMAAnnotationsTokenizerFactory.java (working copy) @@ -18,8 +18,8 @@ */ import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer; -import org.apache.solr.analysis.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMATypeAwareAnnotationsTokenizerFactory.java =================================================================== --- solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMATypeAwareAnnotationsTokenizerFactory.java (revision 1334951) +++ solr/contrib/uima/src/java/org/apache/solr/uima/analysis/UIMATypeAwareAnnotationsTokenizerFactory.java (working copy) @@ -19,7 +19,7 @@ import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.uima.UIMATypeAwareAnnotationsTokenizer; -import org.apache.solr.analysis.BaseTokenizerFactory; +import org.apache.lucene.analysis.factory.BaseTokenizerFactory; import java.io.Reader; import java.util.Map; Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/TokenizerFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/TokenizerFactory.java (revision 0) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/TokenizerFactory.java (working copy) @@ -1,4 +1,6 @@ -/** +package org.apache.lucene.analysis.factory; + +/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. @@ -15,12 +17,11 @@ * limitations under the License. */ -package org.apache.solr.analysis; +import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.util.Version; -import java.io.*; +import java.io.Reader; import java.util.Map; -import org.apache.lucene.analysis.*; -import org.apache.lucene.util.Version; /** @@ -53,7 +54,7 @@ * may be specified when declaring a the factory in the * schema.xml */ - public void init(Map args); + public void init(Map args); public void setLuceneMatchVersion(Version luceneMatchVersion); Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/BaseAnalysisFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/BaseAnalysisFactory.java (revision 0) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/BaseAnalysisFactory.java (revision 0) @@ -0,0 +1,171 @@ +package org.apache.lucene.analysis.factory; + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.apache.lucene.analysis.core.StopFilter; +import org.apache.lucene.analysis.util.CharArraySet; +import org.apache.lucene.analysis.util.ResourceLoader; +import org.apache.lucene.analysis.util.WordlistLoader; +import org.apache.lucene.util.IOUtils; +import org.apache.lucene.util.Version; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +public class BaseAnalysisFactory { + + /** The init args */ + protected Map args; + + /** the luceneVersion arg */ + protected Version luceneMatchVersion = null; + + public void init(Map args) { + this.args = args; + } + + public Map getArgs() { + return args; + } + + /** this method can be called in the {@link TokenizerFactory#create(java.io.Reader)} + * or {@link TokenFilterFactory#create(org.apache.lucene.analysis.TokenStream)} methods, + * to inform user, that for this factory a {@link #luceneMatchVersion} is required */ + protected final void assureMatchVersion() { + if (luceneMatchVersion == null) { + throw new InitializationException("Configuration Error: Factory '" + this.getClass().getName() + + "' needs a 'luceneMatchVersion' parameter"); + } + } + + public void setLuceneMatchVersion(Version luceneMatchVersion) { + this.luceneMatchVersion = luceneMatchVersion; + } + + public Version getLuceneMatchVersion() { + return this.luceneMatchVersion; + } + + protected int getInt(String name) { + return getInt(name, -1, false); + } + + protected int getInt(String name, int defaultVal) { + return getInt(name, defaultVal, true); + } + + protected int getInt(String name, int defaultVal, boolean useDefault) { + String s = args.get(name); + if (s == null) { + if (useDefault) { + return defaultVal; + } + throw new InitializationException("Configuration Error: missing parameter '" + name + "'"); + } + return Integer.parseInt(s); + } + + protected boolean getBoolean(String name, boolean defaultVal) { + return getBoolean(name, defaultVal, true); + } + + protected boolean getBoolean(String name, boolean defaultVal, boolean useDefault) { + String s = args.get(name); + if (s==null) { + if (useDefault) return defaultVal; + throw new InitializationException("Configuration Error: missing parameter '" + name + "'"); + } + return Boolean.parseBoolean(s); + } + + protected CharArraySet getWordSet(ResourceLoader loader, + String wordFiles, boolean ignoreCase) throws IOException { + assureMatchVersion(); + List files = splitFileNames(wordFiles); + CharArraySet words = null; + if (files.size() > 0) { + // default stopwords list has 35 or so words, but maybe don't make it that + // big to start + words = new CharArraySet(luceneMatchVersion, + files.size() * 10, ignoreCase); + for (String file : files) { + List wlist = loader.getLines(file.trim()); + words.addAll(StopFilter.makeStopSet(luceneMatchVersion, wlist, + ignoreCase)); + } + } + return words; + } + + /** same as {@link #getWordSet(ResourceLoader, String, boolean)}, + * except the input is in snowball format. */ + protected CharArraySet getSnowballWordSet(ResourceLoader loader, + String wordFiles, boolean ignoreCase) throws IOException { + assureMatchVersion(); + List files = splitFileNames(wordFiles); + CharArraySet words = null; + if (files.size() > 0) { + // default stopwords list has 35 or so words, but maybe don't make it that + // big to start + words = new CharArraySet(luceneMatchVersion, + files.size() * 10, ignoreCase); + for (String file : files) { + InputStream stream = null; + Reader reader = null; + try { + stream = loader.openResource(file.trim()); + CharsetDecoder decoder = IOUtils.CHARSET_UTF_8.newDecoder() + .onMalformedInput(CodingErrorAction.REPORT) + .onUnmappableCharacter(CodingErrorAction.REPORT); + reader = new InputStreamReader(stream, decoder); + WordlistLoader.getSnowballWordSet(reader, words); + } finally { + IOUtils.closeWhileHandlingException(reader, stream); + } + } + } + return words; + } + + /** + * Splits file names separated by comma character. + * File names can contain comma characters escaped by backslash '\' + * + * @param fileNames the string containing file names + * @return a list of file names with the escaping backslashed removed + */ + protected List splitFileNames(String fileNames) { + if (fileNames == null) + return Collections.emptyList(); + + List result = new ArrayList(); + for (String file : fileNames.split("(? args); + public void init(Map args); public Map getArgs(); Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/BaseTokenizerFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/BaseTokenizerFactory.java (revision 0) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/BaseTokenizerFactory.java (revision 0) @@ -0,0 +1,21 @@ +package org.apache.lucene.analysis.factory; + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +public abstract class BaseTokenizerFactory extends BaseAnalysisFactory implements TokenizerFactory { +} Index: lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/TokenFilterFactory.java =================================================================== --- lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/TokenFilterFactory.java (revision 0) +++ lucene/analysis/common/src/java/org/apache/lucene/analysis/factory/TokenFilterFactory.java (working copy) @@ -1,4 +1,6 @@ -/** +package org.apache.lucene.analysis.factory; + +/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. @@ -15,16 +17,14 @@ * limitations under the License. */ -package org.apache.solr.analysis; - import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.util.Version; import java.util.Map; /** - * A TokenFilterFactory creates a - * TokenFilter to transform one TokenStream + * A TokenFilterFactory creates a + * TokenFilter to transform one TokenStream * into another. * *

@@ -32,7 +32,7 @@ * IndexSchema through the schema.xml file. *

*

- * Example schema.xml entry to register a TokenFilterFactory + * Example schema.xml entry to register a TokenFilterFactory * implementation to transform tokens in a field of type "cool" *

*
@@ -55,7 +55,7 @@
    * may be specified when declaring the factory in the
    * schema.xml
    */
-  public void init(Map args);
+  public void init(Map args);
 
   public void setLuceneMatchVersion(Version luceneMatchVersion);