You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2012/02/26 13:27:15 UTC
svn commit: r1293821 - in /lucene/dev/trunk/lucene/core/src:
java/org/apache/lucene/index/FilterAtomicReader.java
test/org/apache/lucene/index/TestFilterAtomicReader.java
Author: uschindler
Date: Sun Feb 26 12:27:14 2012
New Revision: 1293821
URL: http://svn.apache.org/viewvc?rev=1293821&view=rev
Log:
LUCENE-3822: Add missing methods to FilterAtomicReader inner classes.
Modified:
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java?rev=1293821&r1=1293820&r2=1293821&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java Sun Feb 26 12:27:14 2012
@@ -17,8 +17,10 @@ package org.apache.lucene.index;
* limitations under the License.
*/
+import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.automaton.CompiledAutomaton;
import java.io.IOException;
import java.util.Comparator;
@@ -37,7 +39,7 @@ public class FilterAtomicReader extends
/** Base class for filtering {@link Fields}
* implementations. */
public static class FilterFields extends Fields {
- protected Fields in;
+ protected final Fields in;
public FilterFields(Fields in) {
this.in = in;
@@ -57,12 +59,17 @@ public class FilterAtomicReader extends
public int getUniqueFieldCount() throws IOException {
return in.getUniqueFieldCount();
}
+
+ @Override
+ public long getUniqueTermCount() throws IOException {
+ return in.getUniqueTermCount();
+ }
}
/** Base class for filtering {@link Terms}
* implementations. */
public static class FilterTerms extends Terms {
- protected Terms in;
+ protected final Terms in;
public FilterTerms(Terms in) {
this.in = in;
@@ -97,11 +104,16 @@ public class FilterAtomicReader extends
public int getDocCount() throws IOException {
return in.getDocCount();
}
+
+ @Override
+ public TermsEnum intersect(CompiledAutomaton automaton, BytesRef bytes) throws java.io.IOException {
+ return in.intersect(automaton, bytes);
+ }
}
/** Base class for filtering {@link TermsEnum} implementations. */
public static class FilterFieldsEnum extends FieldsEnum {
- protected FieldsEnum in;
+ protected final FieldsEnum in;
public FilterFieldsEnum(FieldsEnum in) {
this.in = in;
}
@@ -115,11 +127,16 @@ public class FilterAtomicReader extends
public Terms terms() throws IOException {
return in.terms();
}
+
+ @Override
+ public AttributeSource attributes() {
+ return in.attributes();
+ }
}
/** Base class for filtering {@link TermsEnum} implementations. */
public static class FilterTermsEnum extends TermsEnum {
- protected TermsEnum in;
+ protected final TermsEnum in;
public FilterTermsEnum(TermsEnum in) { this.in = in; }
@@ -187,11 +204,16 @@ public class FilterAtomicReader extends
public TermState termState() throws IOException {
return in.termState();
}
+
+ @Override
+ public AttributeSource attributes() {
+ return in.attributes();
+ }
}
/** Base class for filtering {@link DocsEnum} implementations. */
public static class FilterDocsEnum extends DocsEnum {
- protected DocsEnum in;
+ protected final DocsEnum in;
public FilterDocsEnum(DocsEnum in) {
this.in = in;
@@ -216,11 +238,16 @@ public class FilterAtomicReader extends
public int advance(int target) throws IOException {
return in.advance(target);
}
+
+ @Override
+ public AttributeSource attributes() {
+ return in.attributes();
+ }
}
/** Base class for filtering {@link DocsAndPositionsEnum} implementations. */
public static class FilterDocsAndPositionsEnum extends DocsAndPositionsEnum {
- protected DocsAndPositionsEnum in;
+ protected final DocsAndPositionsEnum in;
public FilterDocsAndPositionsEnum(DocsAndPositionsEnum in) {
this.in = in;
@@ -270,9 +297,14 @@ public class FilterAtomicReader extends
public boolean hasPayload() {
return in.hasPayload();
}
+
+ @Override
+ public AttributeSource attributes() {
+ return in.attributes();
+ }
}
- protected AtomicReader in;
+ protected final AtomicReader in;
/**
* <p>Construct a FilterAtomicReader based on the specified base reader.
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java?rev=1293821&r1=1293820&r2=1293821&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java Sun Feb 26 12:27:14 2012
@@ -21,8 +21,6 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
-import java.util.HashSet;
-
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.TextField;
@@ -31,7 +29,6 @@ import org.apache.lucene.store.MockDirec
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.ReaderUtil;
public class TestFilterAtomicReader extends LuceneTestCase {
@@ -176,22 +173,31 @@ public class TestFilterAtomicReader exte
directory.close();
target.close();
}
-
- public void testOverrideMethods() throws Exception {
+
+ private void checkOverrideMethods(Class<?> clazz) throws Exception {
boolean fail = false;
- for (Method m : FilterAtomicReader.class.getMethods()) {
+ for (Method m : clazz.getMethods()) {
int mods = m.getModifiers();
if (Modifier.isStatic(mods) || Modifier.isFinal(mods) || m.isSynthetic()) {
continue;
}
Class<?> declaringClass = m.getDeclaringClass();
- String name = m.getName();
- if (declaringClass != FilterAtomicReader.class && declaringClass != Object.class) {
- System.err.println("method is not overridden by FilterIndexReader: " + name);
+ if (declaringClass != clazz && declaringClass != Object.class) {
+ System.err.println("method is not overridden by "+clazz.getName()+": " + m.toGenericString());
fail = true;
}
}
- assertFalse("FilterIndexReader overrides (or not) some problematic methods; see log above", fail);
+ assertFalse(clazz.getName()+"does not override some methods; see log above", fail);
+ }
+
+ public void testOverrideMethods() throws Exception {
+ checkOverrideMethods(FilterAtomicReader.class);
+ checkOverrideMethods(FilterAtomicReader.FilterFields.class);
+ checkOverrideMethods(FilterAtomicReader.FilterTerms.class);
+ checkOverrideMethods(FilterAtomicReader.FilterFieldsEnum.class);
+ checkOverrideMethods(FilterAtomicReader.FilterTermsEnum.class);
+ checkOverrideMethods(FilterAtomicReader.FilterDocsEnum.class);
+ checkOverrideMethods(FilterAtomicReader.FilterDocsAndPositionsEnum.class);
}
}