Index: solr/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java =================================================================== --- solr/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java (revision 940564) +++ solr/src/java/org/apache/solr/analysis/ASCIIFoldingFilterFactory.java (working copy) @@ -18,7 +18,7 @@ package org.apache.solr.analysis; -import org.apache.lucene.analysis.ASCIIFoldingFilter; +import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilter; import org.apache.lucene.analysis.TokenStream; /** Factory for {@link ASCIIFoldingFilter} */ Index: solr/src/java/org/apache/solr/analysis/ISOLatin1AccentFilterFactory.java =================================================================== --- solr/src/java/org/apache/solr/analysis/ISOLatin1AccentFilterFactory.java (revision 940564) +++ solr/src/java/org/apache/solr/analysis/ISOLatin1AccentFilterFactory.java (working copy) @@ -17,7 +17,7 @@ package org.apache.solr.analysis; -import org.apache.lucene.analysis.ISOLatin1AccentFilter; +import org.apache.lucene.analysis.miscellaneous.ISOLatin1AccentFilter; import org.apache.lucene.analysis.TokenStream; /** Factory for ISOLatin1AccentFilter Index: lucene/CHANGES.txt =================================================================== --- lucene/CHANGES.txt (revision 940564) +++ lucene/CHANGES.txt (working copy) @@ -6,6 +6,8 @@ * LUCENE-2413: Consolidated all Lucene analyzers into contrib/analyzers. - o.a.l.analysis.PorterStemFilter -> o.a.l.analysis.en.PorterStemFilter + - o.a.l.analysis.ASCIIFoldingFilter -> o.a.l.analysis.miscellaneous.ASCIIFoldingFilter + - o.a.l.analysis.ISOLatin1AccentFilter -> o.a.l.analysis.miscellaneous.ISOLatin1AccentFilter ... (in progress) * LUCENE-1458, LUCENE-2111, LUCENE-2354: Changes from flexible indexing: Index: lucene/src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java (deleted) =================================================================== Index: lucene/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (deleted) =================================================================== Index: lucene/src/java/org/apache/lucene/analysis/ASCIIFoldingFilter.java (deleted) =================================================================== Index: lucene/src/java/org/apache/lucene/analysis/ISOLatin1AccentFilter.java (deleted) =================================================================== Index: lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/analyzing/TestAnalyzingQueryParser.java =================================================================== --- lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/analyzing/TestAnalyzingQueryParser.java (revision 940564) +++ lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/analyzing/TestAnalyzingQueryParser.java (working copy) @@ -17,14 +17,16 @@ * limitations under the License. */ +import java.io.IOException; import java.io.Reader; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.ASCIIFoldingFilter; import org.apache.lucene.analysis.LowerCaseFilter; +import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; +import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.util.LuceneTestCase; @@ -105,6 +107,41 @@ } +// TODO: Use a TestAnalyzer instead +final class TestFoldingFilter extends TokenFilter { + final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class); + + public TestFoldingFilter(TokenStream input) { + super(input); + } + + @Override + public boolean incrementToken() throws IOException { + if (input.incrementToken()) { + char term[] = termAtt.buffer(); + for (int i = 0; i < term.length; i++) + switch(term[i]) { + case 'ü': + case 'Ü': + term[i] = 'u'; + break; + case 'ö': + term[i] = 'o'; + break; + case 'é': + term[i] = 'e'; + break; + case 'ï': + term[i] = 'i'; + break; + } + return true; + } else { + return false; + } + } +} + final class ASCIIAnalyzer extends org.apache.lucene.analysis.Analyzer { public ASCIIAnalyzer() { } @@ -113,7 +150,7 @@ public TokenStream tokenStream(String fieldName, Reader reader) { TokenStream result = new StandardTokenizer(LuceneTestCase.TEST_VERSION_CURRENT, reader); result = new StandardFilter(result); - result = new ASCIIFoldingFilter(result); + result = new TestFoldingFilter(result); result = new LowerCaseFilter(LuceneTestCase.TEST_VERSION_CURRENT, result); return result; } Index: lucene/contrib/analyzers/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java =================================================================== --- lucene/contrib/analyzers/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java (revision 940564) +++ lucene/contrib/analyzers/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java (working copy) @@ -1,4 +1,4 @@ -package org.apache.lucene.analysis; +package org.apache.lucene.analysis.miscellaneous; /** * Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,6 +17,9 @@ * limitations under the License. */ +import org.apache.lucene.analysis.BaseTokenStreamTestCase; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.WhitespaceTokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import java.io.StringReader; import java.util.List; Index: lucene/contrib/analyzers/common/src/test/org/apache/lucene/analysis/miscellaneous/TestISOLatin1AccentFilter.java =================================================================== --- lucene/contrib/analyzers/common/src/test/org/apache/lucene/analysis/miscellaneous/TestISOLatin1AccentFilter.java (revision 940564) +++ lucene/contrib/analyzers/common/src/test/org/apache/lucene/analysis/miscellaneous/TestISOLatin1AccentFilter.java (working copy) @@ -1,4 +1,4 @@ -package org.apache.lucene.analysis; +package org.apache.lucene.analysis.miscellaneous; /** * Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,6 +17,9 @@ * limitations under the License. */ +import org.apache.lucene.analysis.BaseTokenStreamTestCase; +import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.WhitespaceTokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import java.io.StringReader; Index: lucene/contrib/analyzers/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java =================================================================== --- lucene/contrib/analyzers/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java (revision 940564) +++ lucene/contrib/analyzers/common/src/java/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.java (working copy) @@ -1,4 +1,4 @@ -package org.apache.lucene.analysis; +package org.apache.lucene.analysis.miscellaneous; /** * Licensed to the Apache Software Foundation (ASF) under one or more @@ -19,6 +19,8 @@ import java.io.IOException; +import org.apache.lucene.analysis.TokenFilter; +import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.util.ArrayUtil; import org.apache.lucene.util.RamUsageEstimator; Index: lucene/contrib/analyzers/common/src/java/org/apache/lucene/analysis/miscellaneous/ISOLatin1AccentFilter.java =================================================================== --- lucene/contrib/analyzers/common/src/java/org/apache/lucene/analysis/miscellaneous/ISOLatin1AccentFilter.java (revision 940564) +++ lucene/contrib/analyzers/common/src/java/org/apache/lucene/analysis/miscellaneous/ISOLatin1AccentFilter.java (working copy) @@ -1,4 +1,4 @@ -package org.apache.lucene.analysis; +package org.apache.lucene.analysis.miscellaneous; /** * Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,6 +17,8 @@ * limitations under the License. */ +import org.apache.lucene.analysis.TokenFilter; +import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; /** Index: lucene/backwards/src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java (deleted) =================================================================== Index: lucene/backwards/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (deleted) =================================================================== Index: lucene/backwards/src/java/org/apache/lucene/analysis/ASCIIFoldingFilter.java (deleted) =================================================================== Index: lucene/backwards/src/java/org/apache/lucene/analysis/ISOLatin1AccentFilter.java (deleted) ===================================================================