Return-Path: X-Original-To: apmail-lucene-commits-archive@www.apache.org Delivered-To: apmail-lucene-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 14298D3C2 for ; Tue, 31 Jul 2012 21:00:30 +0000 (UTC) Received: (qmail 53360 invoked by uid 500); 31 Jul 2012 21:00:29 -0000 Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list commits@lucene.apache.org Received: (qmail 53353 invoked by uid 99); 31 Jul 2012 21:00:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Jul 2012 21:00:29 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Jul 2012 21:00:26 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 85BA42388B4E; Tue, 31 Jul 2012 20:59:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r1367777 [9/14] - in /lucene/dev/branches/pforcodec_3892: ./ dev-tools/ dev-tools/eclipse/ dev-tools/maven/ dev-tools/scripts/ lucene/ lucene/analysis/ lucene/analysis/common/ lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ l... Date: Tue, 31 Jul 2012 20:59:01 -0000 To: commits@lucene.apache.org From: mikemccand@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120731205918.85BA42388B4E@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java Tue Jul 31 20:58:32 2012 @@ -28,6 +28,7 @@ import org.apache.lucene.search.ComplexE import org.apache.lucene.search.similarities.DefaultSimilarity; import org.apache.lucene.search.similarities.Similarity; import org.apache.lucene.search.similarities.Similarity.SloppySimScorer; +import org.apache.lucene.search.spans.SpanQuery; import org.apache.lucene.search.spans.TermSpans; import org.apache.lucene.search.spans.SpanTermQuery; import org.apache.lucene.search.spans.SpanWeight; @@ -190,7 +191,8 @@ public class PayloadTermQuery extends Sp // whether to load the payload or not // GSI: I suppose we could toString the payload, but I don't think that // would be a good idea - Explanation payloadExpl = new Explanation(scorer.getPayloadScore(), "scorePayload(...)"); + String field = ((SpanQuery)getQuery()).getField(); + Explanation payloadExpl = function.explain(doc, field, scorer.payloadsSeen, scorer.payloadScore); payloadExpl.setValue(scorer.getPayloadScore()); // combined ComplexExplanation result = new ComplexExplanation(); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java Tue Jul 31 20:58:32 2012 @@ -120,7 +120,7 @@ public class SpanTermQuery extends SpanQ final TermsEnum termsEnum = context.reader().terms(term.field()).iterator(null); termsEnum.seekExact(term.bytes(), state); - final DocsAndPositionsEnum postings = termsEnum.docsAndPositions(acceptDocs, null, false); + final DocsAndPositionsEnum postings = termsEnum.docsAndPositions(acceptDocs, null, DocsAndPositionsEnum.FLAG_PAYLOADS); if (postings != null) { return new TermSpans(postings, term); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/Constants.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/Constants.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/Constants.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/Constants.java Tue Jul 31 20:58:32 2012 @@ -18,6 +18,7 @@ package org.apache.lucene.util; */ import java.lang.reflect.Field; +import java.util.Collections; import org.apache.lucene.LucenePackage; /** @@ -56,6 +57,7 @@ public final class Constants { new Boolean(true).booleanValue(); // prevent inlining in foreign class files public static final boolean JRE_IS_MINIMUM_JAVA7; + public static final boolean JRE_IS_MINIMUM_JAVA8; /** True iff running on a 64bit JVM */ public static final boolean JRE_IS_64BIT; @@ -93,6 +95,19 @@ public final class Constants { v7 = false; } JRE_IS_MINIMUM_JAVA7 = v7; + + if (JRE_IS_MINIMUM_JAVA7) { + // this method only exists in Java 8: + boolean v8 = true; + try { + Collections.class.getMethod("emptySortedSet"); + } catch (NoSuchMethodException nsme) { + v8 = false; + } + JRE_IS_MINIMUM_JAVA8 = v8; + } else { + JRE_IS_MINIMUM_JAVA8 = false; + } } // this method prevents inlining the final version constant in compiled classes, Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/IOUtils.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/IOUtils.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/IOUtils.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/IOUtils.java Tue Jul 31 20:58:32 2012 @@ -65,7 +65,7 @@ public final class IOUtils { * } catch (ExpectedException e) { * priorE = e; * } finally { - * closeSafely(priorE, resource1, resource2, resource3); + * closeWhileHandlingException(priorE, resource1, resource2, resource3); * } * *

Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/util/NamedSPILoader.java Tue Jul 31 20:58:32 2012 @@ -22,73 +22,80 @@ import java.util.Iterator; import java.util.Map; import java.util.LinkedHashMap; import java.util.Set; -import java.util.ServiceLoader; +import java.util.ServiceConfigurationError; /** * Helper class for loading named SPIs from classpath (e.g. Codec, PostingsFormat). * @lucene.internal */ -// TODO: would be nice to have case insensitive lookups. public final class NamedSPILoader implements Iterable { - private final Map services; - - /** This field is a hack for LuceneTestCase to get access - * to the modifiable map (to work around bugs in IBM J9) */ - @SuppressWarnings("unused") - @Deprecated - // Hackidy-Häck-Hack for bugs in IBM J9 ServiceLoader - private final Map modifiableServices; - + private volatile Map services = Collections.emptyMap(); private final Class clazz; public NamedSPILoader(Class clazz) { + this(clazz, Thread.currentThread().getContextClassLoader()); + } + + public NamedSPILoader(Class clazz, ClassLoader classloader) { this.clazz = clazz; - final ServiceLoader loader = ServiceLoader.load(clazz); - final LinkedHashMap services = new LinkedHashMap(); - for (final S service : loader) { - final String name = service.getName(); - // only add the first one for each name, later services will be ignored - // this allows to place services before others in classpath to make - // them used instead of others - if (!services.containsKey(name)) { - assert checkServiceName(name); - services.put(name, service); + reload(classloader); + } + + /** + * Reloads the internal SPI list from the given {@link ClassLoader}. + * Changes to the service list are visible after the method ends, all + * iterators ({@link #iterator()},...) stay consistent. + * + *

NOTE: Only new service providers are added, existing ones are + * never removed or replaced. + * + *

This method is expensive and should only be called for discovery + * of new service providers on the given classpath/classloader! + */ + public void reload(ClassLoader classloader) { + final LinkedHashMap services = new LinkedHashMap(this.services); + final SPIClassIterator loader = SPIClassIterator.get(clazz, classloader); + while (loader.hasNext()) { + final Class c = loader.next(); + try { + final S service = c.newInstance(); + final String name = service.getName(); + // only add the first one for each name, later services will be ignored + // this allows to place services before others in classpath to make + // them used instead of others + if (!services.containsKey(name)) { + checkServiceName(name); + services.put(name, service); + } + } catch (Exception e) { + throw new ServiceConfigurationError("Cannot instantiate SPI class: " + c.getName(), e); } } - this.modifiableServices = services; // hack, remove when IBM J9 is fixed! this.services = Collections.unmodifiableMap(services); } /** * Validates that a service name meets the requirements of {@link NamedSPI} */ - public static boolean checkServiceName(String name) { + public static void checkServiceName(String name) { // based on harmony charset.java if (name.length() >= 128) { throw new IllegalArgumentException("Illegal service name: '" + name + "' is too long (must be < 128 chars)."); } - for (int i = 0; i < name.length(); i++) { + for (int i = 0, len = name.length(); i < len; i++) { char c = name.charAt(i); - if (!isLetter(c) && !isDigit(c)) { + if (!isLetterOrDigit(c)) { throw new IllegalArgumentException("Illegal service name: '" + name + "' must be simple ascii alphanumeric."); } } - return true; } - /* - * Checks whether a character is a letter (ascii) which are defined in the spec. - */ - private static boolean isLetter(char c) { - return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'); - } - - /* - * Checks whether a character is a digit (ascii) which are defined in the spec. + /** + * Checks whether a character is a letter or digit (ascii) which are defined in the spec. */ - private static boolean isDigit(char c) { - return ('0' <= c && c <= '9'); + private static boolean isLetterOrDigit(char c) { + return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9'); } public S lookup(String name) { Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java Tue Jul 31 20:58:32 2012 @@ -75,8 +75,7 @@ public class TestCachingTokenFilter exte DocsAndPositionsEnum termPositions = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), "preanalyzed", - new BytesRef("term1"), - false); + new BytesRef("term1")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, termPositions.freq()); assertEquals(0, termPositions.nextPosition()); @@ -84,8 +83,7 @@ public class TestCachingTokenFilter exte termPositions = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), "preanalyzed", - new BytesRef("term2"), - false); + new BytesRef("term2")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(2, termPositions.freq()); assertEquals(1, termPositions.nextPosition()); @@ -94,8 +92,7 @@ public class TestCachingTokenFilter exte termPositions = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), "preanalyzed", - new BytesRef("term3"), - false); + new BytesRef("term3")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, termPositions.freq()); assertEquals(2, termPositions.nextPosition()); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/appending/TestAppendingCodec.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/appending/TestAppendingCodec.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/appending/TestAppendingCodec.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/appending/TestAppendingCodec.java Tue Jul 31 20:58:32 2012 @@ -142,7 +142,7 @@ public class TestAppendingCodec extends assertEquals(SeekStatus.FOUND, te.seekCeil(new BytesRef("lazy"))); assertEquals(SeekStatus.FOUND, te.seekCeil(new BytesRef("dog"))); assertEquals(SeekStatus.FOUND, te.seekCeil(new BytesRef("the"))); - DocsEnum de = te.docs(null, null, true); + DocsEnum de = te.docs(null, null); assertTrue(de.advance(0) != DocIdSetIterator.NO_MORE_DOCS); assertEquals(2, de.freq()); assertTrue(de.advance(1) != DocIdSetIterator.NO_MORE_DOCS); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java Tue Jul 31 20:58:32 2012 @@ -56,7 +56,7 @@ public class TestReuseDocsEnum extends L IdentityHashMap enums = new IdentityHashMap(); MatchNoBits bits = new Bits.MatchNoBits(indexReader.maxDoc()); while ((iterator.next()) != null) { - DocsEnum docs = iterator.docs(random().nextBoolean() ? bits : new Bits.MatchNoBits(indexReader.maxDoc()), null, random().nextBoolean()); + DocsEnum docs = iterator.docs(random().nextBoolean() ? bits : new Bits.MatchNoBits(indexReader.maxDoc()), null, random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); enums.put(docs, true); } @@ -83,7 +83,7 @@ public class TestReuseDocsEnum extends L MatchNoBits bits = new Bits.MatchNoBits(open.maxDoc()); DocsEnum docs = null; while ((iterator.next()) != null) { - docs = iterator.docs(bits, docs, random().nextBoolean()); + docs = iterator.docs(bits, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); enums.put(docs, true); } @@ -92,7 +92,7 @@ public class TestReuseDocsEnum extends L iterator = terms.iterator(null); docs = null; while ((iterator.next()) != null) { - docs = iterator.docs(new Bits.MatchNoBits(open.maxDoc()), docs, random().nextBoolean()); + docs = iterator.docs(new Bits.MatchNoBits(open.maxDoc()), docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); enums.put(docs, true); } assertEquals(terms.size(), enums.size()); @@ -101,7 +101,7 @@ public class TestReuseDocsEnum extends L iterator = terms.iterator(null); docs = null; while ((iterator.next()) != null) { - docs = iterator.docs(null, docs, random().nextBoolean()); + docs = iterator.docs(null, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); enums.put(docs, true); } assertEquals(1, enums.size()); @@ -133,7 +133,7 @@ public class TestReuseDocsEnum extends L DocsEnum docs = null; BytesRef term = null; while ((term = iterator.next()) != null) { - docs = iterator.docs(null, randomDocsEnum("body", term, sequentialSubReaders2, bits), random().nextBoolean()); + docs = iterator.docs(null, randomDocsEnum("body", term, sequentialSubReaders2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); enums.put(docs, true); } assertEquals(terms.size(), enums.size()); @@ -142,7 +142,7 @@ public class TestReuseDocsEnum extends L enums.clear(); docs = null; while ((term = iterator.next()) != null) { - docs = iterator.docs(bits, randomDocsEnum("body", term, sequentialSubReaders2, bits), random().nextBoolean()); + docs = iterator.docs(bits, randomDocsEnum("body", term, sequentialSubReaders2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); enums.put(docs, true); } assertEquals(terms.size(), enums.size()); @@ -155,7 +155,7 @@ public class TestReuseDocsEnum extends L return null; } AtomicReader indexReader = (AtomicReader) readers.get(random().nextInt(readers.size())); - return indexReader.termDocsEnum(bits, field, term, random().nextBoolean()); + return indexReader.termDocsEnum(bits, field, term, random().nextBoolean() ? DocsEnum.FLAG_FREQS : 0); } /** Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/Test10KPulsings.java Tue Jul 31 20:58:32 2012 @@ -88,7 +88,7 @@ public class Test10KPulsings extends Luc for (int i = 0; i < 10050; i++) { String expected = df.format(i); assertEquals(expected, te.next().utf8ToString()); - de = _TestUtil.docs(random(), te, null, de, false); + de = _TestUtil.docs(random(), te, null, de, 0); assertTrue(de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(DocIdSetIterator.NO_MORE_DOCS, de.nextDoc()); } @@ -146,7 +146,7 @@ public class Test10KPulsings extends Luc for (int i = 0; i < 10050; i++) { String expected = df.format(i); assertEquals(expected, te.next().utf8ToString()); - de = _TestUtil.docs(random(), te, null, de, false); + de = _TestUtil.docs(random(), te, null, de, 0); assertTrue(de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(DocIdSetIterator.NO_MORE_DOCS, de.nextDoc()); } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/codecs/pulsing/TestPulsingReuse.java Tue Jul 31 20:58:32 2012 @@ -35,7 +35,6 @@ import org.apache.lucene.index.RandomInd import org.apache.lucene.index.TermsEnum; import org.apache.lucene.store.BaseDirectoryWrapper; import org.apache.lucene.store.Directory; -import org.apache.lucene.store.MockDirectoryWrapper; import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.util._TestUtil; @@ -61,7 +60,7 @@ public class TestPulsingReuse extends Lu Map allEnums = new IdentityHashMap(); TermsEnum te = segment.terms("foo").iterator(null); while (te.next() != null) { - reuse = te.docs(null, reuse, false); + reuse = te.docs(null, reuse, 0); allEnums.put(reuse, true); } @@ -71,7 +70,7 @@ public class TestPulsingReuse extends Lu DocsAndPositionsEnum posReuse = null; te = segment.terms("foo").iterator(null); while (te.next() != null) { - posReuse = te.docsAndPositions(null, posReuse, false); + posReuse = te.docsAndPositions(null, posReuse); allEnums.put(posReuse, true); } @@ -103,7 +102,7 @@ public class TestPulsingReuse extends Lu Map allEnums = new IdentityHashMap(); TermsEnum te = segment.terms("foo").iterator(null); while (te.next() != null) { - reuse = te.docs(null, reuse, false); + reuse = te.docs(null, reuse, 0); allEnums.put(reuse, true); } @@ -113,7 +112,7 @@ public class TestPulsingReuse extends Lu DocsAndPositionsEnum posReuse = null; te = segment.terms("foo").iterator(null); while (te.next() != null) { - posReuse = te.docsAndPositions(null, posReuse, false); + posReuse = te.docsAndPositions(null, posReuse); allEnums.put(posReuse, true); } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java Tue Jul 31 20:58:32 2012 @@ -550,7 +550,7 @@ public class TestAddIndexes extends Luce private void verifyTermDocs(Directory dir, Term term, int numDocs) throws IOException { IndexReader reader = DirectoryReader.open(dir); - DocsEnum docsEnum = _TestUtil.docs(random(), reader, term.field, term.bytes, null, null, false); + DocsEnum docsEnum = _TestUtil.docs(random(), reader, term.field, term.bytes, null, null, 0); int count = 0; while (docsEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) count++; Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Tue Jul 31 20:58:32 2012 @@ -719,7 +719,7 @@ public class TestBackwardsCompatibility // should be found exactly assertEquals(TermsEnum.SeekStatus.FOUND, terms.seekCeil(aaaTerm)); - assertEquals(35, countDocs(_TestUtil.docs(random(), terms, null, null, false))); + assertEquals(35, countDocs(_TestUtil.docs(random(), terms, null, null, 0))); assertNull(terms.next()); // should hit end of field @@ -731,12 +731,12 @@ public class TestBackwardsCompatibility assertEquals(TermsEnum.SeekStatus.NOT_FOUND, terms.seekCeil(new BytesRef("a"))); assertTrue(terms.term().bytesEquals(aaaTerm)); - assertEquals(35, countDocs(_TestUtil.docs(random(), terms, null, null, false))); + assertEquals(35, countDocs(_TestUtil.docs(random(), terms, null, null, 0))); assertNull(terms.next()); assertEquals(TermsEnum.SeekStatus.FOUND, terms.seekCeil(aaaTerm)); - assertEquals(35, countDocs(_TestUtil.docs(random(), terms,null, null, false))); + assertEquals(35, countDocs(_TestUtil.docs(random(), terms,null, null, 0))); assertNull(terms.next()); r.close(); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java Tue Jul 31 20:58:32 2012 @@ -275,7 +275,7 @@ public class TestCodecs extends LuceneTe // make sure it properly fully resets (rewinds) its // internal state: for(int iter=0;iter<2;iter++) { - docsEnum = _TestUtil.docs(random(), termsEnum, null, docsEnum, false); + docsEnum = _TestUtil.docs(random(), termsEnum, null, docsEnum, 0); assertEquals(terms[i].docs[0], docsEnum.nextDoc()); assertEquals(DocIdSetIterator.NO_MORE_DOCS, docsEnum.nextDoc()); } @@ -472,9 +472,9 @@ public class TestCodecs extends LuceneTe assertEquals(status, TermsEnum.SeekStatus.FOUND); assertEquals(term.docs.length, termsEnum.docFreq()); if (field.omitTF) { - this.verifyDocs(term.docs, term.positions, _TestUtil.docs(random(), termsEnum, null, null, false), false); + this.verifyDocs(term.docs, term.positions, _TestUtil.docs(random(), termsEnum, null, null, 0), false); } else { - this.verifyDocs(term.docs, term.positions, termsEnum.docsAndPositions(null, null, false), true); + this.verifyDocs(term.docs, term.positions, termsEnum.docsAndPositions(null, null), true); } // Test random seek by ord: @@ -492,9 +492,9 @@ public class TestCodecs extends LuceneTe assertTrue(termsEnum.term().bytesEquals(new BytesRef(term.text2))); assertEquals(term.docs.length, termsEnum.docFreq()); if (field.omitTF) { - this.verifyDocs(term.docs, term.positions, _TestUtil.docs(random(), termsEnum, null, null, false), false); + this.verifyDocs(term.docs, term.positions, _TestUtil.docs(random(), termsEnum, null, null, 0), false); } else { - this.verifyDocs(term.docs, term.positions, termsEnum.docsAndPositions(null, null, false), true); + this.verifyDocs(term.docs, term.positions, termsEnum.docsAndPositions(null, null), true); } } @@ -546,16 +546,16 @@ public class TestCodecs extends LuceneTe final DocsEnum docsAndFreqs; final DocsAndPositionsEnum postings; if (!field.omitTF) { - postings = termsEnum.docsAndPositions(null, null, false); + postings = termsEnum.docsAndPositions(null, null); if (postings != null) { docs = docsAndFreqs = postings; } else { - docs = docsAndFreqs = _TestUtil.docs(random(), termsEnum, null, null, true); + docs = docsAndFreqs = _TestUtil.docs(random(), termsEnum, null, null, DocsEnum.FLAG_FREQS); } } else { postings = null; docsAndFreqs = null; - docs = _TestUtil.docs(random(), termsEnum, null, null, false); + docs = _TestUtil.docs(random(), termsEnum, null, null, 0); } assertNotNull(docs); int upto2 = -1; Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java Tue Jul 31 20:58:32 2012 @@ -97,13 +97,13 @@ public class TestDirectoryReader extends te2.term(), MultiFields.getLiveDocs(mr2), null, - false); + 0); TermsEnum te3 = MultiFields.getTerms(mr3, "body").iterator(null); te3.seekCeil(new BytesRef("wow")); td = _TestUtil.docs(random(), te3, MultiFields.getLiveDocs(mr3), td, - false); + 0); int ret = 0; @@ -355,7 +355,7 @@ void assertTermDocsCount(String msg, new BytesRef(term.text()), MultiFields.getLiveDocs(reader), null, - false); + 0); int count = 0; if (tdocs != null) { while(tdocs.nextDoc()!= DocIdSetIterator.NO_MORE_DOCS) { @@ -631,8 +631,8 @@ public void testFilesOpenClose() throws while(enum1.next() != null) { assertEquals("Different terms", enum1.term(), enum2.next()); - DocsAndPositionsEnum tp1 = enum1.docsAndPositions(liveDocs, null, false); - DocsAndPositionsEnum tp2 = enum2.docsAndPositions(liveDocs, null, false); + DocsAndPositionsEnum tp1 = enum1.docsAndPositions(liveDocs, null); + DocsAndPositionsEnum tp2 = enum2.docsAndPositions(liveDocs, null); while(tp1.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { assertTrue(tp2.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDoc.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDoc.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDoc.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDoc.java Tue Jul 31 20:58:32 2012 @@ -128,13 +128,13 @@ public class TestDoc extends LuceneTestC printSegment(out, si2); writer.close(); - SegmentInfoPerCommit siMerge = merge(directory, si1, si2, "merge", false); + SegmentInfoPerCommit siMerge = merge(directory, si1, si2, "_merge", false); printSegment(out, siMerge); - SegmentInfoPerCommit siMerge2 = merge(directory, si1, si2, "merge2", false); + SegmentInfoPerCommit siMerge2 = merge(directory, si1, si2, "_merge2", false); printSegment(out, siMerge2); - SegmentInfoPerCommit siMerge3 = merge(directory, siMerge, siMerge2, "merge3", false); + SegmentInfoPerCommit siMerge3 = merge(directory, siMerge, siMerge2, "_merge3", false); printSegment(out, siMerge3); directory.close(); @@ -163,13 +163,13 @@ public class TestDoc extends LuceneTestC printSegment(out, si2); writer.close(); - siMerge = merge(directory, si1, si2, "merge", true); + siMerge = merge(directory, si1, si2, "_merge", true); printSegment(out, siMerge); - siMerge2 = merge(directory, si1, si2, "merge2", true); + siMerge2 = merge(directory, si1, si2, "_merge2", true); printSegment(out, siMerge2); - siMerge3 = merge(directory, siMerge, siMerge2, "merge3", true); + siMerge3 = merge(directory, siMerge, siMerge2, "_merge3", true); printSegment(out, siMerge3); directory.close(); @@ -247,7 +247,7 @@ public class TestDoc extends LuceneTestC out.print(" term=" + field + ":" + tis.term()); out.println(" DF=" + tis.docFreq()); - DocsAndPositionsEnum positions = tis.docsAndPositions(reader.getLiveDocs(), null, false); + DocsAndPositionsEnum positions = tis.docsAndPositions(reader.getLiveDocs(), null); while (positions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { out.print(" doc=" + positions.docID()); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java Tue Jul 31 20:58:32 2012 @@ -72,7 +72,7 @@ public class TestDocCount extends Lucene FixedBitSet visited = new FixedBitSet(ir.maxDoc()); TermsEnum te = terms.iterator(null); while (te.next() != null) { - DocsEnum de = _TestUtil.docs(random(), te, null, null, false); + DocsEnum de = _TestUtil.docs(random(), te, null, null, 0); while (de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { visited.set(de.docID()); } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java Tue Jul 31 20:58:32 2012 @@ -881,7 +881,7 @@ public class TestDocValuesIndexing exten public int docId(AtomicReader reader, Term term) throws IOException { int docFreq = reader.docFreq(term); assertEquals(1, docFreq); - DocsEnum termDocsEnum = reader.termDocsEnum(null, term.field, term.bytes, false); + DocsEnum termDocsEnum = reader.termDocsEnum(null, term.field, term.bytes, 0); int nextDoc = termDocsEnum.nextDoc(); assertEquals(DocIdSetIterator.NO_MORE_DOCS, termDocsEnum.nextDoc()); return nextDoc; Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java Tue Jul 31 20:58:32 2012 @@ -92,7 +92,7 @@ public class TestDocsAndPositions extend public DocsAndPositionsEnum getDocsAndPositions(AtomicReader reader, BytesRef bytes, Bits liveDocs) throws IOException { - return reader.termPositionsEnum(null, fieldName, bytes, false); + return reader.termPositionsEnum(null, fieldName, bytes); } /** @@ -217,7 +217,7 @@ public class TestDocsAndPositions extend IndexReaderContext topReaderContext = reader.getTopReaderContext(); for (AtomicReaderContext context : topReaderContext.leaves()) { int maxDoc = context.reader().maxDoc(); - DocsEnum docsEnum = _TestUtil.docs(random(), context.reader(), fieldName, bytes, null, null, true); + DocsEnum docsEnum = _TestUtil.docs(random(), context.reader(), fieldName, bytes, null, null, DocsEnum.FLAG_FREQS); if (findNext(freqInDoc, context.docBase, context.docBase + maxDoc) == Integer.MAX_VALUE) { assertNull(docsEnum); continue; @@ -327,7 +327,7 @@ public class TestDocsAndPositions extend writer.addDocument(doc); DirectoryReader reader = writer.getReader(); AtomicReader r = getOnlySegmentReader(reader); - DocsEnum disi = _TestUtil.docs(random(), r, "foo", new BytesRef("bar"), null, null, false); + DocsEnum disi = _TestUtil.docs(random(), r, "foo", new BytesRef("bar"), null, null, 0); int docid = disi.docID(); assertTrue(docid == -1 || docid == DocIdSetIterator.NO_MORE_DOCS); assertTrue(disi.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); @@ -335,7 +335,7 @@ public class TestDocsAndPositions extend // now reuse and check again TermsEnum te = r.terms("foo").iterator(null); assertTrue(te.seekExact(new BytesRef("bar"), true)); - disi = _TestUtil.docs(random(), te, null, disi, false); + disi = _TestUtil.docs(random(), te, null, disi, 0); docid = disi.docID(); assertTrue(docid == -1 || docid == DocIdSetIterator.NO_MORE_DOCS); assertTrue(disi.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); @@ -352,7 +352,7 @@ public class TestDocsAndPositions extend writer.addDocument(doc); DirectoryReader reader = writer.getReader(); AtomicReader r = getOnlySegmentReader(reader); - DocsAndPositionsEnum disi = r.termPositionsEnum(null, "foo", new BytesRef("bar"), false); + DocsAndPositionsEnum disi = r.termPositionsEnum(null, "foo", new BytesRef("bar")); int docid = disi.docID(); assertTrue(docid == -1 || docid == DocIdSetIterator.NO_MORE_DOCS); assertTrue(disi.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); @@ -360,7 +360,7 @@ public class TestDocsAndPositions extend // now reuse and check again TermsEnum te = r.terms("foo").iterator(null); assertTrue(te.seekExact(new BytesRef("bar"), true)); - disi = te.docsAndPositions(null, disi, false); + disi = te.docsAndPositions(null, disi); docid = disi.docID(); assertTrue(docid == -1 || docid == DocIdSetIterator.NO_MORE_DOCS); assertTrue(disi.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java Tue Jul 31 20:58:32 2012 @@ -129,7 +129,7 @@ public class TestDocumentWriter extends SegmentReader reader = new SegmentReader(info, DirectoryReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random())); DocsAndPositionsEnum termPositions = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), - "repeated", new BytesRef("repeated"), false); + "repeated", new BytesRef("repeated")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); int freq = termPositions.freq(); assertEquals(2, freq); @@ -200,7 +200,7 @@ public class TestDocumentWriter extends writer.close(); SegmentReader reader = new SegmentReader(info, DirectoryReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random())); - DocsAndPositionsEnum termPositions = MultiFields.getTermPositionsEnum(reader, reader.getLiveDocs(), "f1", new BytesRef("a"), false); + DocsAndPositionsEnum termPositions = MultiFields.getTermPositionsEnum(reader, reader.getLiveDocs(), "f1", new BytesRef("a")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); int freq = termPositions.freq(); assertEquals(3, freq); @@ -243,18 +243,18 @@ public class TestDocumentWriter extends writer.close(); SegmentReader reader = new SegmentReader(info, DirectoryReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random())); - DocsAndPositionsEnum termPositions = reader.termPositionsEnum(reader.getLiveDocs(), "preanalyzed", new BytesRef("term1"), false); + DocsAndPositionsEnum termPositions = reader.termPositionsEnum(reader.getLiveDocs(), "preanalyzed", new BytesRef("term1")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, termPositions.freq()); assertEquals(0, termPositions.nextPosition()); - termPositions = reader.termPositionsEnum(reader.getLiveDocs(), "preanalyzed", new BytesRef("term2"), false); + termPositions = reader.termPositionsEnum(reader.getLiveDocs(), "preanalyzed", new BytesRef("term2")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(2, termPositions.freq()); assertEquals(1, termPositions.nextPosition()); assertEquals(3, termPositions.nextPosition()); - termPositions = reader.termPositionsEnum(reader.getLiveDocs(), "preanalyzed", new BytesRef("term3"), false); + termPositions = reader.termPositionsEnum(reader.getLiveDocs(), "preanalyzed", new BytesRef("term3")); assertTrue(termPositions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, termPositions.freq()); assertEquals(2, termPositions.nextPosition()); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java Tue Jul 31 20:58:32 2012 @@ -329,52 +329,52 @@ public class TestDuelingCodecs extends L assertEquals(info, term, rightTermsEnum.next()); assertTermStats(leftTermsEnum, rightTermsEnum); if (deep) { - assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.docsAndPositions(null, leftPositions, false), - rightPositions = rightTermsEnum.docsAndPositions(null, rightPositions, false)); - assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.docsAndPositions(randomBits, leftPositions, false), - rightPositions = rightTermsEnum.docsAndPositions(randomBits, rightPositions, false)); + assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.docsAndPositions(null, leftPositions), + rightPositions = rightTermsEnum.docsAndPositions(null, rightPositions)); + assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.docsAndPositions(randomBits, leftPositions), + rightPositions = rightTermsEnum.docsAndPositions(randomBits, rightPositions)); assertPositionsSkipping(leftTermsEnum.docFreq(), - leftPositions = leftTermsEnum.docsAndPositions(null, leftPositions, false), - rightPositions = rightTermsEnum.docsAndPositions(null, rightPositions, false)); + leftPositions = leftTermsEnum.docsAndPositions(null, leftPositions), + rightPositions = rightTermsEnum.docsAndPositions(null, rightPositions)); assertPositionsSkipping(leftTermsEnum.docFreq(), - leftPositions = leftTermsEnum.docsAndPositions(randomBits, leftPositions, false), - rightPositions = rightTermsEnum.docsAndPositions(randomBits, rightPositions, false)); + leftPositions = leftTermsEnum.docsAndPositions(randomBits, leftPositions), + rightPositions = rightTermsEnum.docsAndPositions(randomBits, rightPositions)); // with freqs: - assertDocsEnum(leftDocs = leftTermsEnum.docs(null, leftDocs, true), - rightDocs = rightTermsEnum.docs(null, rightDocs, true), + assertDocsEnum(leftDocs = leftTermsEnum.docs(null, leftDocs), + rightDocs = rightTermsEnum.docs(null, rightDocs), true); - assertDocsEnum(leftDocs = leftTermsEnum.docs(randomBits, leftDocs, true), - rightDocs = rightTermsEnum.docs(randomBits, rightDocs, true), + assertDocsEnum(leftDocs = leftTermsEnum.docs(randomBits, leftDocs), + rightDocs = rightTermsEnum.docs(randomBits, rightDocs), true); // w/o freqs: - assertDocsEnum(leftDocs = leftTermsEnum.docs(null, leftDocs, false), - rightDocs = rightTermsEnum.docs(null, rightDocs, false), + assertDocsEnum(leftDocs = leftTermsEnum.docs(null, leftDocs, 0), + rightDocs = rightTermsEnum.docs(null, rightDocs, 0), false); - assertDocsEnum(leftDocs = leftTermsEnum.docs(randomBits, leftDocs, false), - rightDocs = rightTermsEnum.docs(randomBits, rightDocs, false), + assertDocsEnum(leftDocs = leftTermsEnum.docs(randomBits, leftDocs, 0), + rightDocs = rightTermsEnum.docs(randomBits, rightDocs, 0), false); // with freqs: assertDocsSkipping(leftTermsEnum.docFreq(), - leftDocs = leftTermsEnum.docs(null, leftDocs, true), - rightDocs = rightTermsEnum.docs(null, rightDocs, true), + leftDocs = leftTermsEnum.docs(null, leftDocs), + rightDocs = rightTermsEnum.docs(null, rightDocs), true); assertDocsSkipping(leftTermsEnum.docFreq(), - leftDocs = leftTermsEnum.docs(randomBits, leftDocs, true), - rightDocs = rightTermsEnum.docs(randomBits, rightDocs, true), + leftDocs = leftTermsEnum.docs(randomBits, leftDocs), + rightDocs = rightTermsEnum.docs(randomBits, rightDocs), true); // w/o freqs: assertDocsSkipping(leftTermsEnum.docFreq(), - leftDocs = leftTermsEnum.docs(null, leftDocs, false), - rightDocs = rightTermsEnum.docs(null, rightDocs, false), + leftDocs = leftTermsEnum.docs(null, leftDocs, 0), + rightDocs = rightTermsEnum.docs(null, rightDocs, 0), false); assertDocsSkipping(leftTermsEnum.docFreq(), - leftDocs = leftTermsEnum.docs(randomBits, leftDocs, false), - rightDocs = rightTermsEnum.docs(randomBits, rightDocs, false), + leftDocs = leftTermsEnum.docs(randomBits, leftDocs, 0), + rightDocs = rightTermsEnum.docs(randomBits, rightDocs, 0), false); } } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestFilterAtomicReader.java Tue Jul 31 20:58:32 2012 @@ -89,8 +89,8 @@ public class TestFilterAtomicReader exte } @Override - public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, boolean needsOffsets) throws IOException { - return new TestPositions(super.docsAndPositions(liveDocs, reuse == null ? null : ((FilterDocsAndPositionsEnum) reuse).in, needsOffsets)); + public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException { + return new TestPositions(super.docsAndPositions(liveDocs, reuse == null ? null : ((FilterDocsAndPositionsEnum) reuse).in, flags)); } } @@ -164,8 +164,7 @@ public class TestFilterAtomicReader exte assertEquals(TermsEnum.SeekStatus.FOUND, terms.seekCeil(new BytesRef("one"))); - DocsAndPositionsEnum positions = terms.docsAndPositions(MultiFields.getLiveDocs(reader), - null, false); + DocsAndPositionsEnum positions = terms.docsAndPositions(MultiFields.getLiveDocs(reader), null); while (positions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { assertTrue((positions.docID() % 2) == 1); } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java Tue Jul 31 20:58:32 2012 @@ -46,6 +46,7 @@ import org.apache.lucene.search.ScoreDoc import org.apache.lucene.search.TermQuery; import org.apache.lucene.store.AlreadyClosedException; import org.apache.lucene.store.Directory; +import org.apache.lucene.store.IndexOutput; import org.apache.lucene.store.Lock; import org.apache.lucene.store.LockFactory; import org.apache.lucene.store.LockObtainFailedException; @@ -540,7 +541,7 @@ public class TestIndexWriter extends Luc new BytesRef("a"), MultiFields.getLiveDocs(reader), null, - true); + DocsEnum.FLAG_FREQS); td.nextDoc(); assertEquals(128*1024, td.freq()); reader.close(); @@ -939,14 +940,14 @@ public class TestIndexWriter extends Luc Terms tpv = r.getTermVectors(0).terms("field"); TermsEnum termsEnum = tpv.iterator(null); assertNotNull(termsEnum.next()); - DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null, false); + DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null); assertNotNull(dpEnum); assertTrue(dpEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, dpEnum.freq()); assertEquals(100, dpEnum.nextPosition()); assertNotNull(termsEnum.next()); - dpEnum = termsEnum.docsAndPositions(null, dpEnum, false); + dpEnum = termsEnum.docsAndPositions(null, dpEnum); assertNotNull(dpEnum); assertTrue(dpEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, dpEnum.freq()); @@ -1181,12 +1182,12 @@ public class TestIndexWriter extends Luc // test that the terms were indexed. - assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc1field1"), null, null, false).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); - assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc2field1"), null, null, false).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); - assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc3field1"), null, null, false).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); - assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc1field2"), null, null, false).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); - assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc2field2"), null, null, false).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); - assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc3field2"), null, null, false).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); + assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc1field1"), null, null, 0).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); + assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc2field1"), null, null, 0).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); + assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc3field1"), null, null, 0).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); + assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc1field2"), null, null, 0).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); + assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc2field2"), null, null, 0).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); + assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc3field2"), null, null, 0).nextDoc() != DocIdSetIterator.NO_MORE_DOCS); ir.close(); dir.close(); @@ -1258,7 +1259,7 @@ public class TestIndexWriter extends Luc TermsEnum t = r.fields().terms("field").iterator(null); int count = 0; while(t.next() != null) { - final DocsEnum docs = _TestUtil.docs(random(), t, null, null, false); + final DocsEnum docs = _TestUtil.docs(random(), t, null, null, 0); assertEquals(0, docs.nextDoc()); assertEquals(DocIdSetIterator.NO_MORE_DOCS, docs.nextDoc()); count++; @@ -1587,7 +1588,7 @@ public class TestIndexWriter extends Luc // Make sure position is still incremented when // massive term is skipped: - DocsAndPositionsEnum tps = MultiFields.getTermPositionsEnum(reader, null, "content", new BytesRef("another"), false); + DocsAndPositionsEnum tps = MultiFields.getTermPositionsEnum(reader, null, "content", new BytesRef("another")); assertEquals(0, tps.nextDoc()); assertEquals(1, tps.freq()); assertEquals(3, tps.nextPosition()); @@ -1836,4 +1837,53 @@ public class TestIndexWriter extends Luc w.close(); dir.close(); } + + //LUCENE-1468 -- make sure opening an IndexWriter with + // create=true does not remove non-index files + + public void testOtherFiles() throws Throwable { + Directory dir = newDirectory(); + IndexWriter iw = new IndexWriter(dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()))); + iw.addDocument(new Document()); + iw.close(); + try { + // Create my own random file: + IndexOutput out = dir.createOutput("myrandomfile", newIOContext(random())); + out.writeByte((byte) 42); + out.close(); + + new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random()))).close(); + + assertTrue(dir.fileExists("myrandomfile")); + } finally { + dir.close(); + } + } + + // here we do better, there is no current segments file, so we don't delete anything. + // however, if you actually go and make a commit, the next time you run indexwriter + // this file will be gone. + public void testOtherFiles2() throws Throwable { + Directory dir = newDirectory(); + try { + // Create my own random file: + IndexOutput out = dir.createOutput("_a.frq", newIOContext(random())); + out.writeByte((byte) 42); + out.close(); + + new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random()))).close(); + + assertTrue(dir.fileExists("_a.frq")); + + IndexWriter iw = new IndexWriter(dir, + newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()))); + iw.addDocument(new Document()); + iw.close(); + + assertFalse(dir.fileExists("_a.frq")); + } finally { + dir.close(); + } + } } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java Tue Jul 31 20:58:32 2012 @@ -507,7 +507,7 @@ public class TestIndexWriterExceptions e new BytesRef(t.text()), MultiFields.getLiveDocs(reader), null, - false); + 0); int count = 0; while(tdocs.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java Tue Jul 31 20:58:32 2012 @@ -53,7 +53,7 @@ public class TestIndexWriterReader exten t.field(), new BytesRef(t.text()), MultiFields.getLiveDocs(r), null, - false); + 0); if (td != null) { while (td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { @@ -987,7 +987,7 @@ public class TestIndexWriterReader exten w.addDocument(doc); SegmentReader r = getOnlySegmentReader(DirectoryReader.open(w, true)); try { - _TestUtil.docs(random(), r, "f", new BytesRef("val"), null, null, false); + _TestUtil.docs(random(), r, "f", new BytesRef("val"), null, null, 0); fail("should have failed to seek since terms index was not loaded."); } catch (IllegalStateException e) { // expected - we didn't load the term index Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java Tue Jul 31 20:58:32 2012 @@ -224,7 +224,7 @@ public class TestIndexWriterWithThreads new BytesRef("aaa"), MultiFields.getLiveDocs(reader), null, - false); + 0); int count = 0; while(tdocs.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { count++; Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java Tue Jul 31 20:58:32 2012 @@ -264,14 +264,14 @@ public class TestIndexableField extends TermsEnum termsEnum = tfv.iterator(null); assertEquals(new BytesRef(""+counter), termsEnum.next()); assertEquals(1, termsEnum.totalTermFreq()); - DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null, false); + DocsAndPositionsEnum dpEnum = termsEnum.docsAndPositions(null, null); assertTrue(dpEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, dpEnum.freq()); assertEquals(1, dpEnum.nextPosition()); assertEquals(new BytesRef("text"), termsEnum.next()); assertEquals(1, termsEnum.totalTermFreq()); - dpEnum = termsEnum.docsAndPositions(null, dpEnum, false); + dpEnum = termsEnum.docsAndPositions(null, dpEnum); assertTrue(dpEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, dpEnum.freq()); assertEquals(0, dpEnum.nextPosition()); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Tue Jul 31 20:58:32 2012 @@ -157,8 +157,7 @@ public class TestLazyProxSkipping extend DocsAndPositionsEnum tp = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), this.field, - new BytesRef("b"), - false); + new BytesRef("b")); for (int i = 0; i < 10; i++) { tp.nextDoc(); @@ -169,8 +168,7 @@ public class TestLazyProxSkipping extend tp = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), this.field, - new BytesRef("a"), - false); + new BytesRef("a")); for (int i = 0; i < 10; i++) { tp.nextDoc(); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java Tue Jul 31 20:58:32 2012 @@ -170,7 +170,7 @@ public class TestLongPostings extends Lu System.out.println("\nTEST: iter=" + iter + " doS1=" + doS1); } - final DocsAndPositionsEnum postings = MultiFields.getTermPositionsEnum(r, null, "field", new BytesRef(term), false); + final DocsAndPositionsEnum postings = MultiFields.getTermPositionsEnum(r, null, "field", new BytesRef(term)); int docID = -1; while(docID < DocIdSetIterator.NO_MORE_DOCS) { @@ -368,10 +368,10 @@ public class TestLongPostings extends Lu final DocsEnum postings; if (options == IndexOptions.DOCS_ONLY) { - docs = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, false); + docs = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, 0); postings = null; } else { - docs = postings = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, true); + docs = postings = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, DocsEnum.FLAG_FREQS); assert postings != null; } assert docs != null; Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java Tue Jul 31 20:58:32 2012 @@ -121,7 +121,7 @@ public class TestMultiFields extends Luc System.out.println("TEST: seek term="+ UnicodeUtil.toHexString(term.utf8ToString()) + " " + term); } - DocsEnum docsEnum = _TestUtil.docs(random(), reader, "field", term, liveDocs, null, false); + DocsEnum docsEnum = _TestUtil.docs(random(), reader, "field", term, liveDocs, null, 0); assertNotNull(docsEnum); for(int docID : docs.get(term)) { @@ -162,8 +162,8 @@ public class TestMultiFields extends Luc w.addDocument(d); IndexReader r = w.getReader(); w.close(); - DocsEnum d1 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, false); - DocsEnum d2 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, false); + DocsEnum d1 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, 0); + DocsEnum d2 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, 0); assertEquals(0, d1.nextDoc()); assertEquals(0, d2.nextDoc()); r.close(); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java Tue Jul 31 20:58:32 2012 @@ -86,8 +86,7 @@ public class TestMultiLevelSkipList exte counter = 0; DocsAndPositionsEnum tp = reader.termPositionsEnum(reader.getLiveDocs(), term.field(), - new BytesRef(term.text()), - false); + new BytesRef(term.text())); checkSkipTo(tp, 14, 185); // no skips checkSkipTo(tp, 17, 190); // one skip on level 0 Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java Tue Jul 31 20:58:32 2012 @@ -51,9 +51,9 @@ public class TestOmitPositions extends L IndexReader reader = w.getReader(); w.close(); - assertNull(MultiFields.getTermPositionsEnum(reader, null, "foo", new BytesRef("test"), false)); + assertNull(MultiFields.getTermPositionsEnum(reader, null, "foo", new BytesRef("test"))); - DocsEnum de = _TestUtil.docs(random(), reader, "foo", new BytesRef("test"), null, null, true); + DocsEnum de = _TestUtil.docs(random(), reader, "foo", new BytesRef("test"), null, null, DocsEnum.FLAG_FREQS); while (de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { assertEquals(2, de.freq()); } Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java Tue Jul 31 20:58:32 2012 @@ -81,7 +81,7 @@ public class TestParallelTermEnum extend BytesRef b = te.next(); assertNotNull(b); assertEquals(t, b.utf8ToString()); - DocsEnum td = _TestUtil.docs(random(), te, liveDocs, null, false); + DocsEnum td = _TestUtil.docs(random(), te, liveDocs, null, 0); assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS); assertEquals(0, td.docID()); assertEquals(td.nextDoc(), DocIdSetIterator.NO_MORE_DOCS); Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java Tue Jul 31 20:58:32 2012 @@ -160,7 +160,7 @@ public class TestPayloadProcessorProvide IndexReader reader = DirectoryReader.open(dir); try { int numPayloads = 0; - DocsAndPositionsEnum tpe = MultiFields.getTermPositionsEnum(reader, null, field, text, false); + DocsAndPositionsEnum tpe = MultiFields.getTermPositionsEnum(reader, null, field, text); while (tpe.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { tpe.nextPosition(); if (tpe.hasPayload()) { Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java Tue Jul 31 20:58:32 2012 @@ -188,8 +188,7 @@ public class TestPayloads extends Lucene tps[i] = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), terms[i].field(), - new BytesRef(terms[i].text()), - false); + new BytesRef(terms[i].text())); } while (tps[0].nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { @@ -226,8 +225,7 @@ public class TestPayloads extends Lucene DocsAndPositionsEnum tp = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), terms[0].field(), - new BytesRef(terms[0].text()), - false); + new BytesRef(terms[0].text())); tp.nextDoc(); tp.nextPosition(); // NOTE: prior rev of this test was failing to first @@ -255,8 +253,7 @@ public class TestPayloads extends Lucene tp = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), terms[1].field(), - new BytesRef(terms[1].text()), - false); + new BytesRef(terms[1].text())); tp.nextDoc(); tp.nextPosition(); assertEquals("Wrong payload length.", 1, tp.getPayload().length); @@ -299,8 +296,7 @@ public class TestPayloads extends Lucene tp = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), fieldName, - new BytesRef(singleTerm), - false); + new BytesRef(singleTerm)); tp.nextDoc(); tp.nextPosition(); @@ -501,7 +497,7 @@ public class TestPayloads extends Lucene DocsAndPositionsEnum tp = null; while (terms.next() != null) { String termText = terms.term().utf8ToString(); - tp = terms.docsAndPositions(liveDocs, tp, false); + tp = terms.docsAndPositions(liveDocs, tp); while(tp.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { int freq = tp.freq(); for (int i = 0; i < freq; i++) { Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java Tue Jul 31 20:58:32 2012 @@ -227,7 +227,7 @@ public class TestPerSegmentDeletes exten Terms cterms = fields.terms(term.field); TermsEnum ctermsEnum = cterms.iterator(null); if (ctermsEnum.seekExact(new BytesRef(term.text()), false)) { - DocsEnum docsEnum = _TestUtil.docs(random(), ctermsEnum, bits, null, false); + DocsEnum docsEnum = _TestUtil.docs(random(), ctermsEnum, bits, null, 0); return toArray(docsEnum); } return null; Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsFormat.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsFormat.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsFormat.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsFormat.java Tue Jul 31 20:58:32 2012 @@ -43,6 +43,7 @@ import org.apache.lucene.util.Constants; import org.apache.lucene.util.FixedBitSet; import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.util._TestUtil; +import org.junit.AfterClass; import org.junit.BeforeClass; /* NOTE: This test focuses on the postings @@ -114,7 +115,7 @@ public class TestPostingsFormat extends int endOffset; } - private static class Posting implements Comparable{ + private static class Posting implements Comparable { int docID; List positions; @@ -178,25 +179,27 @@ public class TestPostingsFormat extends seenTerms.add(term); int numDocs; - if (random().nextInt(10) == 3 && numBigTerms < 3) { + if (random().nextInt(10) == 3 && numBigTerms < 2) { // 10% of the time make a highish freq term: - numDocs = _TestUtil.nextInt(random(), 50000, 70000); + numDocs = RANDOM_MULTIPLIER * _TestUtil.nextInt(random(), 50000, 70000); numBigTerms++; term = "big_" + term; - } else if (random().nextInt(10) == 3 && numMediumTerms < 10) { + } else if (random().nextInt(10) == 3 && numMediumTerms < 5) { // 10% of the time make a medium freq term: // TODO not high enough to test level 1 skipping: - numDocs = atLeast(3000); + numDocs = RANDOM_MULTIPLIER * _TestUtil.nextInt(random(), 3000, 6000); numMediumTerms++; term = "medium_" + term; - } else { + } else if (random().nextBoolean()) { // Low freq term: - numDocs = _TestUtil.nextInt(random(), 1, 40); + numDocs = RANDOM_MULTIPLIER * _TestUtil.nextInt(random(), 1, 40); term = "low_" + term; + } else { + // Very low freq term (don't multiply by RANDOM_MULTIPLIER): + numDocs = _TestUtil.nextInt(random(), 1, 3); + term = "verylow_" + term; } - numDocs *= RANDOM_MULTIPLIER; - List termPostings = new ArrayList(); postings.put(new BytesRef(term), termPostings); @@ -315,6 +318,15 @@ public class TestPostingsFormat extends System.out.println("TEST: done init postings; maxDocID=" + maxDocID + "; " + allTerms.size() + " total terms, across " + fieldInfos.size() + " fields"); } } + + @AfterClass + public static void afterClass() throws Exception { + allTerms = null; + fieldInfos = null; + fields = null; + fieldsLive = null; + globalLiveDocs = null; + } // TODO maybe instead of @BeforeClass just make a single test run: build postings & index & test it? @@ -508,7 +520,7 @@ public class TestPostingsFormat extends maxIndexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0; boolean doCheckOffsets = allowOffsets && random().nextInt(3) <= 2; - boolean doCheckPayloads = options.contains(Option.PAYLOADS) && allowPositions && fieldInfo.hasPayloads(); + boolean doCheckPayloads = options.contains(Option.PAYLOADS) && allowPositions && fieldInfo.hasPayloads() && random().nextInt(3) <= 2; DocsEnum prevDocsEnum = null; @@ -518,15 +530,24 @@ public class TestPostingsFormat extends if (!doCheckPositions) { if (allowPositions && random().nextInt(10) == 7) { // 10% of the time, even though we will not check positions, pull a DocsAndPositions enum - if (VERBOSE) { - System.out.println(" get DocsAndPositionsEnum (but we won't check positions)"); - } if (options.contains(Option.REUSE_ENUMS) && random().nextInt(10) < 9) { prevDocsEnum = threadState.reuseDocsAndPositionsEnum; } - threadState.reuseDocsAndPositionsEnum = termsEnum.docsAndPositions(liveDocs, (DocsAndPositionsEnum) prevDocsEnum, false); + int flags = 0; + if (random().nextBoolean()) { + flags |= DocsAndPositionsEnum.FLAG_OFFSETS; + } + if (random().nextBoolean()) { + flags |= DocsAndPositionsEnum.FLAG_PAYLOADS; + } + + if (VERBOSE) { + System.out.println(" get DocsAndPositionsEnum (but we won't check positions) flags=" + flags); + } + + threadState.reuseDocsAndPositionsEnum = termsEnum.docsAndPositions(liveDocs, (DocsAndPositionsEnum) prevDocsEnum, flags); docsEnum = threadState.reuseDocsAndPositionsEnum; docsAndPositionsEnum = threadState.reuseDocsAndPositionsEnum; } else { @@ -536,25 +557,35 @@ public class TestPostingsFormat extends if (options.contains(Option.REUSE_ENUMS) && random().nextInt(10) < 9) { prevDocsEnum = threadState.reuseDocsEnum; } - threadState.reuseDocsEnum = termsEnum.docs(liveDocs, prevDocsEnum, doCheckFreqs); + threadState.reuseDocsEnum = termsEnum.docs(liveDocs, prevDocsEnum, doCheckFreqs ? DocsEnum.FLAG_FREQS : 0); docsEnum = threadState.reuseDocsEnum; docsAndPositionsEnum = null; } } else { - if (VERBOSE) { - System.out.println(" get DocsAndPositionsEnum"); - } if (options.contains(Option.REUSE_ENUMS) && random().nextInt(10) < 9) { prevDocsEnum = threadState.reuseDocsAndPositionsEnum; } - threadState.reuseDocsAndPositionsEnum = termsEnum.docsAndPositions(liveDocs, (DocsAndPositionsEnum) prevDocsEnum, doCheckOffsets); + + int flags = 0; + if (doCheckOffsets || random().nextInt(3) == 1) { + flags |= DocsAndPositionsEnum.FLAG_OFFSETS; + } + if (doCheckPayloads|| random().nextInt(3) == 1) { + flags |= DocsAndPositionsEnum.FLAG_PAYLOADS; + } + + if (VERBOSE) { + System.out.println(" get DocsAndPositionsEnum flags=" + flags); + } + + threadState.reuseDocsAndPositionsEnum = termsEnum.docsAndPositions(liveDocs, (DocsAndPositionsEnum) prevDocsEnum, flags); docsEnum = threadState.reuseDocsAndPositionsEnum; docsAndPositionsEnum = threadState.reuseDocsAndPositionsEnum; } assertNotNull("null DocsEnum", docsEnum); int initialDocID = docsEnum.docID(); - assertTrue("inital docID should be -1 or NO_MORE_DOCS", initialDocID == -1 || initialDocID == DocsEnum.NO_MORE_DOCS); + assertTrue("inital docID should be -1 or NO_MORE_DOCS: " + docsEnum, initialDocID == -1 || initialDocID == DocsEnum.NO_MORE_DOCS); if (VERBOSE) { if (prevDocsEnum == null) { @@ -859,7 +890,7 @@ public class TestPostingsFormat extends } public void test() throws Exception { - Directory dir = newDirectory(); + Directory dir = newFSDirectory(_TestUtil.getTempDir("testPostingsFormat")); boolean indexPayloads = random().nextBoolean(); // TODO test thread safety of buildIndex too Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java?rev=1367777&r1=1367776&r2=1367777&view=diff ============================================================================== --- lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java (original) +++ lucene/dev/branches/pforcodec_3892/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java Tue Jul 31 20:58:32 2012 @@ -83,7 +83,7 @@ public class TestPostingsOffsets extends IndexReader r = w.getReader(); w.close(); - DocsAndPositionsEnum dp = MultiFields.getTermPositionsEnum(r, null, "content", new BytesRef("a"), true); + DocsAndPositionsEnum dp = MultiFields.getTermPositionsEnum(r, null, "content", new BytesRef("a")); assertNotNull(dp); assertEquals(0, dp.nextDoc()); assertEquals(2, dp.freq()); @@ -95,7 +95,7 @@ public class TestPostingsOffsets extends assertEquals(17, dp.endOffset()); assertEquals(DocIdSetIterator.NO_MORE_DOCS, dp.nextDoc()); - dp = MultiFields.getTermPositionsEnum(r, null, "content", new BytesRef("b"), true); + dp = MultiFields.getTermPositionsEnum(r, null, "content", new BytesRef("b")); assertNotNull(dp); assertEquals(0, dp.nextDoc()); assertEquals(1, dp.freq()); @@ -104,7 +104,7 @@ public class TestPostingsOffsets extends assertEquals(9, dp.endOffset()); assertEquals(DocIdSetIterator.NO_MORE_DOCS, dp.nextDoc()); - dp = MultiFields.getTermPositionsEnum(r, null, "content", new BytesRef("c"), true); + dp = MultiFields.getTermPositionsEnum(r, null, "content", new BytesRef("c")); assertNotNull(dp); assertEquals(0, dp.nextDoc()); assertEquals(1, dp.freq()); @@ -155,7 +155,7 @@ public class TestPostingsOffsets extends String terms[] = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "hundred" }; for (String term : terms) { - DocsAndPositionsEnum dp = MultiFields.getTermPositionsEnum(reader, null, "numbers", new BytesRef(term), true); + DocsAndPositionsEnum dp = MultiFields.getTermPositionsEnum(reader, null, "numbers", new BytesRef(term)); int doc; while((doc = dp.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { String storedNumbers = reader.document(doc).get("numbers"); @@ -183,7 +183,7 @@ public class TestPostingsOffsets extends for (int j = 0; j < numSkippingTests; j++) { int num = _TestUtil.nextInt(random(), 100, Math.min(numDocs-1, 999)); - DocsAndPositionsEnum dp = MultiFields.getTermPositionsEnum(reader, null, "numbers", new BytesRef("hundred"), true); + DocsAndPositionsEnum dp = MultiFields.getTermPositionsEnum(reader, null, "numbers", new BytesRef("hundred")); int doc = dp.advance(num); assertEquals(num, doc); int freq = dp.freq(); @@ -208,7 +208,7 @@ public class TestPostingsOffsets extends // check that other fields (without offsets) work correctly for (int i = 0; i < numDocs; i++) { - DocsEnum dp = MultiFields.getTermDocsEnum(reader, null, "id", new BytesRef("" + i), false); + DocsEnum dp = MultiFields.getTermDocsEnum(reader, null, "id", new BytesRef("" + i), 0); assertEquals(i, dp.nextDoc()); assertEquals(DocIdSetIterator.NO_MORE_DOCS, dp.nextDoc()); } @@ -301,7 +301,7 @@ public class TestPostingsOffsets extends for(String term : terms) { //System.out.println(" term=" + term); if (termsEnum.seekExact(new BytesRef(term), random().nextBoolean())) { - docs = termsEnum.docs(null, docs, true); + docs = termsEnum.docs(null, docs); assertNotNull(docs); int doc; //System.out.println(" doc/freq"); @@ -312,7 +312,8 @@ public class TestPostingsOffsets extends assertEquals(expected.size(), docs.freq()); } - docsAndPositions = termsEnum.docsAndPositions(null, docsAndPositions, false); + // explicitly exclude offsets here + docsAndPositions = termsEnum.docsAndPositions(null, docsAndPositions, DocsAndPositionsEnum.FLAG_PAYLOADS); assertNotNull(docsAndPositions); //System.out.println(" doc/freq/pos"); while((doc = docsAndPositions.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { @@ -327,7 +328,7 @@ public class TestPostingsOffsets extends } } - docsAndPositionsAndOffsets = termsEnum.docsAndPositions(null, docsAndPositions, true); + docsAndPositionsAndOffsets = termsEnum.docsAndPositions(null, docsAndPositions); assertNotNull(docsAndPositionsAndOffsets); //System.out.println(" doc/freq/pos/offs"); while((doc = docsAndPositionsAndOffsets.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {