You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/12/11 00:22:30 UTC

svn commit: r1419867 - /lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java

Author: mikemccand
Date: Mon Dec 10 23:22:29 2012
New Revision: 1419867

URL: http://svn.apache.org/viewvc?rev=1419867&view=rev
Log:
verify norms type

Modified:
    lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java?rev=1419867&r1=1419866&r2=1419867&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/index/NormsConsumerPerField.java Mon Dec 10 23:22:29 2012
@@ -70,7 +70,7 @@ final class NormsConsumerPerField extend
         // called?
         simpleNormsWriter.addValue(docState.docID, norm);
       }
-    }    
+    }
   }
   
   Type flush(SegmentWriteState state, SimpleDVConsumer normsConsumer) throws IOException {
@@ -98,6 +98,9 @@ final class NormsConsumerPerField extend
       if (fieldInfo.getNormType() != null && fieldInfo.getNormType() != type) {
         throw new IllegalArgumentException("cannot change Norm type from " + fieldInfo.getNormType() + " to " + type + " for field \"" + fieldInfo.name + "\"");
       }
+      if (!DocValues.isNumber(type) && !DocValues.isFloat(type)) {
+        throw new IllegalArgumentException("Norm type must be numeric (got type " + type + " for field \"" + fieldInfo.name + "\"");
+      }
       fieldInfo.setNormValueType(type);
       consumer = parent.newConsumer(docState.docWriter.newPerDocWriteState(""), fieldInfo, type);
       this.initType = type;