google-code-export / morphia

Automatically exported from code.google.com/p/morphia
1 stars 0 forks source link

Mapping of List<Double[]> fields fails (NumberFormatException) #309

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Versions:
Morphia: morphia-1.00-SNAPSHOT.jar as of 2011-08-09
Driver:  mongo-2.6.3.jar
mongod:  1.9.1

Code to reproduce:

@Entity("places")
public class Place
{
   @Id public ObjectId id;
   public List< Double[] > geoPosition = new ArrayList< Double[] >();
}

Place place = new Place();
place.geoPosition.add( new Double[] { 8.8, 50.0 } );
ds.save( place );

place = ds.get( Place.class, place.id );

Stack trace:
Exception in thread "main" java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.NumberFormatException: For input string: 
"[ 8.8 , 50.0]"
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:487)
    at com.google.code.morphia.mapping.Mapper.fromDBObject(Mapper.java:267)
    at com.google.code.morphia.query.MorphiaIterator.convertItem(MorphiaIterator.java:66)
    at com.google.code.morphia.query.MorphiaIterator.processItem(MorphiaIterator.java:53)
    at com.google.code.morphia.query.MorphiaIterator.next(MorphiaIterator.java:48)
    at com.google.code.morphia.query.QueryImpl.get(QueryImpl.java:365)
    at com.google.code.morphia.DatastoreImpl.get(DatastoreImpl.java:529)
    at com.dailyplaces.MorphiaTestCase.main(MorphiaTestCase.java:23)
Caused by: java.lang.RuntimeException: java.lang.NumberFormatException: For 
input string: "[ 8.8 , 50.0]"
    at com.google.code.morphia.mapping.ValueMapper.fromDBObject(ValueMapper.java:27)
    at com.google.code.morphia.mapping.Mapper.readMappedField(Mapper.java:501)
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:484)
    ... 7 more
Caused by: java.lang.NumberFormatException: For input string: "[ 8.8 , 50.0]"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at com.google.code.morphia.converters.DoubleConverter.decode(DoubleConverter.java:30)
    at com.google.code.morphia.converters.DefaultConverters.decode(DefaultConverters.java:199)
    at com.google.code.morphia.converters.DefaultConverters.decode(DefaultConverters.java:203)
    at com.google.code.morphia.converters.IterableConverter.decode(IterableConverter.java:54)
    at com.google.code.morphia.converters.DefaultConverters.fromDBObject(DefaultConverters.java:129)
    at com.google.code.morphia.mapping.ValueMapper.fromDBObject(ValueMapper.java:25)
    ... 9 more

Original issue reported on code.google.com by sdeit...@googlemail.com on 10 Aug 2011 at 4:47

GoogleCodeExporter commented 9 years ago

Original comment by scotthernandez on 15 Aug 2011 at 11:02

GoogleCodeExporter commented 9 years ago

Original comment by scotthernandez on 15 Aug 2011 at 11:03