You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/04/07 20:07:57 UTC

svn commit: r1310811 - in /lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis: MockCharFilter.java MockTokenizer.java

Author: rmuir
Date: Sat Apr  7 18:07:56 2012
New Revision: 1310811

URL: http://svn.apache.org/viewvc?rev=1310811&view=rev
Log:
LUCENE-3919: add convenience ctors to MockTokenizer,MockCharFilter, fix MockCharFilter to chain its correctOffset

Modified:
    lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
    lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java

Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java?rev=1310811&r1=1310810&r2=1310811&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockCharFilter.java Sat Apr  7 18:07:56 2012
@@ -22,18 +22,23 @@ import java.io.Reader;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-// the purpose of this charfilter is to send offsets out of bounds
-// if the analyzer doesn't use correctOffset or does incorrect offset math.
-class MockCharFilter extends CharStream {
-  final Reader in;
+/** the purpose of this charfilter is to send offsets out of bounds
+  if the analyzer doesn't use correctOffset or does incorrect offset math. */
+public class MockCharFilter extends CharStream {
+  final CharStream in;
   final int remainder;
   
   // for testing only
   public MockCharFilter(Reader in, int remainder) {
-    this.in = in;
+    this.in = CharReader.get(in);
     this.remainder = remainder;
     assert remainder >= 0 && remainder < 10 : "invalid parameter";
   }
+  
+  // for testing only, uses a remainder of 0
+  public MockCharFilter(Reader in) {
+    this(in, 0);
+  }
 
   @Override
   public void close() throws IOException {
@@ -89,7 +94,7 @@ class MockCharFilter extends CharStream 
     SortedMap<Integer,Integer> subMap = corrections.subMap(0, currentOff+1);
     int ret = subMap.isEmpty() ? currentOff : currentOff + subMap.get(subMap.lastKey());
     assert ret >= 0 : "currentOff=" + currentOff + ",diff=" + (ret-currentOff);
-    return ret;
+    return in.correctOffset(ret); // chain the call
   }
   
   protected void addOffCorrectMap(int off, int cumulativeDiff) {

Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java?rev=1310811&r1=1310810&r2=1310811&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/analysis/MockTokenizer.java Sat Apr  7 18:07:56 2012
@@ -95,6 +95,11 @@ public class MockTokenizer extends Token
     this(input, runAutomaton, lowerCase, DEFAULT_MAX_TOKEN_LENGTH);
   }
   
+  /** Calls {@link #MockTokenizer(Reader, CharacterRunAutomaton, boolean) MockTokenizer(Reader, WHITESPACE, true)} */
+  public MockTokenizer(Reader input) {
+    this(input, WHITESPACE, true);
+  }
+  
   @Override
   public final boolean incrementToken() throws IOException {
     assert !enableChecks || (streamState == State.RESET || streamState == State.INCREMENT)