@@ -212,39 +212,49 @@ protected void processText(CharSequence text, Document luceneDoc) {
212212 }
213213 }
214214
215- private Field convertToField (String content ) {
215+ private Field convertToField (final String content ) {
216216 try {
217217 switch (type ) {
218218 case Type .INTEGER :
219219 case Type .LONG :
220220 case Type .UNSIGNED_LONG :
221- long lvalue = Long .parseLong (content );
222- return new LongField (fieldName , lvalue , LongField .TYPE_STORED );
221+ final long longValue = new IntegerValue (content , type ).getLong ();
222+ return new LongField (fieldName , longValue , LongField .TYPE_STORED );
223+
223224 case Type .INT :
224225 case Type .UNSIGNED_INT :
225226 case Type .SHORT :
226227 case Type .UNSIGNED_SHORT :
227- int ivalue = Integer .parseInt (content );
228- return new IntField (fieldName , ivalue , IntField .TYPE_STORED );
228+ final int intValue = new IntegerValue (content , type ).getInt ();
229+ return new IntField (fieldName , intValue , IntField .TYPE_STORED );
230+
229231 case Type .DECIMAL :
232+ final double decimalValue = new DecimalValue (content ).getDouble ();
233+ return new DoubleField (fieldName , decimalValue , DoubleField .TYPE_STORED );
234+
230235 case Type .DOUBLE :
231- double dvalue = Double .parseDouble (content );
232- return new DoubleField (fieldName , dvalue , DoubleField .TYPE_STORED );
236+ final double doubleValue = new DoubleValue (content ).getDouble ();
237+ return new DoubleField (fieldName , doubleValue , DoubleField .TYPE_STORED );
238+
233239 case Type .FLOAT :
234- float fvalue = Float .parseFloat (content );
235- return new FloatField (fieldName , fvalue , FloatField .TYPE_STORED );
240+ final float floatValue = new FloatValue (content ).getFloat ();
241+ return new FloatField (fieldName , floatValue , FloatField .TYPE_STORED );
242+
236243 case Type .DATE :
237- DateValue dv = new DateValue (content );
238- long dl = dateToLong (dv );
239- return new LongField (fieldName , dl , LongField .TYPE_STORED );
244+ final DateValue dateValue = new DateValue (content );
245+ final long longDateValue = dateToLong (dateValue );
246+ return new LongField (fieldName , longDateValue , LongField .TYPE_STORED );
247+
240248 case Type .TIME :
241- TimeValue tv = new TimeValue (content );
242- long tl = timeToLong (tv );
243- return new LongField (fieldName , tl , LongField .TYPE_STORED );
249+ final TimeValue timeValue = new TimeValue (content );
250+ final long longTimeValue = timeToLong (timeValue );
251+ return new LongField (fieldName , longTimeValue , LongField .TYPE_STORED );
252+
244253 case Type .DATE_TIME :
245- DateTimeValue dtv = new DateTimeValue (content );
246- String dateStr = dateTimeToString (dtv );
247- return new TextField (fieldName , dateStr , Field .Store .YES );
254+ final DateTimeValue dateTimeValue = new DateTimeValue (content );
255+ final String strDateTimeValue = dateTimeToString (dateTimeValue );
256+ return new TextField (fieldName , strDateTimeValue , Field .Store .YES );
257+
248258 default :
249259 return new TextField (fieldName , content , store ? Field .Store .YES : Field .Store .NO );
250260 }
0 commit comments