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 2012/05/16 10:19:50 UTC

svn commit: r1339053 - in /lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index: DocFieldProcessor.java FieldInfo.java FieldInfos.java MutableFieldInfos.java NormsConsumer.java NormsConsumerPerField.java SegmentMerger.java

Author: rmuir
Date: Wed May 16 08:19:49 2012
New Revision: 1339053

URL: http://svn.apache.org/viewvc?rev=1339053&view=rev
Log:
LUCENE-4055: turn these into normal setters, instead asserting in indexwriter

Modified:
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/MutableFieldInfos.java
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumer.java
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java
    lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/DocFieldProcessor.java Wed May 16 08:19:49 2012
@@ -342,7 +342,8 @@ final class DocFieldProcessor extends Do
       }
     }
     DocValuesConsumer docValuesConsumer = perDocConsumer.addValuesField(valueType, fieldInfo);
-    fieldInfo.setDocValuesType(valueType, false);
+    assert fieldInfo.getDocValuesType() == null || fieldInfo.getDocValuesType() == valueType;
+    fieldInfo.setDocValuesType(valueType);
 
     docValuesConsumerAndDocID = new DocValuesConsumerAndDocID(docValuesConsumer);
     docValuesConsumerAndDocID.docID = docState.docID;

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfo.java Wed May 16 08:19:49 2012
@@ -120,12 +120,8 @@ public final class FieldInfo {
     assert this.indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0 || !this.storePayloads;
   }
 
-  void setDocValuesType(DocValues.Type type, boolean force) {
-    if (docValueType == null || force) {
-      docValueType = type;
-    } else if (type != docValueType) {
-      throw new IllegalArgumentException("DocValues type already set to " + docValueType + " but was: " + type);
-    }
+  void setDocValuesType(DocValues.Type type) {
+    docValueType = type;
   }
   
   /** @return IndexOptions for the field */
@@ -162,12 +158,8 @@ public final class FieldInfo {
     storePayloads = true;
   }
 
-  void setNormValueType(Type type, boolean force) {
-    if (normType == null || force) {
-      normType = type;
-    } else if (type != normType) {
-      throw new IllegalArgumentException("Norm type already set to " + normType);
-    }
+  void setNormValueType(Type type) {
+    normType = type;
   }
   
   /**

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/FieldInfos.java Wed May 16 08:19:49 2012
@@ -33,6 +33,11 @@ public abstract class FieldInfos impleme
   @Override
   public abstract FieldInfos clone();
 
+  /**
+   * Return the fieldinfo object referenced by the field name
+   * @return the FieldInfo object or null when the given fieldName
+   * doesn't exist.
+   */  
   public abstract FieldInfo fieldInfo(String fieldName);
 
   /**
@@ -43,6 +48,11 @@ public abstract class FieldInfos impleme
    */  
   public abstract FieldInfo fieldInfo(int fieldNumber);
 
+  /**
+   * Returns an iterator over all the fieldinfo objects present,
+   * ordered by ascending field number
+   */
+  // TODO: what happens if in fact a different order is used?
   public abstract Iterator<FieldInfo> iterator();
 
   /**

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/MutableFieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/MutableFieldInfos.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/MutableFieldInfos.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/MutableFieldInfos.java Wed May 16 08:19:49 2012
@@ -247,10 +247,10 @@ final class MutableFieldInfos extends Fi
     } else {
       fi.update(isIndexed, storeTermVector, omitNorms, storePayloads, indexOptions);
       if (docValues != null) {
-        fi.setDocValuesType(docValues, true);
+        fi.setDocValuesType(docValues);
       }
       if (normType != null) {
-        fi.setNormValueType(normType, true);
+        fi.setNormValueType(normType);
       }
     }
     version++;

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumer.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumer.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumer.java Wed May 16 08:19:49 2012
@@ -72,7 +72,6 @@ final class NormsConsumer extends Invert
             } else if (fi.isIndexed()) {
               anythingFlushed = true;
               assert fi.getNormType() == null;
-              fi.setNormValueType(null, false);
             }
           }
         }

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java Wed May 16 08:19:49 2012
@@ -69,7 +69,8 @@ final class NormsConsumerPerField extend
   
   private DocValuesConsumer getConsumer(Type type) throws IOException {
     if (consumer == null) {
-      fieldInfo.setNormValueType(type, false);
+      assert fieldInfo.getNormType() == null || fieldInfo.getNormType() == type;
+      fieldInfo.setNormValueType(type);
       consumer = parent.newConsumer(docState.docWriter.newPerDocWriteState(""), fieldInfo, type);
       this.initType = type;
     }

Modified: lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1339053&r1=1339052&r2=1339053&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/java/org/apache/lucene/index/SegmentMerger.java Wed May 16 08:19:49 2012
@@ -229,21 +229,21 @@ final class SegmentMerger {
       TypePromoter promoter = e.getValue();
       if (promoter == null) {
         if (norms) {
-          fi.setNormValueType(null, true);
+          fi.setNormValueType(null);
         } else {
-          fi.setDocValuesType(null, true);
+          fi.setDocValuesType(null);
         }
       } else {
         assert promoter != TypePromoter.getIdentityPromoter();
         if (norms) {
           if (fi.getNormType() != promoter.type()) {
             // reset the type if we got promoted
-            fi.setNormValueType(promoter.type(), true);
+            fi.setNormValueType(promoter.type());
           }  
         } else {
           if (fi.getDocValuesType() != promoter.type()) {
             // reset the type if we got promoted
-            fi.setDocValuesType(promoter.type(), true);
+            fi.setDocValuesType(promoter.type());
           }
         }
       }