@@ -209,39 +209,49 @@ protected void processText(CharSequence text, Document luceneDoc) {
209209 }
210210 }
211211
212- private Field convertToField (String content ) {
212+ private Field convertToField (final String content ) {
213213 try {
214214 switch (type ) {
215215 case Type .INTEGER :
216216 case Type .LONG :
217217 case Type .UNSIGNED_LONG :
218- long lvalue = Long .parseLong (content );
219- return new LongField (fieldName , lvalue , LongField .TYPE_STORED );
218+ final long longValue = new IntegerValue (content , type ).getLong ();
219+ return new LongField (fieldName , longValue , LongField .TYPE_STORED );
220+
220221 case Type .INT :
221222 case Type .UNSIGNED_INT :
222223 case Type .SHORT :
223224 case Type .UNSIGNED_SHORT :
224- int ivalue = Integer .parseInt (content );
225- return new IntField (fieldName , ivalue , IntField .TYPE_STORED );
225+ final int intValue = new IntegerValue (content , type ).getInt ();
226+ return new IntField (fieldName , intValue , IntField .TYPE_STORED );
227+
226228 case Type .DECIMAL :
229+ final double decimalValue = new DecimalValue (content ).getDouble ();
230+ return new DoubleField (fieldName , decimalValue , DoubleField .TYPE_STORED );
231+
227232 case Type .DOUBLE :
228- double dvalue = Double .parseDouble (content );
229- return new DoubleField (fieldName , dvalue , DoubleField .TYPE_STORED );
233+ final double doubleValue = new DoubleValue (content ).getDouble ();
234+ return new DoubleField (fieldName , doubleValue , DoubleField .TYPE_STORED );
235+
230236 case Type .FLOAT :
231- float fvalue = Float .parseFloat (content );
232- return new FloatField (fieldName , fvalue , FloatField .TYPE_STORED );
237+ final float floatValue = new FloatValue (content ).getFloat ();
238+ return new FloatField (fieldName , floatValue , FloatField .TYPE_STORED );
239+
233240 case Type .DATE :
234- DateValue dv = new DateValue (content );
235- long dl = dateToLong (dv );
236- return new LongField (fieldName , dl , LongField .TYPE_STORED );
241+ final DateValue dateValue = new DateValue (content );
242+ final long longDateValue = dateToLong (dateValue );
243+ return new LongField (fieldName , longDateValue , LongField .TYPE_STORED );
244+
237245 case Type .TIME :
238- TimeValue tv = new TimeValue (content );
239- long tl = timeToLong (tv );
240- return new LongField (fieldName , tl , LongField .TYPE_STORED );
246+ final TimeValue timeValue = new TimeValue (content );
247+ final long longTimeValue = timeToLong (timeValue );
248+ return new LongField (fieldName , longTimeValue , LongField .TYPE_STORED );
249+
241250 case Type .DATE_TIME :
242- DateTimeValue dtv = new DateTimeValue (content );
243- String dateStr = dateTimeToString (dtv );
244- return new TextField (fieldName , dateStr , Field .Store .YES );
251+ final DateTimeValue dateTimeValue = new DateTimeValue (content );
252+ final String strDateTimeValue = dateTimeToString (dateTimeValue );
253+ return new TextField (fieldName , strDateTimeValue , Field .Store .YES );
254+
245255 default :
246256 return new TextField (fieldName , content , store ? Field .Store .YES : Field .Store .NO );
247257 }
0 commit comments