You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by us...@apache.org on 2009/07/06 10:55:52 UTC
svn commit: r791415 - in /lucene/java/trunk/src:
java/org/apache/lucene/analysis/ test/org/apache/lucene/analysis/
Author: uschindler
Date: Mon Jul 6 08:55:52 2009
New Revision: 791415
URL: http://svn.apache.org/viewvc?rev=791415&view=rev
Log:
LUCENE-1734: CharReader should delegate reset/mark/markSupported
Modified:
lucene/java/trunk/src/java/org/apache/lucene/analysis/CharFilter.java
lucene/java/trunk/src/java/org/apache/lucene/analysis/CharReader.java
lucene/java/trunk/src/java/org/apache/lucene/analysis/MappingCharFilter.java
lucene/java/trunk/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java
Modified: lucene/java/trunk/src/java/org/apache/lucene/analysis/CharFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/analysis/CharFilter.java?rev=791415&r1=791414&r2=791415&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/analysis/CharFilter.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/analysis/CharFilter.java Mon Jul 6 08:55:52 2009
@@ -58,4 +58,16 @@
public int read(char[] cbuf, int off, int len) throws IOException {
return input.read(cbuf, off, len);
}
+
+ public boolean markSupported(){
+ return input.markSupported();
+ }
+
+ public void mark( int readAheadLimit ) throws IOException {
+ input.mark(readAheadLimit);
+ }
+
+ public void reset() throws IOException {
+ input.reset();
+ }
}
Modified: lucene/java/trunk/src/java/org/apache/lucene/analysis/CharReader.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/analysis/CharReader.java?rev=791415&r1=791414&r2=791415&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/analysis/CharReader.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/analysis/CharReader.java Mon Jul 6 08:55:52 2009
@@ -50,4 +50,16 @@
public int read(char[] cbuf, int off, int len) throws IOException {
return input.read(cbuf, off, len);
}
+
+ public boolean markSupported(){
+ return input.markSupported();
+ }
+
+ public void mark( int readAheadLimit ) throws IOException {
+ input.mark(readAheadLimit);
+ }
+
+ public void reset() throws IOException {
+ input.reset();
+ }
}
Modified: lucene/java/trunk/src/java/org/apache/lucene/analysis/MappingCharFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/analysis/MappingCharFilter.java?rev=791415&r1=791414&r2=791415&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/analysis/MappingCharFilter.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/analysis/MappingCharFilter.java Mon Jul 6 08:55:52 2009
@@ -125,16 +125,4 @@
}
return l == 0 ? -1 : l;
}
-
- public boolean markSupported() {
- return false;
- }
-
- public void mark(int readAheadLimit) throws IOException {
- throw new IOException("mark/reset not supported");
- }
-
- public void reset() throws IOException {
- throw new IOException("mark/reset not supported");
- }
}
Modified: lucene/java/trunk/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java?rev=791415&r1=791414&r2=791415&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java Mon Jul 6 08:55:52 2009
@@ -40,6 +40,22 @@
normMap.add( "empty", "" );
}
+ public void testReaderReset() throws Exception {
+ CharStream cs = new MappingCharFilter( normMap, CharReader.get( new StringReader( "x" ) ) );
+ char[] buf = new char[10];
+ int len = cs.read(buf, 0, 10);
+ assertEquals( 1, len );
+ assertEquals( 'x', buf[0]) ;
+ len = cs.read(buf, 0, 10);
+ assertEquals( -1, len );
+
+ // rewind
+ cs.reset();
+ len = cs.read(buf, 0, 10);
+ assertEquals( 1, len );
+ assertEquals( 'x', buf[0]) ;
+ }
+
public void testNothingChange() throws Exception {
CharStream cs = new MappingCharFilter( normMap, CharReader.get( new StringReader( "x" ) ) );
TokenStream ts = new WhitespaceTokenizer( cs );