You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2011/01/19 17:16:18 UTC
svn commit: r1060847 - in /lucene/dev/branches/branch_3x: ./ lucene/ solr/
solr/src/java/org/apache/solr/analysis/SynonymFilter.java
solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java
Author: yonik
Date: Wed Jan 19 16:16:18 2011
New Revision: 1060847
URL: http://svn.apache.org/viewvc?rev=1060847&view=rev
Log:
SOLR-2316: fail early if synonym file not provided
Modified:
lucene/dev/branches/branch_3x/ (props changed)
lucene/dev/branches/branch_3x/lucene/ (props changed)
lucene/dev/branches/branch_3x/solr/ (props changed)
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilter.java
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilter.java?rev=1060847&r1=1060846&r2=1060847&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilter.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilter.java Wed Jan 19 16:16:18 2011
@@ -48,6 +48,8 @@ public final class SynonymFilter extends
public SynonymFilter(TokenStream in, SynonymMap map) {
super(in);
+ if (map == null)
+ throw new IllegalArgumentException("map is required");
this.map = map;
// just ensuring these attributes exist...
addAttribute(CharTermAttribute.class);
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java?rev=1060847&r1=1060846&r2=1060847&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java Wed Jan 19 16:16:18 2011
@@ -20,6 +20,7 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.solr.common.ResourceLoader;
+import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.util.plugin.ResourceLoaderAware;
@@ -38,7 +39,8 @@ public class SynonymFilterFactory extend
public void inform(ResourceLoader loader) {
String synonyms = args.get("synonyms");
-
+ if (synonyms == null)
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Missing required argument 'synonyms'.");
boolean ignoreCase = getBoolean("ignoreCase", false);
boolean expand = getBoolean("expand", true);
@@ -48,26 +50,24 @@ public class SynonymFilterFactory extend
tokFactory = loadTokenizerFactory( loader, tf, args );
}
- if (synonyms != null) {
- List<String> wlist=null;
- try {
- File synonymFile = new File(synonyms);
- if (synonymFile.exists()) {
- wlist = loader.getLines(synonyms);
- } else {
- List<String> files = StrUtils.splitFileNames(synonyms);
- wlist = new ArrayList<String>();
- for (String file : files) {
- List<String> lines = loader.getLines(file.trim());
- wlist.addAll(lines);
- }
+ List<String> wlist=null;
+ try {
+ File synonymFile = new File(synonyms);
+ if (synonymFile.exists()) {
+ wlist = loader.getLines(synonyms);
+ } else {
+ List<String> files = StrUtils.splitFileNames(synonyms);
+ wlist = new ArrayList<String>();
+ for (String file : files) {
+ List<String> lines = loader.getLines(file.trim());
+ wlist.addAll(lines);
}
- } catch (IOException e) {
- throw new RuntimeException(e);
}
- synMap = new SynonymMap(ignoreCase);
- parseRules(wlist, synMap, "=>", ",", expand,tokFactory);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
}
+ synMap = new SynonymMap(ignoreCase);
+ parseRules(wlist, synMap, "=>", ",", expand,tokFactory);
}
private SynonymMap synMap;