You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2013/01/08 04:40:37 UTC

svn commit: r1430130 [8/27] - in /lucene/dev/branches/lucene4547: ./ dev-tools/ dev-tools/eclipse/ dev-tools/idea/.idea/libraries/ dev-tools/maven/ dev-tools/maven/solr/ dev-tools/maven/solr/contrib/analysis-extras/ dev-tools/maven/solr/contrib/cluster...

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java Tue Jan  8 03:40:16 2013
@@ -357,11 +357,11 @@ public class TestDuelingCodecs extends L
             true);
 
         // w/o freqs:
-        assertDocsEnum(leftDocs = leftTermsEnum.docs(null, leftDocs, 0),
-            rightDocs = rightTermsEnum.docs(null, rightDocs, 0),
+        assertDocsEnum(leftDocs = leftTermsEnum.docs(null, leftDocs, DocsEnum.FLAG_NONE),
+            rightDocs = rightTermsEnum.docs(null, rightDocs, DocsEnum.FLAG_NONE),
             false);
-        assertDocsEnum(leftDocs = leftTermsEnum.docs(randomBits, leftDocs, 0),
-            rightDocs = rightTermsEnum.docs(randomBits, rightDocs, 0),
+        assertDocsEnum(leftDocs = leftTermsEnum.docs(randomBits, leftDocs, DocsEnum.FLAG_NONE),
+            rightDocs = rightTermsEnum.docs(randomBits, rightDocs, DocsEnum.FLAG_NONE),
             false);
         
         // with freqs:
@@ -376,12 +376,12 @@ public class TestDuelingCodecs extends L
 
         // w/o freqs:
         assertDocsSkipping(leftTermsEnum.docFreq(), 
-            leftDocs = leftTermsEnum.docs(null, leftDocs, 0),
-            rightDocs = rightTermsEnum.docs(null, rightDocs, 0),
+            leftDocs = leftTermsEnum.docs(null, leftDocs, DocsEnum.FLAG_NONE),
+            rightDocs = rightTermsEnum.docs(null, rightDocs, DocsEnum.FLAG_NONE),
             false);
         assertDocsSkipping(leftTermsEnum.docFreq(), 
-            leftDocs = leftTermsEnum.docs(randomBits, leftDocs, 0),
-            rightDocs = rightTermsEnum.docs(randomBits, rightDocs, 0),
+            leftDocs = leftTermsEnum.docs(randomBits, leftDocs, DocsEnum.FLAG_NONE),
+            rightDocs = rightTermsEnum.docs(randomBits, rightDocs, DocsEnum.FLAG_NONE),
             false);
       }
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestFlushByRamOrCountsPolicy.java Tue Jan  8 03:40:16 2013
@@ -302,6 +302,7 @@ public class TestFlushByRamOrCountsPolic
       this.doRandomCommit = doRandomCommit;
     }
 
+    @Override
     public void run() {
       try {
         long ramSize = 0;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java Tue Jan  8 03:40:16 2013
@@ -17,15 +17,17 @@ package org.apache.lucene.index;
  * limitations under the License.
  */
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Random;
+import java.util.Set;
 
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
@@ -56,7 +58,9 @@ import org.apache.lucene.store.NoLockFac
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.store.SimpleFSLockFactory;
 import org.apache.lucene.store.SingleInstanceLockFactory;
+import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.ThreadInterruptedException;
 import org.apache.lucene.util._TestUtil;
@@ -999,11 +1003,33 @@ public class TestIndexWriter extends Luc
     volatile boolean finish;
 
     volatile boolean allowInterrupt = false;
+    final Random random;
+    final Directory adder;
+    
+    IndexerThreadInterrupt() throws IOException {
+      this.random = new Random(random().nextLong());
+      // make a little directory for addIndexes
+      // LUCENE-2239: won't work with NIOFS/MMAP
+      adder = new MockDirectoryWrapper(random, new RAMDirectory());
+      IndexWriterConfig conf = newIndexWriterConfig(random,
+          TEST_VERSION_CURRENT, new MockAnalyzer(random));
+      IndexWriter w = new IndexWriter(adder, conf);
+      Document doc = new Document();
+      doc.add(newStringField(random, "id", "500", Field.Store.NO));
+      doc.add(newField(random, "field", "some prepackaged text contents", storedTextType));
+      w.addDocument(doc);
+      doc = new Document();
+      doc.add(newStringField(random, "id", "501", Field.Store.NO));
+      doc.add(newField(random, "field", "some more contents", storedTextType));
+      w.addDocument(doc);
+      w.deleteDocuments(new Term("id", "500"));
+      w.close();
+    }
 
     @Override
     public void run() {
       // LUCENE-2239: won't work with NIOFS/MMAP
-      Directory dir = new MockDirectoryWrapper(random(), new RAMDirectory());
+      Directory dir = new MockDirectoryWrapper(random, new RAMDirectory());
       IndexWriter w = null;
       while(!finish) {
         try {
@@ -1013,17 +1039,44 @@ public class TestIndexWriter extends Luc
               w.close();
               w = null;
             }
-            IndexWriterConfig conf = newIndexWriterConfig(
-                                                          TEST_VERSION_CURRENT, new MockAnalyzer(random())).setMaxBufferedDocs(2);
+            IndexWriterConfig conf = newIndexWriterConfig(random,
+                                                          TEST_VERSION_CURRENT, new MockAnalyzer(random)).setMaxBufferedDocs(2);
             w = new IndexWriter(dir, conf);
 
             Document doc = new Document();
-            doc.add(newField("field", "some text contents", storedTextType));
+            Field idField = newStringField(random, "id", "", Field.Store.NO);
+            doc.add(idField);
+            doc.add(newField(random, "field", "some text contents", storedTextType));
             for(int i=0;i<100;i++) {
-              w.addDocument(doc);
+              idField.setStringValue(Integer.toString(i));
+              int action = random.nextInt(100);
+              if (action == 17) {
+                w.addIndexes(adder);
+              } else if (action%30 == 0) {
+                w.deleteAll();
+              } else if (action%2 == 0) {
+                w.updateDocument(new Term("id", idField.stringValue()), doc);
+              } else {
+                w.addDocument(doc);
+              }
+              if (random.nextInt(3) == 0) {
+                IndexReader r = null;
+                try {
+                  r = DirectoryReader.open(w, random.nextBoolean());
+                  if (random.nextBoolean() && r.maxDoc() > 0) {
+                    int docid = random.nextInt(r.maxDoc());
+                    w.tryDeleteDocument(r, docid);
+                  }
+                } finally {
+                  IOUtils.closeWhileHandlingException(r);
+                }
+              }
               if (i%10 == 0) {
                 w.commit();
               }
+              if (random.nextInt(50) == 0) {
+                w.forceMerge(1);
+              }
             }
             w.close();
             w = null;
@@ -1041,10 +1094,12 @@ public class TestIndexWriter extends Luc
             allowInterrupt = true;
           }
         } catch (ThreadInterruptedException re) {
-          if (VERBOSE) {
-            System.out.println("TEST: got interrupt");
-            re.printStackTrace(System.out);
-          }
+          // NOTE: important to leave this verbosity/noise
+          // on!!  This test doesn't repro easily so when
+          // Jenkins hits a fail we need to study where the
+          // interrupts struck!
+          System.out.println("TEST: got interrupt");
+          re.printStackTrace(System.out);
           Throwable e = re.getCause();
           assertTrue(e instanceof InterruptedException);
           if (finish) {
@@ -1087,7 +1142,7 @@ public class TestIndexWriter extends Luc
         }
       }
       try {
-        dir.close();
+        IOUtils.close(dir, adder);
       } catch (IOException e) {
         throw new RuntimeException(e);
       }
@@ -1105,9 +1160,12 @@ public class TestIndexWriter extends Luc
     // init this class (in servicing a first interrupt):
     assertTrue(new ThreadInterruptedException(new InterruptedException()).getCause() instanceof InterruptedException);
 
-    // issue 100 interrupts to child thread
+    // issue 300 interrupts to child thread
+    final int numInterrupts = atLeast(300);
     int i = 0;
-    while(i < 100) {
+    while(i < numInterrupts) {
+      // TODO: would be nice to also sometimes interrupt the
+      // CMS merge threads too ...
       Thread.sleep(10);
       if (t.allowInterrupt) {
         i++;
@@ -1181,12 +1239,12 @@ public class TestIndexWriter extends Luc
 
 
     // test that the terms were indexed.
-    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);
+    assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc1field1"), null, null, DocsEnum.FLAG_NONE).nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
+    assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc2field1"), null, null, DocsEnum.FLAG_NONE).nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
+    assertTrue(_TestUtil.docs(random(), ir, "binary", new BytesRef("doc3field1"), null, null, DocsEnum.FLAG_NONE).nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
+    assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc1field2"), null, null, DocsEnum.FLAG_NONE).nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
+    assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc2field2"), null, null, DocsEnum.FLAG_NONE).nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
+    assertTrue(_TestUtil.docs(random(), ir, "string", new BytesRef("doc3field2"), null, null, DocsEnum.FLAG_NONE).nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
 
     ir.close();
     dir.close();
@@ -1232,7 +1290,6 @@ public class TestIndexWriter extends Luc
     Directory dir = newDirectory();
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
         TEST_VERSION_CURRENT, new MockAnalyzer(random())));
-    ByteArrayOutputStream bos = new ByteArrayOutputStream(1024);
     writer.addDocument(new Document());
     writer.close();
 
@@ -1258,7 +1315,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, 0);
+      final DocsEnum docs = _TestUtil.docs(random(), t, null, null, DocsEnum.FLAG_NONE);
       assertEquals(0, docs.nextDoc());
       assertEquals(DocIdSetIterator.NO_MORE_DOCS, docs.nextDoc());
       count++;
@@ -1997,4 +2054,92 @@ public class TestIndexWriter extends Luc
     dir.close();
   }
   
+  public void testIterableThrowsException() throws IOException {
+    Directory dir = newDirectory();
+    IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(
+        TEST_VERSION_CURRENT, new MockAnalyzer(random())));
+    int iters = atLeast(100);
+    int docCount = 0;
+    int docId = 0;
+    Set<String> liveIds = new HashSet<String>();
+    for (int i = 0; i < iters; i++) {
+      List<Document> docs = new ArrayList<Document>();
+      FieldType ft = new FieldType(TextField.TYPE_NOT_STORED);
+      FieldType idFt = new FieldType(TextField.TYPE_STORED);
+      
+      int numDocs = atLeast(4);
+      for (int j = 0; j < numDocs; j++) {
+        Document doc = new Document();
+        doc.add(newField("id", ""+ (docId++), idFt));
+        doc.add(newField("foo", _TestUtil.randomSimpleString(random()), ft));
+        docs.add(doc);
+      }
+      boolean success = false;
+      try {
+        w.addDocuments(new RandomFailingFieldIterable(docs, random()));
+        success = true;
+      } catch (RuntimeException e) {
+        assertEquals("boom", e.getMessage());
+      } finally {
+        if (success) {
+          docCount += docs.size();
+          for (Document indexDocument : docs) {
+            liveIds.add(indexDocument.get("id"));  
+          }
+        }
+      }
+    }
+    DirectoryReader reader = w.getReader();
+    assertEquals(docCount, reader.numDocs());
+    List<AtomicReaderContext> leaves = reader.leaves();
+    for (AtomicReaderContext atomicReaderContext : leaves) {
+      AtomicReader ar = atomicReaderContext.reader();
+      Bits liveDocs = ar.getLiveDocs();
+      int maxDoc = ar.maxDoc();
+      for (int i = 0; i < maxDoc; i++) {
+        if (liveDocs == null || liveDocs.get(i)) {
+          assertTrue(liveIds.remove(ar.document(i).get("id")));
+        }
+      }
+    }
+    assertTrue(liveIds.isEmpty());
+    IOUtils.close(reader, w, dir);
+  }
+
+  private static class RandomFailingFieldIterable implements Iterable<IndexDocument> {
+    private final List<? extends IndexDocument> docList;
+    private final Random random;
+
+    public RandomFailingFieldIterable(List<? extends IndexDocument> docList, Random random) {
+      this.docList = docList;
+      this.random = random;
+    }
+    
+    @Override
+    public Iterator<IndexDocument> iterator() {
+      final Iterator<? extends IndexDocument> docIter = docList.iterator();
+      return new Iterator<IndexDocument>() {
+
+        @Override
+        public boolean hasNext() {
+          return docIter.hasNext();
+        }
+
+        @Override
+        public IndexDocument next() {
+          if (random.nextInt(5) == 0) {
+            throw new RuntimeException("boom");
+          }
+          return docIter.next();
+        }
+
+        @Override
+        public void remove() {throw new UnsupportedOperationException();}
+        
+        
+      };
+    }
+    
+  }
+  
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java Tue Jan  8 03:40:16 2013
@@ -17,73 +17,33 @@ package org.apache.lucene.index;
  * limitations under the License.
  */
 
-import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util._TestUtil;
+
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util._TestUtil;
 
 /**
  * This tests the patch for issue #LUCENE-715 (IndexWriter does not
  * release its write lock when trying to open an index which does not yet
  * exist).
  */
-
 public class TestIndexWriterLockRelease extends LuceneTestCase {
-    private java.io.File __test_dir;
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        if (this.__test_dir == null) {
-            this.__test_dir = _TestUtil.getTempDir("testIndexWriter");
-
-            if (this.__test_dir.exists()) {
-                throw new IOException("test directory \"" + this.__test_dir.getPath() + "\" already exists (please remove by hand)");
-            }
-
-            if (!this.__test_dir.mkdirs()
-                && !this.__test_dir.isDirectory()) {
-                throw new IOException("unable to create test directory \"" + this.__test_dir.getPath() + "\"");
-            }
-        }
-    }
-
-    @Override
-    public void tearDown() throws Exception {
-        if (this.__test_dir != null) {
-            File[] files = this.__test_dir.listFiles();
-
-            for (int i = 0;
-                i < files.length;
-                ++i) {
-                if (!files[i].delete()) {
-                    throw new IOException("unable to remove file in test directory \"" + this.__test_dir.getPath() + "\" (please remove by hand)");
-                }
-            }
-
-            if (!this.__test_dir.delete()) {
-                throw new IOException("unable to remove test directory \"" + this.__test_dir.getPath() + "\" (please remove by hand)");
-            }
-        }
-        super.tearDown();
-    }
-
-    public void testIndexWriterLockRelease() throws IOException {
-      Directory dir = newFSDirectory(this.__test_dir);
+  
+  public void testIndexWriterLockRelease() throws IOException {
+    Directory dir = newFSDirectory(_TestUtil.getTempDir("testLockRelease"));
+    try {
+      new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setOpenMode(OpenMode.APPEND));
+    } catch (FileNotFoundException e) {
       try {
         new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setOpenMode(OpenMode.APPEND));
-      } catch (FileNotFoundException e) {
-        try {
-          new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setOpenMode(OpenMode.APPEND));
-        } catch (FileNotFoundException e1) {
-        }
-      } finally {
-        dir.close();
+      } catch (FileNotFoundException e1) {
       }
+    } finally {
+      dir.close();
     }
+  }
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterNRTIsCurrent.java Tue Jan  8 03:40:16 2013
@@ -86,6 +86,7 @@ public class TestIndexWriterNRTIsCurrent
       this.latch = latch;
     }
 
+    @Override
     public void run() {
       DirectoryReader currentReader = null;
       Random random = LuceneTestCase.random();
@@ -158,6 +159,7 @@ public class TestIndexWriterNRTIsCurrent
       this.latch = latch;
     }
 
+    @Override
     public void run() {
       try {
         latch.await();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java Tue Jan  8 03:40:16 2013
@@ -983,7 +983,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, 0);
+      _TestUtil.docs(random(), r, "f", new BytesRef("val"), null, null, DocsEnum.FLAG_NONE);
       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/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestIntBlockPool.java Tue Jan  8 03:40:16 2013
@@ -116,6 +116,7 @@ public class TestIntBlockPool extends Lu
       this.bytesUsed = bytesUsed;
     }
     
+    @Override
     public int[] getIntBlock() {
       bytesUsed.addAndGet(blockSize * RamUsageEstimator.NUM_BYTES_INT);
       return new int[blockSize];

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java Tue Jan  8 03:40:16 2013
@@ -374,7 +374,7 @@ public class TestLongPostings extends Lu
       final DocsEnum postings;
 
       if (options == IndexOptions.DOCS_ONLY) {
-        docs = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, 0);
+        docs = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, DocsEnum.FLAG_NONE);
         postings = null;
       } else {
         docs = postings = _TestUtil.docs(random(), r, "field", new BytesRef(term), null, null, DocsEnum.FLAG_FREQS);

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java Tue Jan  8 03:40:16 2013
@@ -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, 0);
+        DocsEnum docsEnum = _TestUtil.docs(random(), reader, "field", term, liveDocs, null, DocsEnum.FLAG_NONE);
         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, 0);
-    DocsEnum d2 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, 0);
+    DocsEnum d1 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, DocsEnum.FLAG_NONE);
+    DocsEnum d2 = _TestUtil.docs(random(), r, "f", new BytesRef("j"), null, null, DocsEnum.FLAG_NONE);
     assertEquals(0, d1.nextDoc());
     assertEquals(0, d2.nextDoc());
     r.close();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java Tue Jan  8 03:40:16 2013
@@ -99,6 +99,7 @@ public class TestNRTThreads extends Thre
   
   private IndexSearcher fixedSearcher;
 
+  @Override
   protected IndexSearcher getCurrentSearcher() throws Exception {
     return fixedSearcher;
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestOmitTf.java Tue Jan  8 03:40:16 2013
@@ -37,7 +37,9 @@ import org.apache.lucene.store.Directory
 public class TestOmitTf extends LuceneTestCase {
   
   public static class SimpleSimilarity extends TFIDFSimilarity {
+    @Override
     public float queryNorm(float sumOfSquaredWeights) { return 1.0f; }
+    @Override
     public float coord(int overlap, int maxOverlap) { return 1.0f; }
     @Override public float lengthNorm(FieldInvertState state) { return state.getBoost(); }
     @Override public float tf(float freq) { return freq; }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestParallelTermEnum.java Tue Jan  8 03:40:16 2013
@@ -82,7 +82,7 @@ public class TestParallelTermEnum extend
       BytesRef b = te.next();
       assertNotNull(b);
       assertEquals(t, b.utf8ToString());
-      DocsEnum td = _TestUtil.docs(random(), te, liveDocs, null, 0);
+      DocsEnum td = _TestUtil.docs(random(), te, liveDocs, null, DocsEnum.FLAG_NONE);
       assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
       assertEquals(0, td.docID());
       assertEquals(td.nextDoc(), DocIdSetIterator.NO_MORE_DOCS);

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java Tue Jan  8 03:40:16 2013
@@ -228,7 +228,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, 0);
+      DocsEnum docsEnum = _TestUtil.docs(random(), ctermsEnum, bits, null, DocsEnum.FLAG_NONE);
       return toArray(docsEnum);
     }
     return null;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java Tue Jan  8 03:40:16 2013
@@ -53,6 +53,7 @@ import org.apache.lucene.util._TestUtil;
 public class TestPostingsOffsets extends LuceneTestCase {
   IndexWriterConfig iwc;
   
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java Tue Jan  8 03:40:16 2013
@@ -92,6 +92,7 @@ public class TestReaderClosed extends Lu
     }
   }
   
+  @Override
   public void tearDown() throws Exception {
     dir.close();
     super.tearDown();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestRollingUpdates.java Tue Jan  8 03:40:16 2013
@@ -193,6 +193,7 @@ public class TestRollingUpdates extends 
       this.num = num;
     }
 
+    @Override
     public void run() {
       try {
         DirectoryReader open = null;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressAdvance.java Tue Jan  8 03:40:16 2013
@@ -82,11 +82,11 @@ public class TestStressAdvance extends L
           System.out.println("\nTEST: iter=" + iter + " iter2=" + iter2);
         }
         assertEquals(TermsEnum.SeekStatus.FOUND, te.seekCeil(new BytesRef("a")));
-        de = _TestUtil.docs(random(), te, null, de, 0);
+        de = _TestUtil.docs(random(), te, null, de, DocsEnum.FLAG_NONE);
         testOne(de, aDocIDs);
 
         assertEquals(TermsEnum.SeekStatus.FOUND, te.seekCeil(new BytesRef("b")));
-        de = _TestUtil.docs(random(), te, null, de, 0);
+        de = _TestUtil.docs(random(), te, null, de, DocsEnum.FLAG_NONE);
         testOne(de, bDocIDs);
       }
 

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java Tue Jan  8 03:40:16 2013
@@ -134,6 +134,7 @@ public class TestStressIndexing2 extends
   static Term idTerm = new Term("id","");
   IndexingThread[] threads;
   static Comparator<GeneralField> fieldNameComparator = new Comparator<GeneralField>() {
+    @Override
     public int compare(GeneralField o1, GeneralField o2) {
       return o1.name().compareTo(o2.name());
     }
@@ -337,7 +338,7 @@ public class TestStressIndexing2 extends
       Bits liveDocs = MultiFields.getLiveDocs(r1);
       DocsEnum docs = null;
       while(termsEnum.next() != null) {
-        docs = _TestUtil.docs(random(), termsEnum, liveDocs, docs, 0);
+        docs = _TestUtil.docs(random(), termsEnum, liveDocs, docs, DocsEnum.FLAG_NONE);
         while(docs.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
           fail("r1 is not empty but r2 is");
         }
@@ -357,9 +358,9 @@ public class TestStressIndexing2 extends
         break;
       }
 
-      termDocs1 = _TestUtil.docs(random(), termsEnum, liveDocs1, termDocs1, 0);
+      termDocs1 = _TestUtil.docs(random(), termsEnum, liveDocs1, termDocs1, DocsEnum.FLAG_NONE);
       if (termsEnum2.seekExact(term, false)) {
-        termDocs2 = _TestUtil.docs(random(), termsEnum2, liveDocs2, termDocs2, 0);
+        termDocs2 = _TestUtil.docs(random(), termsEnum2, liveDocs2, termDocs2, DocsEnum.FLAG_NONE);
       } else {
         termDocs2 = null;
       }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java Tue Jan  8 03:40:16 2013
@@ -54,6 +54,7 @@ public class TestTermVectorsReader exten
     int pos;
     int startOffset;
     int endOffset;
+    @Override
     public int compareTo(TestToken other) {
       return pos - other.pos;
     }
@@ -225,7 +226,7 @@ public class TestTermVectorsReader exten
         //System.out.println("Term: " + term);
         assertEquals(testTerms[i], term);
         
-        docsEnum = _TestUtil.docs(random(), termsEnum, null, docsEnum, 0);
+        docsEnum = _TestUtil.docs(random(), termsEnum, null, docsEnum, DocsEnum.FLAG_NONE);
         assertNotNull(docsEnum);
         int doc = docsEnum.docID();
         assertTrue(doc == -1 || doc == DocIdSetIterator.NO_MORE_DOCS);

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermdocPerf.java Tue Jan  8 03:40:16 2013
@@ -124,7 +124,7 @@ public class TestTermdocPerf extends Luc
     final Random random = new Random(random().nextLong());
     for (int i=0; i<iter; i++) {
       tenum.seekCeil(new BytesRef("val"));
-      tdocs = _TestUtil.docs(random, tenum, MultiFields.getLiveDocs(reader), tdocs, 0);
+      tdocs = _TestUtil.docs(random, tenum, MultiFields.getLiveDocs(reader), tdocs, DocsEnum.FLAG_NONE);
       while (tdocs.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
         ret += tdocs.docID();
       }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum.java Tue Jan  8 03:40:16 2013
@@ -332,7 +332,7 @@ public class TestTermsEnum extends Lucen
           }
           assertEquals(expected, actual);
           assertEquals(1, te.docFreq());
-          docsEnum = _TestUtil.docs(random(), te, null, docsEnum, 0);
+          docsEnum = _TestUtil.docs(random(), te, null, docsEnum, DocsEnum.FLAG_NONE);
           final int docID = docsEnum.nextDoc();
           assertTrue(docID != DocIdSetIterator.NO_MORE_DOCS);
           assertEquals(docIDToID.get(docID), termToID.get(expected).intValue());
@@ -747,25 +747,25 @@ public class TestTermsEnum extends Lucen
     CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);    
     TermsEnum te = terms.intersect(ca, null);
     assertEquals("aaa", te.next().utf8ToString());
-    assertEquals(0, te.docs(null, null, 0).nextDoc());
+    assertEquals(0, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertEquals("bbb", te.next().utf8ToString());
-    assertEquals(1, te.docs(null, null, 0).nextDoc());
+    assertEquals(1, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertEquals("ccc", te.next().utf8ToString());
-    assertEquals(2, te.docs(null, null, 0).nextDoc());
+    assertEquals(2, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertNull(te.next());
 
     te = terms.intersect(ca, new BytesRef("abc"));
     assertEquals("bbb", te.next().utf8ToString());
-    assertEquals(1, te.docs(null, null, 0).nextDoc());
+    assertEquals(1, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertEquals("ccc", te.next().utf8ToString());
-    assertEquals(2, te.docs(null, null, 0).nextDoc());
+    assertEquals(2, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertNull(te.next());
 
     te = terms.intersect(ca, new BytesRef("aaa"));
     assertEquals("bbb", te.next().utf8ToString());
-    assertEquals(1, te.docs(null, null, 0).nextDoc());
+    assertEquals(1, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertEquals("ccc", te.next().utf8ToString());
-    assertEquals(2, te.docs(null, null, 0).nextDoc());
+    assertEquals(2, te.docs(null, null, DocsEnum.FLAG_NONE).nextDoc());
     assertNull(te.next());
 
     r.close();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java Tue Jan  8 03:40:16 2013
@@ -45,6 +45,7 @@ public class TestTermsEnum2 extends Luce
   private Automaton termsAutomaton; // automata of the same
   int numIterations;
 
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     numIterations = atLeast(50);
@@ -73,6 +74,7 @@ public class TestTermsEnum2 extends Luce
     writer.close();
   }
   
+  @Override
   public void tearDown() throws Exception {
     reader.close();
     dir.close();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java Tue Jan  8 03:40:16 2013
@@ -163,9 +163,11 @@ public class TestTransactionRollback ext
       this.rollbackPoint = rollbackPoint;
     }
 
+    @Override
     public void onCommit(List<? extends IndexCommit> commits) throws IOException {
     }
 
+    @Override
     public void onInit(List<? extends IndexCommit> commits) throws IOException {
       for (final IndexCommit commit : commits) {
         Map<String,String> userData=commit.getUserData();
@@ -196,8 +198,10 @@ public class TestTransactionRollback ext
 
   class DeleteLastCommitPolicy implements IndexDeletionPolicy {
 
+    @Override
     public void onCommit(List<? extends IndexCommit> commits) throws IOException {}
 
+    @Override
     public void onInit(List<? extends IndexCommit> commits) throws IOException {
       commits.get(commits.size()-1).delete();
     }
@@ -218,7 +222,9 @@ public class TestTransactionRollback ext
 
   // Keeps all commit points (used to build index)
   class KeepAllDeletionPolicy implements IndexDeletionPolicy {
+    @Override
     public void onCommit(List<? extends IndexCommit> commits) throws IOException {}
+    @Override
     public void onInit(List<? extends IndexCommit> commits) throws IOException {}
   }
 }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/index/TestTwoPhaseCommitTool.java Tue Jan  8 03:40:16 2013
@@ -39,6 +39,7 @@ public class TestTwoPhaseCommitTool exte
       this.failOnRollback = failOnRollback;
     }
 
+    @Override
     public void prepareCommit() throws IOException {
       prepareCommit(null);
     }
@@ -51,6 +52,7 @@ public class TestTwoPhaseCommitTool exte
       }
     }
 
+    @Override
     public void commit() throws IOException {
       commit(null);
     }
@@ -63,6 +65,7 @@ public class TestTwoPhaseCommitTool exte
       }
     }
 
+    @Override
     public void rollback() throws IOException {
       rollbackCalled = true;
       if (failOnRollback) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java Tue Jan  8 03:40:16 2013
@@ -91,6 +91,7 @@ final class JustCompileSearch {
   
   static final class JustCompileExtendedFieldCacheLongParser implements FieldCache.LongParser {
 
+    @Override
     public long parseLong(BytesRef string) {
       throw new UnsupportedOperationException(UNSUPPORTED_MSG);
     }
@@ -99,6 +100,7 @@ final class JustCompileSearch {
   
   static final class JustCompileExtendedFieldCacheDoubleParser implements FieldCache.DoubleParser {
     
+    @Override
     public double parseDouble(BytesRef term) {
       throw new UnsupportedOperationException(UNSUPPORTED_MSG);
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java Tue Jan  8 03:40:16 2013
@@ -306,6 +306,7 @@ public class TestBooleanMinShouldMatch e
 
       // callback object to set a random setMinimumNumberShouldMatch
       TestBoolean2.Callback minNrCB = new TestBoolean2.Callback() {
+        @Override
         public void postCreate(BooleanQuery q) {
           BooleanClause[] c =q.getClauses();
           int opt=0;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java Tue Jan  8 03:40:16 2013
@@ -145,6 +145,7 @@ class MultiThreadTermVectorsReader imple
     return t.isAlive();
   }
   
+  @Override
   public void run() {
       try {
         // run the test 100 times

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestNRTManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestNRTManager.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestNRTManager.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestNRTManager.java Tue Jan  8 03:40:16 2013
@@ -307,6 +307,7 @@ public class TestNRTManager extends Thre
     manager.maybeRefresh();
     assertFalse(gen < manager.getCurrentSearchingGen());
     Thread t = new Thread() {
+      @Override
       public void run() {
         try {
           signal.await();
@@ -340,6 +341,7 @@ public class TestNRTManager extends Thre
     
     final AtomicBoolean finished = new AtomicBoolean(false);
     Thread waiter = new Thread() {
+      @Override
       public void run() {
         manager.waitForGeneration(lastGen);
         finished.set(true);
@@ -372,6 +374,7 @@ public class TestNRTManager extends Thre
 
     }
 
+    @Override
     public void updateDocument(Term term,
         IndexDocument doc, Analyzer analyzer)
         throws IOException {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestRegexpQuery.java Tue Jan  8 03:40:16 2013
@@ -102,6 +102,7 @@ public class TestRegexpQuery extends Luc
           BasicAutomata.makeString("brown"),
           BasicAutomata.makeString("bob")));
       
+      @Override
       public Automaton getAutomaton(String name) {
         if (name.equals("quickBrown")) return quickBrownAutomaton;
         else return null;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java Tue Jan  8 03:40:16 2013
@@ -40,7 +40,9 @@ import org.apache.lucene.document.Docume
 public class TestSimilarity extends LuceneTestCase {
   
   public static class SimpleSimilarity extends DefaultSimilarity {
+    @Override
     public float queryNorm(float sumOfSquaredWeights) { return 1.0f; }
+    @Override
     public float coord(int overlap, int maxOverlap) { return 1.0f; }
     @Override public float lengthNorm(FieldInvertState state) { return state.getBoost(); }
     @Override public float tf(float freq) { return freq; }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSimilarityProvider.java Tue Jan  8 03:40:16 2013
@@ -95,6 +95,7 @@ public class TestSimilarityProvider exte
     private Similarity sim1 = new Sim1();
     private Similarity sim2 = new Sim2();
     
+    @Override
     public Similarity get(String field) {
       if (field.equals("foo")) {
         return sim1;
@@ -106,10 +107,12 @@ public class TestSimilarityProvider exte
   
   private class Sim1 extends TFIDFSimilarity {
     
+    @Override
     public float coord(int overlap, int maxOverlap) {
       return 1f;
     }
 
+    @Override
     public float queryNorm(float sumOfSquaredWeights) {
       return 1f;
     }
@@ -142,10 +145,12 @@ public class TestSimilarityProvider exte
   
   private class Sim2 extends TFIDFSimilarity {
     
+    @Override
     public float coord(int overlap, int maxOverlap) {
       return 1f;
     }
 
+    @Override
     public float queryNorm(float sumOfSquaredWeights) {
       return 1f;
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSort.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/TestSort.java Tue Jan  8 03:40:16 2013
@@ -634,6 +634,7 @@ public class TestSort extends LuceneTest
 
 
     sort.setSort(new SortField("parser", new FieldCache.IntParser(){
+      @Override
       public final int parseInt(final BytesRef term) {
         return (term.bytes[term.offset]-'A') * 123456;
       }
@@ -643,6 +644,7 @@ public class TestSort extends LuceneTest
     fc.purgeAllCaches();
 
     sort.setSort(new SortField("parser", new FieldCache.FloatParser(){
+      @Override
       public final float parseFloat(final BytesRef term) {
         return (float) Math.sqrt( term.bytes[term.offset]);
       }
@@ -652,6 +654,7 @@ public class TestSort extends LuceneTest
     fc.purgeAllCaches();
 
     sort.setSort(new SortField("parser", new FieldCache.LongParser(){
+      @Override
       public final long parseLong(final BytesRef term) {
         return (term.bytes[term.offset]-'A') * 1234567890L;
       }
@@ -661,6 +664,7 @@ public class TestSort extends LuceneTest
     fc.purgeAllCaches();
 
     sort.setSort(new SortField("parser", new FieldCache.DoubleParser(){
+      @Override
       public final double parseDouble(final BytesRef term) {
         return Math.pow( term.bytes[term.offset], (term.bytes[term.offset]-'A'));
       }
@@ -670,6 +674,7 @@ public class TestSort extends LuceneTest
     fc.purgeAllCaches();
 
     sort.setSort(new SortField("parser", new FieldCache.ByteParser(){
+      @Override
       public final byte parseByte(final BytesRef term) {
         return (byte) (term.bytes[term.offset]-'A');
       }
@@ -679,6 +684,7 @@ public class TestSort extends LuceneTest
     fc.purgeAllCaches();
 
     sort.setSort(new SortField("parser", new FieldCache.ShortParser(){
+      @Override
       public final short parseShort(final BytesRef term) {
         return (short) (term.bytes[term.offset]-'A');
       }
@@ -755,6 +761,7 @@ public class TestSort extends LuceneTest
     }
 
     private static final FieldCache.IntParser testIntParser = new FieldCache.IntParser() {
+      @Override
       public final int parseInt(final BytesRef term) {
         return (term.bytes[term.offset]-'A') * 123456;
       }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java Tue Jan  8 03:40:16 2013
@@ -306,10 +306,12 @@ public class TestPayloadNearQuery extend
 
   static class BoostingSimilarity extends DefaultSimilarity {
 
+    @Override
     public float queryNorm(float sumOfSquaredWeights) {
       return 1.0f;
     }
     
+    @Override
     public float coord(int overlap, int maxOverlap) {
       return 1.0f;
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java Tue Jan  8 03:40:16 2013
@@ -295,10 +295,12 @@ public class TestPayloadTermQuery extend
 
   static class BoostingSimilarity extends DefaultSimilarity {
 
+    @Override
     public float queryNorm(float sumOfSquaredWeights) {
       return 1;
     }
     
+    @Override
     public float coord(int overlap, int maxOverlap) {
       return 1;
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestDirectory.java Tue Jan  8 03:40:16 2013
@@ -65,6 +65,7 @@ public class TestDirectory extends Lucen
         this.name = name;
       }
       
+      @Override
       public void run() {
         for (int i = 0; i < 3000; i++) {
           String fileName = this.name + i;
@@ -87,6 +88,7 @@ public class TestDirectory extends Lucen
         this.name = name;
       }
       
+      @Override
       public void run() {
         for (int i = 0; i < 10000; i++) {
           try {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java Tue Jan  8 03:40:16 2013
@@ -17,6 +17,7 @@ package org.apache.lucene.store;
  * limitations under the License.
  */
 
+import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
@@ -84,15 +85,25 @@ public class TestFileSwitchDirectory ext
   }
   
   private Directory newFSSwitchDirectory(Set<String> primaryExtensions) throws IOException {
-    Directory a = new SimpleFSDirectory(_TestUtil.getTempDir("foo"));
-    Directory b = new SimpleFSDirectory(_TestUtil.getTempDir("bar"));
+    File primDir = _TestUtil.getTempDir("foo");
+    File secondDir = _TestUtil.getTempDir("bar");
+    return newFSSwitchDirectory(primDir, secondDir, primaryExtensions);
+  }
+
+  private Directory newFSSwitchDirectory(File aDir, File bDir, Set<String> primaryExtensions) throws IOException {
+    Directory a = new SimpleFSDirectory(aDir);
+    Directory b = new SimpleFSDirectory(bDir);
     FileSwitchDirectory switchDir = new FileSwitchDirectory(primaryExtensions, a, b, true);
     return new MockDirectoryWrapper(random(), switchDir);
   }
   
   // LUCENE-3380 -- make sure we get exception if the directory really does not exist.
   public void testNoDir() throws Throwable {
-    Directory dir = newFSSwitchDirectory(Collections.<String>emptySet());
+    File primDir = _TestUtil.getTempDir("foo");
+    File secondDir = _TestUtil.getTempDir("bar");
+    _TestUtil.rmDir(primDir);
+    _TestUtil.rmDir(secondDir);
+    Directory dir = newFSSwitchDirectory(primDir, secondDir, Collections.<String>emptySet());
     try {
       DirectoryReader.open(dir);
       fail("did not hit expected exception");

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java Tue Jan  8 03:40:16 2013
@@ -123,7 +123,9 @@ public class TestNRTCachingDirectory ext
   
   // LUCENE-3382 -- make sure we get exception if the directory really does not exist.
   public void testNoDir() throws Throwable {
-    Directory dir = new NRTCachingDirectory(newFSDirectory(_TestUtil.getTempDir("doesnotexist")), 2.0, 25.0);
+    File tempDir = _TestUtil.getTempDir("doesnotexist");
+    _TestUtil.rmDir(tempDir);
+    Directory dir = new NRTCachingDirectory(newFSDirectory(tempDir), 2.0, 25.0);
     try {
       DirectoryReader.open(dir);
       fail("did not hit expected exception");

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java Tue Jan  8 03:40:16 2013
@@ -211,6 +211,7 @@ public class TestArrayUtil extends Lucen
       this.order = order;
     }
     
+    @Override
     public int compareTo(Item other) {
       return this.order - other.order;
     }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestMaxFailuresRule.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestMaxFailuresRule.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestMaxFailuresRule.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestMaxFailuresRule.java Tue Jan  8 03:40:16 2013
@@ -45,9 +45,22 @@ public class TestMaxFailuresRule extends
   }
 
   public static class Nested extends WithNestedTests.AbstractNestedTest {
-    @Repeat(iterations = 500)
+    public static final int TOTAL_ITERS = 500;
+    public static final int DESIRED_FAILURES = TOTAL_ITERS / 10;
+    private int numFails = 0;
+    private int numIters = 0;
+
+    @Repeat(iterations = TOTAL_ITERS)
     public void testFailSometimes() {
-      assertFalse(random().nextInt(5) == 0);
+      numIters++;
+      boolean fail = random().nextInt(5) == 0;
+      if (fail) numFails++;
+      // some seeds are really lucky ... so cheat.
+      if (numFails < DESIRED_FAILURES && 
+          DESIRED_FAILURES <= TOTAL_ITERS - numIters) {
+        fail = true;
+      }
+      assertFalse(fail);
     }
   }
 
@@ -95,6 +108,7 @@ public class TestMaxFailuresRule extends
       // resulting from ignored tests.
       Assert.assertTrue(results.toString(), 
           results.toString().matches("(S*F){2}A+"));
+
     } finally {
       LuceneTestCase.ignoreAfterMaxFailures.maxFailures = maxFailures;
       LuceneTestCase.ignoreAfterMaxFailures.failuresSoFar = failuresSoFar;

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestWeakIdentityMap.java Tue Jan  8 03:40:16 2013
@@ -177,6 +177,7 @@ public class TestWeakIdentityMap extends
       for (int t = 0; t < threadCount; t++) {
         final Random rnd = new Random(random().nextLong());
         exec.execute(new Runnable() {
+          @Override
           public void run() {
             final int count = atLeast(rnd, 10000);
             for (int i = 0; i < count; i++) {

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java Tue Jan  8 03:40:16 2013
@@ -369,61 +369,52 @@ public class TestFSTs extends LuceneTest
 
       if (ord > 0) {
         final Random random = new Random(random().nextLong());
-        for(int rewriteIter=0;rewriteIter<2;rewriteIter++) {
-          if (rewriteIter == 1) {
-            if (doRewrite) {
-              // Verify again, with packed FST:
-              fst = fst.pack(_TestUtil.nextInt(random, 1, 10), _TestUtil.nextInt(random, 0, 10000000), random.nextFloat());
-            } else {
-              break;
-            }
+        // Now confirm BytesRefFSTEnum and TermsEnum act the
+        // same:
+        final BytesRefFSTEnum<Long> fstEnum = new BytesRefFSTEnum<Long>(fst);
+        int num = atLeast(1000);
+        for(int iter=0;iter<num;iter++) {
+          final BytesRef randomTerm = new BytesRef(getRandomString(random));
+          
+          if (VERBOSE) {
+            System.out.println("TEST: seek non-exist " + randomTerm.utf8ToString() + " " + randomTerm);
           }
-          // Now confirm BytesRefFSTEnum and TermsEnum act the
-          // same:
-          final BytesRefFSTEnum<Long> fstEnum = new BytesRefFSTEnum<Long>(fst);
-          int num = atLeast(1000);
-          for(int iter=0;iter<num;iter++) {
-            final BytesRef randomTerm = new BytesRef(getRandomString(random));
-        
-            if (VERBOSE) {
-              System.out.println("TEST: seek non-exist " + randomTerm.utf8ToString() + " " + randomTerm);
-            }
-
-            final TermsEnum.SeekStatus seekResult = termsEnum.seekCeil(randomTerm);
-            final InputOutput<Long> fstSeekResult = fstEnum.seekCeil(randomTerm);
-
-            if (seekResult == TermsEnum.SeekStatus.END) {
-              assertNull("got " + (fstSeekResult == null ? "null" : fstSeekResult.input.utf8ToString()) + " but expected null", fstSeekResult);
-            } else {
-              assertSame(termsEnum, fstEnum, storeOrd);
-              for(int nextIter=0;nextIter<10;nextIter++) {
+          
+          final TermsEnum.SeekStatus seekResult = termsEnum.seekCeil(randomTerm);
+          final InputOutput<Long> fstSeekResult = fstEnum.seekCeil(randomTerm);
+          
+          if (seekResult == TermsEnum.SeekStatus.END) {
+            assertNull("got " + (fstSeekResult == null ? "null" : fstSeekResult.input.utf8ToString()) + " but expected null", fstSeekResult);
+          } else {
+            assertSame(termsEnum, fstEnum, storeOrd);
+            for(int nextIter=0;nextIter<10;nextIter++) {
+              if (VERBOSE) {
+                System.out.println("TEST: next");
+                if (storeOrd) {
+                  System.out.println("  ord=" + termsEnum.ord());
+                }
+              }
+              if (termsEnum.next() != null) {
+                if (VERBOSE) {
+                  System.out.println("  term=" + termsEnum.term().utf8ToString());
+                }
+                assertNotNull(fstEnum.next());
+                assertSame(termsEnum, fstEnum, storeOrd);
+              } else {
                 if (VERBOSE) {
-                  System.out.println("TEST: next");
-                  if (storeOrd) {
-                    System.out.println("  ord=" + termsEnum.ord());
-                  }
+                  System.out.println("  end!");
                 }
-                if (termsEnum.next() != null) {
-                  if (VERBOSE) {
-                    System.out.println("  term=" + termsEnum.term().utf8ToString());
-                  }
-                  assertNotNull(fstEnum.next());
-                  assertSame(termsEnum, fstEnum, storeOrd);
-                } else {
-                  if (VERBOSE) {
-                    System.out.println("  end!");
-                  }
-                  BytesRefFSTEnum.InputOutput<Long> nextResult = fstEnum.next();
-                  if (nextResult != null) {
-                    System.out.println("expected null but got: input=" + nextResult.input.utf8ToString() + " output=" + outputs.outputToString(nextResult.output));
-                    fail();
-                  }
-                  break;
+                BytesRefFSTEnum.InputOutput<Long> nextResult = fstEnum.next();
+                if (nextResult != null) {
+                  System.out.println("expected null but got: input=" + nextResult.input.utf8ToString() + " output=" + outputs.outputToString(nextResult.output));
+                  fail();
                 }
+                break;
               }
             }
           }
         }
+        
       }
     }
 
@@ -513,12 +504,6 @@ public class TestFSTs extends LuceneTest
           System.out.println("Wrote FST to out.dot");
         }
 
-        if (doPack) {
-          System.out.println("Pack...");
-          fst = fst.pack(4, 100000000, random().nextFloat());
-          System.out.println("New size " + fst.sizeInBytes() + " bytes");
-        }
-        
         Directory dir = FSDirectory.open(new File(dirOut));
         IndexOutput out = dir.createOutput("fst.bin", IOContext.DEFAULT);
         fst.save(out);
@@ -1102,13 +1087,11 @@ public class TestFSTs extends LuceneTest
     Util.toDot(fst, w, false, false);
     w.close();
     //System.out.println(w.toString());
-    final String expected;
-    if (willRewrite) {
-      expected = "4 -> 3 [label=\"t\" style=\"bold\"";
-    } else {
-      expected = "8 -> 6 [label=\"t\" style=\"bold\"";
-    }
-    assertTrue(w.toString().indexOf(expected) != -1);
+    
+    // check for accept state at label t
+    assertTrue(w.toString().indexOf("[label=\"t\" style=\"bold\"") != -1);
+    // check for accept state at label n
+    assertTrue(w.toString().indexOf("[label=\"n\" style=\"bold\"") != -1);
   }
 
   // Make sure raw FST can differentiate between final vs
@@ -1187,6 +1170,7 @@ public class TestFSTs extends LuceneTest
   }
   
   static final Comparator<Long> minLongComparator = new Comparator<Long> () {
+    @Override
     public int compare(Long left, Long right) {
       return left.compareTo(right);
     }  
@@ -1225,6 +1209,7 @@ public class TestFSTs extends LuceneTest
   
   // compares just the weight side of the pair
   static final Comparator<Pair<Long,Long>> minPairWeightComparator = new Comparator<Pair<Long,Long>> () {
+    @Override
     public int compare(Pair<Long,Long> left, Pair<Long,Long> right) {
       return left.output1.compareTo(right.output1);
     }  

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestBeforeAfterOverrides.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestBeforeAfterOverrides.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestBeforeAfterOverrides.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestBeforeAfterOverrides.java Tue Jan  8 03:40:16 2013
@@ -37,6 +37,7 @@ public class TestBeforeAfterOverrides ex
   }
   public static class Before2 extends Before1 {}
   public static class Before3 extends Before2 {
+    @Override
     @Before
     public void before() {}
   }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestExceptionInBeforeClassHooks.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestExceptionInBeforeClassHooks.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestExceptionInBeforeClassHooks.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestExceptionInBeforeClassHooks.java Tue Jan  8 03:40:16 2013
@@ -39,6 +39,7 @@ public class TestExceptionInBeforeClassH
     @BeforeClass
     public static void beforeClass() throws Exception {
       Thread t = new Thread() {
+        @Override
         public void run() {
           throw new RuntimeException("foobar");
         }
@@ -53,6 +54,7 @@ public class TestExceptionInBeforeClassH
   public static class Nested2 extends WithNestedTests.AbstractNestedTest {
     public void test1() throws Exception {
       Thread t = new Thread() {
+        @Override
         public void run() {
           throw new RuntimeException("foobar1");
         }
@@ -63,6 +65,7 @@ public class TestExceptionInBeforeClassH
 
     public void test2() throws Exception {
       Thread t = new Thread() {
+        @Override
         public void run() {
           throw new RuntimeException("foobar2");
         }
@@ -73,6 +76,7 @@ public class TestExceptionInBeforeClassH
     
     public void test3() throws Exception {
       Thread t = new Thread() {
+        @Override
         public void run() {
           throw new RuntimeException("foobar3");
         }
@@ -86,6 +90,7 @@ public class TestExceptionInBeforeClassH
     @Before
     public void runBeforeTest() throws Exception {
       Thread t = new Thread() {
+        @Override
         public void run() {
           throw new RuntimeException("foobar");
         }

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestJUnitRuleOrder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestJUnitRuleOrder.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestJUnitRuleOrder.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestJUnitRuleOrder.java Tue Jan  8 03:40:16 2013
@@ -60,6 +60,7 @@ public class TestJUnitRuleOrder extends 
       @Override
       public Statement apply(final Statement base, Description description) {
         return new Statement() {
+          @Override
           public void evaluate() throws Throwable {
             stack.push("@Rule before");
             base.evaluate();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestReproduceMessage.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestReproduceMessage.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestReproduceMessage.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/junitcompat/TestReproduceMessage.java Tue Jan  8 03:40:16 2013
@@ -52,6 +52,7 @@ public class TestReproduceMessage extend
       @Override
       public Statement apply(final Statement base, Description description) {
         return new Statement() {
+          @Override
           public void evaluate() throws Throwable {
             triggerOn(SorePoint.RULE);
             base.evaluate();

Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java Tue Jan  8 03:40:16 2013
@@ -833,4 +833,46 @@ public class TestPackedInts extends Luce
     }
   }
 
+  public void testPackedInputOutput() throws IOException {
+    final long[] longs = new long[random().nextInt(8192)];
+    final int[] bitsPerValues = new int[longs.length];
+    final boolean[] skip = new boolean[longs.length];
+    for (int i = 0; i < longs.length; ++i) {
+      final int bpv = RandomInts.randomIntBetween(random(), 1, 64);
+      bitsPerValues[i] = random().nextBoolean() ? bpv : _TestUtil.nextInt(random(), bpv, 64);
+      if (bpv == 64) {
+        longs[i] = random().nextLong();
+      } else {
+        longs[i] = _TestUtil.nextLong(random(), 0, PackedInts.maxValue(bpv));
+      }
+      skip[i] = rarely();
+    }
+
+    final Directory dir = newDirectory();
+    final IndexOutput out = dir.createOutput("out.bin", IOContext.DEFAULT);
+    PackedDataOutput pout = new PackedDataOutput(out);
+    long totalBits = 0;
+    for (int i = 0; i < longs.length; ++i) {
+      pout.writeLong(longs[i], bitsPerValues[i]);
+      totalBits += bitsPerValues[i];
+      if (skip[i]) {
+        pout.flush();
+        totalBits = 8 * (long) Math.ceil((double) totalBits / 8);
+      }
+    }
+    pout.flush();
+    assertEquals((long) Math.ceil((double) totalBits / 8), out.getFilePointer());
+    out.close();
+    final IndexInput in = dir.openInput("out.bin", IOContext.READONCE);
+    final PackedDataInput pin = new PackedDataInput(in);
+    for (int i = 0; i < longs.length; ++i) {
+      assertEquals("" + i, longs[i], pin.readLong(bitsPerValues[i]));
+      if (skip[i]) {
+        pin.skipToNextByte();
+      }
+    }
+    assertEquals((long) Math.ceil((double) totalBits / 8), in.getFilePointer());
+    in.close();
+    dir.close();
+  }
 }

Modified: lucene/dev/branches/lucene4547/lucene/demo/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/demo/build.xml?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/demo/build.xml (original)
+++ lucene/dev/branches/lucene4547/lucene/demo/build.xml Tue Jan  8 03:40:16 2013
@@ -30,10 +30,10 @@
   <target name="init" depends="module-build.init,jar-lucene-core"/>
   
   <path id="classpath">
-	 <pathelement path="${analyzers-common.jar}"/>
+   <pathelement path="${analyzers-common.jar}"/>
    <pathelement path="${queryparser.jar}"/>
    <pathelement path="${lucene-core.jar}"/>
-   <pathelement location="lib/servlet-api-2.4.jar"/>
+   <fileset dir="lib"/>
   </path>
 
   <target name="javadocs" depends="javadocs-analyzers-common,javadocs-queryparser,compile-core">

Modified: lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java Tue Jan  8 03:40:16 2013
@@ -2,16 +2,6 @@ package org.apache.lucene.facet.example.
 
 import java.util.List;
 
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopScoreDocCollector;
-import org.apache.lucene.store.Directory;
-
-import org.apache.lucene.search.MultiCollector;
 import org.apache.lucene.facet.example.ExampleUtils;
 import org.apache.lucene.facet.example.simple.SimpleUtils;
 import org.apache.lucene.facet.search.AdaptiveFacetsAccumulator;
@@ -22,6 +12,15 @@ import org.apache.lucene.facet.search.re
 import org.apache.lucene.facet.taxonomy.CategoryPath;
 import org.apache.lucene.facet.taxonomy.TaxonomyReader;
 import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.MultiCollector;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.store.Directory;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -78,8 +77,8 @@ public class AdaptiveSearcher {
     ScoredDocIdCollector docIdsCollecor = ScoredDocIdCollector.create(indexReader.maxDoc(), false);
     
     // Faceted search parameters indicate which facets are we interested in 
-    FacetSearchParams facetSearchParams = new FacetSearchParams();
-    facetSearchParams.addFacetRequest(new CountFacetRequest(new CategoryPath("root","a"), 10));
+    FacetSearchParams facetSearchParams = new FacetSearchParams(
+        new CountFacetRequest(new CategoryPath("root", "a"), 10));
     
     // search, into both collectors. note: in case only facets accumulation 
     // is required, the topDocCollector part can be totally discarded

Modified: lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java Tue Jan  8 03:40:16 2013
@@ -3,20 +3,18 @@ package org.apache.lucene.facet.example.
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.store.Directory;
-
-import org.apache.lucene.facet.enhancements.EnhancementsDocumentBuilder;
-import org.apache.lucene.facet.enhancements.association.AssociationProperty;
+import org.apache.lucene.facet.associations.AssociationsFacetFields;
+import org.apache.lucene.facet.associations.CategoryAssociation;
+import org.apache.lucene.facet.associations.CategoryAssociationsContainer;
 import org.apache.lucene.facet.example.ExampleUtils;
 import org.apache.lucene.facet.example.simple.SimpleUtils;
-import org.apache.lucene.facet.index.CategoryContainer;
-import org.apache.lucene.facet.index.CategoryDocumentBuilder;
 import org.apache.lucene.facet.taxonomy.CategoryPath;
 import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
 import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.store.Directory;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -62,34 +60,31 @@ public class AssociationIndexer {
     // create and open a taxonomy writer
     TaxonomyWriter taxo = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
 
+    AssociationsFacetFields assocFacetFields = new AssociationsFacetFields(taxo);
+    
     // loop over sample documents
     int nDocsAdded = 0;
     int nFacetsAdded = 0;
     for (int docNum = 0; docNum < SimpleUtils.docTexts.length; docNum++) {
       ExampleUtils.log(" ++++ DOC ID: " + docNum);
       // obtain the sample categories for current document
-      CategoryContainer categoryContainer = new CategoryContainer();
+      CategoryAssociationsContainer associations = new CategoryAssociationsContainer();
       for (CategoryPath path : SimpleUtils.categories[docNum]) {
-        categoryContainer.addCategory(path);
+        associations.setAssociation(path, null);
         ExampleUtils.log("\t ++++ PATH: " + path);
+        ++nFacetsAdded;
       }
       // and also those with associations
       CategoryPath[] associationsPaths = AssociationUtils.categories[docNum];
-      AssociationProperty[] associationProps = AssociationUtils.associations[docNum];
+      CategoryAssociation[] associationsValues = AssociationUtils.associations[docNum];
       for (int i = 0; i < associationsPaths.length; i++) {
-        categoryContainer.addCategory(associationsPaths[i], associationProps[i]);
+        associations.setAssociation(associationsPaths[i], associationsValues[i]);
         ExampleUtils.log("\t $$$$ Association: ("
-            + associationsPaths[i] + "," + associationProps[i]
+            + associationsPaths[i] + "," + associationsValues[i]
             + ")");
+        ++nFacetsAdded;
       }
 
-      // we do not alter indexing parameters!
-      // a category document builder will add the categories to a document
-      // once build() is called
-      CategoryDocumentBuilder categoryDocBuilder = new EnhancementsDocumentBuilder(
-          taxo, AssociationUtils.assocIndexingParams);
-      categoryDocBuilder.setCategories(categoryContainer);
-
       // create a plain Lucene document and add some regular Lucene fields
       // to it
       Document doc = new Document();
@@ -97,15 +92,13 @@ public class AssociationIndexer {
       doc.add(new TextField(SimpleUtils.TEXT, SimpleUtils.docTexts[docNum], Field.Store.NO));
 
       // invoke the category document builder for adding categories to the
-      // document and,
-      // as required, to the taxonomy index
-      categoryDocBuilder.build(doc);
+      // document and, as required, to the taxonomy index
+      assocFacetFields.addFields(doc, associations);
 
       // finally add the document to the index
       iw.addDocument(doc);
 
       nDocsAdded++;
-      nFacetsAdded += categoryContainer.size();
     }
 
     // commit changes.
@@ -122,8 +115,7 @@ public class AssociationIndexer {
     taxo.close();
     iw.close();
 
-    ExampleUtils.log("Indexed " + nDocsAdded + " documents with overall "
-        + nFacetsAdded + " facets.");
+    ExampleUtils.log("Indexed " + nDocsAdded + " documents with overall " + nFacetsAdded + " facets.");
   }
   
 }