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 2011/11/10 21:52:51 UTC

svn commit: r1200542 - in /lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index: SegmentMerger.java codecs/DefaultTermVectorsFormat.java codecs/DefaultTermVectorsWriter.java codecs/TermVectorsFormat.java codecs/TermVectorsWriter.java

Author: rmuir
Date: Thu Nov 10 20:52:51 2011
New Revision: 1200542

URL: http://svn.apache.org/viewvc?rev=1200542&view=rev
Log:
LUCENE-2621: fix TV writer ctor

Modified:
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsWriter.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsWriter.java

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1200542&r1=1200541&r2=1200542&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java Thu Nov 10 20:52:51 2011
@@ -223,7 +223,7 @@ final class SegmentMerger {
    * @throws IOException
    */
   private final int mergeVectors() throws IOException {
-    final TermVectorsWriter termVectorsWriter = codec.termVectorsFormat().vectorsWriter(directory, segment, mergeState.fieldInfos, context);
+    final TermVectorsWriter termVectorsWriter = codec.termVectorsFormat().vectorsWriter(directory, segment, context);
     
     try {
       return termVectorsWriter.merge(mergeState);

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java?rev=1200542&r1=1200541&r2=1200542&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java Thu Nov 10 20:52:51 2011
@@ -33,8 +33,8 @@ public class DefaultTermVectorsFormat ex
   }
 
   @Override
-  public TermVectorsWriter vectorsWriter(Directory directory, String segment, FieldInfos fieldInfos, IOContext context) throws IOException {
-    return new DefaultTermVectorsWriter(directory, segment, fieldInfos, context);
+  public TermVectorsWriter vectorsWriter(Directory directory, String segment, IOContext context) throws IOException {
+    return new DefaultTermVectorsWriter(directory, segment, context);
   }
 
   @Override

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsWriter.java?rev=1200542&r1=1200541&r2=1200542&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsWriter.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsWriter.java Thu Nov 10 20:52:51 2011
@@ -21,7 +21,6 @@ import org.apache.lucene.index.FieldInfo
 import org.apache.lucene.index.IndexFileNames;
 import org.apache.lucene.index.MergePolicy.MergeAbortedException;
 import org.apache.lucene.index.MergeState;
-import org.apache.lucene.index.MergeState.CheckAbort;
 import org.apache.lucene.index.SegmentReader;
 import org.apache.lucene.index.TermFreqVector;
 import org.apache.lucene.index.TermPositionVector;
@@ -39,10 +38,8 @@ import java.io.IOException;
 public final class DefaultTermVectorsWriter extends TermVectorsWriter {
 
   private IndexOutput tvx = null, tvd = null, tvf = null;
-  private FieldInfos fieldInfos;
 
-  public DefaultTermVectorsWriter(Directory directory, String segment,
-                           FieldInfos fieldInfos, IOContext context) throws IOException {
+  public DefaultTermVectorsWriter(Directory directory, String segment, IOContext context) throws IOException {
     boolean success = false;
     try {
       // Open files for TermVector storage
@@ -58,8 +55,6 @@ public final class DefaultTermVectorsWri
         IOUtils.closeWhileHandlingException(tvx, tvd, tvf);
       }
     }
-
-    this.fieldInfos = fieldInfos;
   }
 
   /**
@@ -70,7 +65,7 @@ public final class DefaultTermVectorsWri
    * @throws IOException
    */
   @Override
-  public final void addAllDocVectors(TermFreqVector[] vectors) throws IOException {
+  public final void addAllDocVectors(TermFreqVector[] vectors, FieldInfos fieldInfos) throws IOException {
 
     tvx.writeLong(tvd.getFilePointer());
     tvx.writeLong(tvf.getFilePointer());
@@ -223,9 +218,9 @@ public final class DefaultTermVectorsWri
         }
       }
       if (reader.liveDocs != null) {
-        numDocs += copyVectorsWithDeletions(mergeState.checkAbort, matchingVectorsReader, reader, rawDocLengths, rawDocLengths2);
+        numDocs += copyVectorsWithDeletions(mergeState, matchingVectorsReader, reader, rawDocLengths, rawDocLengths2);
       } else {
-        numDocs += copyVectorsNoDeletions(mergeState.checkAbort, matchingVectorsReader, reader, rawDocLengths, rawDocLengths2);
+        numDocs += copyVectorsNoDeletions(mergeState, matchingVectorsReader, reader, rawDocLengths, rawDocLengths2);
       }
     }
     finish(numDocs);
@@ -236,7 +231,7 @@ public final class DefaultTermVectorsWri
       when merging term vectors */
   private final static int MAX_RAW_MERGE_DOCS = 4192;
 
-  private int copyVectorsWithDeletions(CheckAbort checkAbort,
+  private int copyVectorsWithDeletions(MergeState mergeState,
                                         final DefaultTermVectorsReader matchingVectorsReader,
                                         final MergeState.IndexReaderAndLiveDocs reader,
                                         int rawDocLengths[],
@@ -269,7 +264,7 @@ public final class DefaultTermVectorsWri
         matchingVectorsReader.rawDocs(rawDocLengths, rawDocLengths2, start, numDocs);
         addRawDocuments(matchingVectorsReader, rawDocLengths, rawDocLengths2, numDocs);
         totalNumDocs += numDocs;
-        checkAbort.work(300 * numDocs);
+        mergeState.checkAbort.work(300 * numDocs);
       }
     } else {
       for (int docNum = 0; docNum < maxDoc; docNum++) {
@@ -281,15 +276,15 @@ public final class DefaultTermVectorsWri
         // NOTE: it's very important to first assign to vectors then pass it to
         // termVectorsWriter.addAllDocVectors; see LUCENE-1282
         TermFreqVector[] vectors = reader.reader.getTermFreqVectors(docNum);
-        addAllDocVectors(vectors);
+        addAllDocVectors(vectors, mergeState.fieldInfos);
         totalNumDocs++;
-        checkAbort.work(300);
+        mergeState.checkAbort.work(300);
       }
     }
     return totalNumDocs;
   }
   
-  private int copyVectorsNoDeletions(CheckAbort checkAbort,
+  private int copyVectorsNoDeletions(MergeState mergeState,
                                       final DefaultTermVectorsReader matchingVectorsReader,
                                       final MergeState.IndexReaderAndLiveDocs reader,
                                       int rawDocLengths[],
@@ -304,15 +299,15 @@ public final class DefaultTermVectorsWri
         matchingVectorsReader.rawDocs(rawDocLengths, rawDocLengths2, docCount, len);
         addRawDocuments(matchingVectorsReader, rawDocLengths, rawDocLengths2, len);
         docCount += len;
-        checkAbort.work(300 * len);
+        mergeState.checkAbort.work(300 * len);
       }
     } else {
       for (int docNum = 0; docNum < maxDoc; docNum++) {
         // NOTE: it's very important to first assign to vectors then pass it to
         // termVectorsWriter.addAllDocVectors; see LUCENE-1282
         TermFreqVector[] vectors = reader.reader.getTermFreqVectors(docNum);
-        addAllDocVectors(vectors);
-        checkAbort.work(300);
+        addAllDocVectors(vectors, mergeState.fieldInfos);
+        mergeState.checkAbort.work(300);
       }
     }
     return maxDoc;

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java?rev=1200542&r1=1200541&r2=1200542&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java Thu Nov 10 20:52:51 2011
@@ -31,6 +31,6 @@ import org.apache.lucene.store.IOContext
 public abstract class TermVectorsFormat {
   // nocommit: privatize size-check and docstore crap
   public abstract TermVectorsReader vectorsReader(Directory directory, String segment, FieldInfos fieldInfos, IOContext context, int docStoreOffset, int size) throws IOException;
-  public abstract TermVectorsWriter vectorsWriter(Directory directory, String segment, FieldInfos fieldInfos, IOContext context) throws IOException;
+  public abstract TermVectorsWriter vectorsWriter(Directory directory, String segment, IOContext context) throws IOException;
   public abstract void files(Directory dir, SegmentInfo info, Set<String> files) throws IOException;
 }

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsWriter.java?rev=1200542&r1=1200541&r2=1200542&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsWriter.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsWriter.java Thu Nov 10 20:52:51 2011
@@ -20,6 +20,7 @@ package org.apache.lucene.index.codecs;
 import java.io.Closeable;
 import java.io.IOException;
 
+import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.MergeState;
 import org.apache.lucene.index.TermFreqVector;
 import org.apache.lucene.util.Bits;
@@ -54,7 +55,7 @@ public abstract class TermVectorsWriter 
         // NOTE: it's very important to first assign to vectors then pass it to
         // termVectorsWriter.addAllDocVectors; see LUCENE-1282
         TermFreqVector[] vectors = reader.reader.getTermFreqVectors(i);
-        addAllDocVectors(vectors);
+        addAllDocVectors(vectors, mergeState.fieldInfos);
         docCount++;
         mergeState.checkAbort.work(300);
       }
@@ -64,5 +65,5 @@ public abstract class TermVectorsWriter 
   }
   
   // nocommit: this should be a sugar method only that consumes the normal api (once we have one)
-  public abstract void addAllDocVectors(TermFreqVector[] vectors) throws IOException;
+  public abstract void addAllDocVectors(TermFreqVector[] vectors, FieldInfos fieldInfos) throws IOException;
 }