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 2014/04/28 20:55:37 UTC

svn commit: r1590747 - in /lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index: DefaultIndexingChain.java FieldInvertState.java

Author: rmuir
Date: Mon Apr 28 18:55:37 2014
New Revision: 1590747

URL: http://svn.apache.org/r1590747
Log:
LUCENE-5611: move attribute juggling to a fieldinvertstate setter

Modified:
    lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java
    lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/FieldInvertState.java

Modified: lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java?rev=1590747&r1=1590746&r2=1590747&view=diff
==============================================================================
--- lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java (original)
+++ lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/DefaultIndexingChain.java Mon Apr 28 18:55:37 2014
@@ -544,15 +544,7 @@ final class DefaultIndexingChain extends
       try (TokenStream stream = field.tokenStream(docState.analyzer)) {
         // reset the TokenStream to the first token
         stream.reset();
-
-        if (invertState.attributeSource != stream) {
-          // EmptyTokenStream gets angry otherwise:
-          invertState.termAttribute = stream.getAttribute(TermToBytesRefAttribute.class);
-          invertState.posIncrAttribute = stream.addAttribute(PositionIncrementAttribute.class);
-          invertState.offsetAttribute = stream.addAttribute(OffsetAttribute.class);
-          invertState.payloadAttribute = stream.getAttribute(PayloadAttribute.class);
-          invertState.attributeSource = stream;
-        }
+        invertState.setAttributeSource(stream);
 
         termsHashPerField.start(field, first);
 

Modified: lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/FieldInvertState.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/FieldInvertState.java?rev=1590747&r1=1590746&r2=1590747&view=diff
==============================================================================
--- lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/FieldInvertState.java (original)
+++ lucene/dev/branches/lucene5611/lucene/core/src/java/org/apache/lucene/index/FieldInvertState.java Mon Apr 28 18:55:37 2014
@@ -75,6 +75,20 @@ public final class FieldInvertState {
     uniqueTermCount = 0;
     boost = 1.0f;
   }
+  
+  // TODO: better name?
+  /**
+   * Sets attributeSource to a new instance.
+   */
+  void setAttributeSource(AttributeSource attributeSource) {
+    if (this.attributeSource != attributeSource) {
+      this.attributeSource = attributeSource;
+      termAttribute = attributeSource.getAttribute(TermToBytesRefAttribute.class);
+      posIncrAttribute = attributeSource.addAttribute(PositionIncrementAttribute.class);
+      offsetAttribute = attributeSource.addAttribute(OffsetAttribute.class);
+      payloadAttribute = attributeSource.getAttribute(PayloadAttribute.class);
+    }
+  }
 
   /**
    * Get the last processed term position.