Index: solr/core/src/test-files/solr/conf/schema-required-fields.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema-required-fields.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema-required-fields.xml (working copy) @@ -76,7 +76,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -146,7 +146,7 @@ - + @@ -157,13 +157,13 @@ - + - + @@ -180,58 +180,58 @@ - + - + - + - + - + - + - + - + @@ -242,12 +242,12 @@ - + - + @@ -256,12 +256,12 @@ - + - + @@ -270,7 +270,7 @@ - + @@ -280,7 +280,7 @@ --> - + @@ -293,7 +293,7 @@ - + Index: solr/core/src/test-files/solr/conf/schema.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema.xml (working copy) @@ -86,7 +86,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -165,7 +165,7 @@ - + @@ -176,7 +176,7 @@ - + @@ -187,19 +187,19 @@ - + - + - + @@ -223,44 +223,44 @@ - + - + - + - + - + - + @@ -268,20 +268,20 @@ - + - + - + @@ -291,14 +291,14 @@ - + - + @@ -308,12 +308,12 @@ - + - + @@ -322,12 +322,12 @@ - + - + @@ -336,12 +336,12 @@ - + - + @@ -350,7 +350,7 @@ - + @@ -360,7 +360,7 @@ --> - + @@ -373,7 +373,7 @@ - + @@ -396,7 +396,7 @@ - + @@ -404,7 +404,7 @@ - + is there an echo? @@ -414,14 +414,14 @@ - + - + Index: solr/core/src/test-files/solr/conf/schema-reversed.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema-reversed.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema-reversed.xml (working copy) @@ -30,28 +30,28 @@ - + - + - + - + - + Index: solr/core/src/test-files/solr/conf/schema-trie.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema-trie.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema-trie.xml (working copy) @@ -156,7 +156,7 @@ - + @@ -169,7 +169,7 @@ --> - + @@ -181,7 +181,7 @@ - + @@ -197,7 +197,7 @@ but may be good for SKUs. Can insert dashes in the wrong place and still match. --> - + Index: solr/core/src/test-files/solr/conf/schema11.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema11.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema11.xml (working copy) @@ -147,7 +147,7 @@ - + @@ -160,7 +160,7 @@ --> - + @@ -172,7 +172,7 @@ - + @@ -188,7 +188,7 @@ but may be good for SKUs. Can insert dashes in the wrong place and still match. --> - + Index: solr/core/src/test-files/solr/conf/schemasurround.xml =================================================================== --- solr/core/src/test-files/solr/conf/schemasurround.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schemasurround.xml (working copy) @@ -79,7 +79,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -118,7 +118,7 @@ - + - + - + - + - + @@ -211,7 +211,7 @@ - + @@ -222,13 +222,13 @@ - + - + @@ -245,52 +245,52 @@ - + - + - + - + - + - + - + - + @@ -300,14 +300,14 @@ - + - + @@ -317,12 +317,12 @@ - + - + @@ -331,12 +331,12 @@ - + - + @@ -345,12 +345,12 @@ - + - + @@ -359,7 +359,7 @@ - + @@ -368,7 +368,7 @@ --> - + @@ -379,7 +379,7 @@ - + - + - + @@ -411,7 +411,7 @@ --> - + @@ -424,7 +424,7 @@ - + Index: solr/core/src/test-files/solr/conf/schema12.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema12.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema12.xml (working copy) @@ -79,7 +79,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -118,7 +118,7 @@ - + - + - + - + - + @@ -211,7 +211,7 @@ - + @@ -222,13 +222,13 @@ - + - + @@ -245,52 +245,52 @@ - + - + - + - + - + - + - + - + @@ -300,14 +300,14 @@ - + - + @@ -317,12 +317,12 @@ - + - + @@ -331,12 +331,12 @@ - + - + @@ -345,12 +345,12 @@ - + - + @@ -359,7 +359,7 @@ - + @@ -368,7 +368,7 @@ --> - + @@ -379,7 +379,7 @@ - + - + @@ -408,7 +408,7 @@ - + Index: solr/core/src/test-files/solr/conf/schema-copyfield-test.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema-copyfield-test.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema-copyfield-test.xml (working copy) @@ -76,7 +76,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -144,7 +144,7 @@ - + @@ -155,7 +155,7 @@ - + @@ -166,13 +166,13 @@ - + - + @@ -189,58 +189,58 @@ - + - + - + - + - + - + - + - + @@ -251,12 +251,12 @@ - + - + @@ -265,12 +265,12 @@ - + - + @@ -279,7 +279,7 @@ - + @@ -289,7 +289,7 @@ --> - + @@ -302,7 +302,7 @@ - + Index: solr/core/src/test-files/solr/conf/schema-stop-keep.xml =================================================================== --- solr/core/src/test-files/solr/conf/schema-stop-keep.xml (revision 1175370) +++ solr/core/src/test-files/solr/conf/schema-stop-keep.xml (working copy) @@ -34,7 +34,7 @@ - + @@ -43,7 +43,7 @@ - + Index: solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java =================================================================== --- solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java (revision 0) +++ solr/test-framework/src/java/org/apache/solr/analysis/MockTokenizerFactory.java (revision 0) @@ -0,0 +1,62 @@ +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. + */ + +import java.io.Reader; +import java.util.Map; + +import org.apache.lucene.analysis.MockTokenizer; +import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.util.automaton.CharacterRunAutomaton; + +/** + * Factory for {@link MockTokenizer} for testing purposes. + */ +public class MockTokenizerFactory extends BaseTokenizerFactory { + CharacterRunAutomaton pattern; + boolean enableChecks; + + @Override + public void init(Map args) { + super.init(args); + String patternArg = args.get("pattern"); + if (patternArg == null) { + patternArg = "whitespace"; + } + + if ("whitespace".equalsIgnoreCase(patternArg)) { + pattern = MockTokenizer.WHITESPACE; + } else if ("keyword".equalsIgnoreCase(patternArg)) { + pattern = MockTokenizer.KEYWORD; + } else if ("simple".equalsIgnoreCase(patternArg)) { + pattern = MockTokenizer.SIMPLE; + } else { + throw new RuntimeException("invalid pattern!"); + } + + enableChecks = getBoolean("enableChecks", true); + } + + + @Override + public Tokenizer create(Reader input) { + MockTokenizer t = new MockTokenizer(input, pattern, false); + t.setEnableChecks(enableChecks); + return t; + } +}