You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by to...@apache.org on 2012/02/03 12:11:25 UTC

svn commit: r1240081 - in /lucene/dev/trunk/solr/core/src: java/org/apache/solr/analysis/TypeTokenFilterFactory.java test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java

Author: tommaso
Date: Fri Feb  3 11:11:25 2012
New Revision: 1240081

URL: http://svn.apache.org/viewvc?rev=1240081&view=rev
Log:
[SOLR-3092] - updated TypeTokenFilterFactory to handle useWhiteList parameter

Modified:
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java?rev=1240081&r1=1240080&r2=1240081&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/analysis/TypeTokenFilterFactory.java Fri Feb  3 11:11:25 2012
@@ -27,31 +27,26 @@ import org.apache.solr.util.plugin.Resou
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 /**
  * Factory class for {@link TypeTokenFilter}
  * <pre class="prettyprint" >
  * &lt;fieldType name="chars" class="solr.TextField" positionIncrementGap="100"&gt;
- *   &lt;analyzer&gt;
- *     &lt;tokenizer class="solr.StandardTokenizerFactory"/&gt;
- *     &lt;filter class="solr.TypeTokenFilterFactory" types="stoptypes.txt" enablePositionIncrements="true"/&gt;
- *   &lt;/analyzer&gt;
+ * &lt;analyzer&gt;
+ * &lt;tokenizer class="solr.StandardTokenizerFactory"/&gt;
+ * &lt;filter class="solr.TypeTokenFilterFactory" types="stoptypes.txt" enablePositionIncrements="true"
+ * useWhiteList="false"/&gt;
+ * &lt;/analyzer&gt;
  * &lt;/fieldType&gt;</pre>
  */
 public class TypeTokenFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
 
   @Override
-  public void init(Map<String, String> args) {
-    super.init(args);
-  }
-
-  @Override
   public void inform(ResourceLoader loader) {
     String stopTypesFiles = args.get("types");
     enablePositionIncrements = getBoolean("enablePositionIncrements", false);
-
+    useWhitelist = getBoolean("useWhitelist", false);
     if (stopTypesFiles != null) {
       try {
         List<String> files = StrUtils.splitFileNames(stopTypesFiles);
@@ -70,6 +65,7 @@ public class TypeTokenFilterFactory exte
     }
   }
 
+  private boolean useWhitelist;
   private Set<String> stopTypes;
   private boolean enablePositionIncrements;
 
@@ -83,6 +79,6 @@ public class TypeTokenFilterFactory exte
 
   @Override
   public TokenStream create(TokenStream input) {
-    return new TypeTokenFilter(enablePositionIncrements, input, stopTypes);
+    return new TypeTokenFilter(enablePositionIncrements, input, stopTypes, useWhitelist);
   }
 }

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java?rev=1240081&r1=1240080&r2=1240081&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/analysis/TestTypeTokenFilterFactory.java Fri Feb  3 11:11:25 2012
@@ -49,6 +49,7 @@ public class TestTypeTokenFilterFactory 
     factory = new TypeTokenFilterFactory();
     args.put("types", "stoptypes-1.txt, stoptypes-2.txt");
     args.put("enablePositionIncrements", "false");
+    args.put("useWhitelist","true");
     factory.init(args);
     factory.inform(loader);
     types = factory.getStopTypes();
@@ -58,7 +59,7 @@ public class TestTypeTokenFilterFactory 
   }
 
   @Test
-  public void testCreation() throws Exception {
+  public void testCreationWithBlackList() throws Exception {
     TypeTokenFilterFactory typeTokenFilterFactory = new TypeTokenFilterFactory();
     Map<String, String> args = new HashMap<String, String>(DEFAULT_VERSION_PARAM);
     args.put("types", "stoptypes-1.txt, stoptypes-2.txt");
@@ -68,6 +69,19 @@ public class TestTypeTokenFilterFactory 
     input.setIntValue(123);
     typeTokenFilterFactory.create(input);
   }
+  
+  @Test
+    public void testCreationWithWhiteList() throws Exception {
+      TypeTokenFilterFactory typeTokenFilterFactory = new TypeTokenFilterFactory();
+      Map<String, String> args = new HashMap<String, String>(DEFAULT_VERSION_PARAM);
+      args.put("types", "stoptypes-1.txt, stoptypes-2.txt");
+      args.put("enablePositionIncrements", "false");
+      args.put("useWhitelist","true");
+      typeTokenFilterFactory.init(args);
+      NumericTokenStream input = new NumericTokenStream();
+      input.setIntValue(123);
+      typeTokenFilterFactory.create(input);
+    }
 
   @Test
   public void testMissingTypesParameter() throws Exception {