LUCENE-4199: fix todo, do this the same as other processors

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene4199@1359154 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Muir 2012-07-09 13:16:31 +00:00
parent 5fea62f7c8
commit 7332ceac17
2 changed files with 7 additions and 5 deletions

View File

@ -45,10 +45,8 @@ import org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode;
*/ */
public class LowercaseExpandedTermsQueryNodeProcessor extends public class LowercaseExpandedTermsQueryNodeProcessor extends
QueryNodeProcessorImpl { QueryNodeProcessorImpl {
private final Locale locale;
public LowercaseExpandedTermsQueryNodeProcessor(Locale locale) { public LowercaseExpandedTermsQueryNodeProcessor() {
this.locale = locale;
} }
@Override @Override
@ -66,6 +64,11 @@ public class LowercaseExpandedTermsQueryNodeProcessor extends
@Override @Override
protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException { protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException {
Locale locale = getQueryConfigHandler().get(ConfigurationKeys.LOCALE);
if (locale == null) {
locale = Locale.getDefault();
}
if (node instanceof WildcardQueryNode if (node instanceof WildcardQueryNode
|| node instanceof FuzzyQueryNode || node instanceof FuzzyQueryNode
|| (node instanceof FieldQueryNode && node.getParent() instanceof RangeQueryNode) || (node instanceof FieldQueryNode && node.getParent() instanceof RangeQueryNode)

View File

@ -58,8 +58,7 @@ public class StandardQueryNodeProcessorPipeline extends
add(new OpenRangeQueryNodeProcessor()); add(new OpenRangeQueryNodeProcessor());
add(new NumericQueryNodeProcessor()); add(new NumericQueryNodeProcessor());
add(new NumericRangeQueryNodeProcessor()); add(new NumericRangeQueryNodeProcessor());
// TODO: queryConfig is null here! add(new LowercaseExpandedTermsQueryNodeProcessor());
add(new LowercaseExpandedTermsQueryNodeProcessor(Locale.getDefault()));
add(new TermRangeQueryNodeProcessor()); add(new TermRangeQueryNodeProcessor());
add(new AllowLeadingWildcardProcessor()); add(new AllowLeadingWildcardProcessor());
add(new AnalyzerQueryNodeProcessor()); add(new AnalyzerQueryNodeProcessor());