Index: lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java =================================================================== --- lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java (revision 1136384) +++ lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java (working copy) @@ -41,6 +41,7 @@ import org.apache.lucene.document.Field.Store; import org.apache.lucene.document.Field.TermVector; import org.apache.lucene.index.*; +import org.apache.lucene.index.IndexReader.AtomicReaderContext; import org.apache.lucene.index.codecs.Codec; import org.apache.lucene.index.codecs.CodecProvider; import org.apache.lucene.index.codecs.mockintblock.MockFixedIntBlockCodec; @@ -53,9 +54,13 @@ import org.apache.lucene.index.codecs.simpletext.SimpleTextCodec; import org.apache.lucene.index.codecs.standard.StandardCodec; import org.apache.lucene.search.BooleanQuery; +import org.apache.lucene.search.Explanation; import org.apache.lucene.search.FieldCache; import org.apache.lucene.search.FieldCache.CacheEntry; import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.Query; +import org.apache.lucene.search.Scorer; +import org.apache.lucene.search.Weight; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.store.LockFactory; @@ -1259,6 +1264,33 @@ } } } + + @Override + public Weight createNormalizedWeight(Query query) throws IOException { + final Weight w = super.createNormalizedWeight(query); + return new Weight() { + @Override + public Explanation explain(AtomicReaderContext context, int doc) throws IOException { return w.explain(context, doc); } + + @Override + public Query getQuery() { return w.getQuery(); } + + @Override + public float getValue() { return w.getValue(); } + + @Override + public void normalize(float norm) { throw new IllegalStateException("Weight already normalized."); } + + @Override + public Scorer scorer(AtomicReaderContext context, ScorerContext scorerContext) throws IOException { return w.scorer(context, scorerContext); } + + @Override + public float sumOfSquaredWeights() throws IOException { throw new IllegalStateException("Weight already normalized."); } + + @Override + public boolean scoresDocsOutOfOrder() { return w.scoresDocsOutOfOrder(); } + }; + } }; } }