You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ry...@apache.org on 2011/03/29 15:48:37 UTC

svn commit: r1086582 - in /lucene/dev/trunk/solr/src: java/org/apache/solr/schema/DateField.java test/org/apache/solr/schema/DateFieldTest.java

Author: ryan
Date: Tue Mar 29 13:48:37 2011
New Revision: 1086582

URL: http://svn.apache.org/viewvc?rev=1086582&view=rev
Log:
SOLR-2423 -- fixing DateField and adding test

Modified:
    lucene/dev/trunk/solr/src/java/org/apache/solr/schema/DateField.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/schema/DateFieldTest.java

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/schema/DateField.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/schema/DateField.java?rev=1086582&r1=1086581&r2=1086582&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/schema/DateField.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/schema/DateField.java Tue Mar 29 13:48:37 2011
@@ -180,6 +180,14 @@ public class DateField extends FieldType
                                "Invalid Date Math String:'" +val+'\'',e);
     }
   }
+
+  public Fieldable createField(SchemaField field, Object value, float boost) {
+    // Convert to a string before indexing
+    if(value instanceof Date) {
+      value = toInternal( (Date)value ) + 'Z';
+    }
+    return super.createField(field, value, boost);
+  }
   
   public String toInternal(Date val) {
     return formatDate(val);

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/schema/DateFieldTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/schema/DateFieldTest.java?rev=1086582&r1=1086581&r2=1086582&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/schema/DateFieldTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/schema/DateFieldTest.java Tue Mar 29 13:48:37 2011
@@ -17,6 +17,8 @@
 
 package org.apache.solr.schema;
 
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.solr.schema.DateField;
 import org.apache.solr.util.DateMathParser;
@@ -114,4 +116,13 @@ public class DateFieldTest extends Lucen
 
   }
 
+  public void testCreateField() {
+    int props = FieldProperties.INDEXED ^ FieldProperties.STORED;
+    SchemaField sf = new SchemaField( "test", f, props, null );
+    Fieldable out = (Field)f.createField(sf, "1995-12-31T23:59:59Z", 1.0f );
+    assertEquals(820454399000l, f.toObject( out ).getTime() );
+    
+    out = (Field)f.createField(sf, new Date(820454399000l), 1.0f );
+    assertEquals(820454399000l, f.toObject( out ).getTime() );
+  }
 }