From aed4a3972d719bd03b5ecbcaa7ca5d56af72d674 Mon Sep 17 00:00:00 2001 From: Robert Muir <rmuir@apache.org> Date: Mon, 17 Jan 2011 17:50:04 +0000 Subject: [PATCH] SOLR-2259: warn if you are using a deprecated analysis factory git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1060023 13f79535-47bb-0310-9956-ffa450edef68 --- .../solr/analysis/ArabicLetterTokenizerFactory.java | 8 +++++++- .../org/apache/solr/analysis/BaseTokenStreamFactory.java | 4 ++++ .../org/apache/solr/analysis/ChineseFilterFactory.java | 7 +++++++ .../org/apache/solr/analysis/ChineseTokenizerFactory.java | 7 +++++++ .../solr/analysis/RussianLetterTokenizerFactory.java | 3 ++- 5 files changed, 27 insertions(+), 2 deletions(-) diff --git a/solr/src/java/org/apache/solr/analysis/ArabicLetterTokenizerFactory.java b/solr/src/java/org/apache/solr/analysis/ArabicLetterTokenizerFactory.java index 75e0341aeed..b36ecee382b 100644 --- a/solr/src/java/org/apache/solr/analysis/ArabicLetterTokenizerFactory.java +++ b/solr/src/java/org/apache/solr/analysis/ArabicLetterTokenizerFactory.java @@ -19,6 +19,7 @@ package org.apache.solr.analysis; import org.apache.lucene.analysis.ar.ArabicLetterTokenizer; import java.io.Reader; +import java.util.Map; /** @@ -28,8 +29,13 @@ import java.io.Reader; @Deprecated public class ArabicLetterTokenizerFactory extends BaseTokenizerFactory{ - public ArabicLetterTokenizer create(Reader input) { + public void init(Map<String,String> args) { + super.init(args); assureMatchVersion(); + warnDeprecated("Use StandardTokenizerFactory instead."); + } + + public ArabicLetterTokenizer create(Reader input) { return new ArabicLetterTokenizer(luceneMatchVersion, input); } } diff --git a/solr/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java b/solr/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java index f2977a4d42e..632b5dddbc4 100644 --- a/solr/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java +++ b/solr/src/java/org/apache/solr/analysis/BaseTokenStreamFactory.java @@ -75,6 +75,10 @@ abstract class BaseTokenStreamFactory { } } + protected final void warnDeprecated(String message) { + log.warn(getClass().getSimpleName() + " is deprecated. " + message); + } + // TODO: move these somewhere that tokenizers and others // can also use them... protected int getInt(String name) { diff --git a/solr/src/java/org/apache/solr/analysis/ChineseFilterFactory.java b/solr/src/java/org/apache/solr/analysis/ChineseFilterFactory.java index 7e2857c48d3..6ffb67971b9 100644 --- a/solr/src/java/org/apache/solr/analysis/ChineseFilterFactory.java +++ b/solr/src/java/org/apache/solr/analysis/ChineseFilterFactory.java @@ -18,6 +18,8 @@ package org.apache.solr.analysis; +import java.util.Map; + import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.cn.ChineseFilter; @@ -27,6 +29,11 @@ import org.apache.lucene.analysis.cn.ChineseFilter; */ @Deprecated public class ChineseFilterFactory extends BaseTokenFilterFactory { + public void init(Map<String,String> args) { + super.init(args); + warnDeprecated("Use StopFilterFactory instead."); + } + public ChineseFilter create(TokenStream in) { return new ChineseFilter(in); } diff --git a/solr/src/java/org/apache/solr/analysis/ChineseTokenizerFactory.java b/solr/src/java/org/apache/solr/analysis/ChineseTokenizerFactory.java index 2f0a4e83cc2..978882e2a65 100644 --- a/solr/src/java/org/apache/solr/analysis/ChineseTokenizerFactory.java +++ b/solr/src/java/org/apache/solr/analysis/ChineseTokenizerFactory.java @@ -20,6 +20,8 @@ package org.apache.solr.analysis; import java.io.Reader; +import java.util.Map; + import org.apache.lucene.analysis.cn.ChineseTokenizer; /** @@ -28,6 +30,11 @@ import org.apache.lucene.analysis.cn.ChineseTokenizer; */ @Deprecated public class ChineseTokenizerFactory extends BaseTokenizerFactory { + public void init(Map<String,String> args) { + super.init(args); + warnDeprecated("Use StandardTokenizerFactory instead."); + } + public ChineseTokenizer create(Reader in) { return new ChineseTokenizer(in); } diff --git a/solr/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java b/solr/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java index fd0ab7e3d96..587f082c7de 100644 --- a/solr/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java +++ b/solr/src/java/org/apache/solr/analysis/RussianLetterTokenizerFactory.java @@ -37,10 +37,11 @@ public class RussianLetterTokenizerFactory extends BaseTokenizerFactory { throw new SolrException(ErrorCode.SERVER_ERROR, "The charset parameter is no longer supported. " + "Please process your documents as Unicode instead."); + assureMatchVersion(); + warnDeprecated("Use StandardTokenizerFactory instead."); } public RussianLetterTokenizer create(Reader in) { - assureMatchVersion(); return new RussianLetterTokenizer(luceneMatchVersion,in); } }