Browse Source

DATAMONGO-1607 - Fix ClassCastException in Circle, Point and Sphere when coordinates are not Double.

Original Pull Request: #438
pull/410/merge
Thiago Diniz da Silveira 9 years ago committed by Christoph Strobl
parent
commit
40c3204fb8
  1. 13
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/GeoConverters.java

13
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/GeoConverters.java

@ -53,6 +53,7 @@ import com.mongodb.DBObject; @@ -53,6 +53,7 @@ import com.mongodb.DBObject;
* @author Thomas Darimont
* @author Oliver Gierke
* @author Christoph Strobl
* @author Thiago Diniz da Silveira
* @since 1.5
*/
abstract class GeoConverters {
@ -120,8 +121,11 @@ abstract class GeoConverters { @@ -120,8 +121,11 @@ abstract class GeoConverters {
if (source.containsField("type")) {
return DbObjectToGeoJsonPointConverter.INSTANCE.convert(source);
}
Number x = (Number) source.get("x");
Number y = (Number) source.get("y");
return new Point((Double) source.get("x"), (Double) source.get("y"));
return new Point(x.doubleValue(), y.doubleValue());
}
}
@ -255,7 +259,8 @@ abstract class GeoConverters { @@ -255,7 +259,8 @@ abstract class GeoConverters {
}
DBObject center = (DBObject) source.get("center");
Double radius = (Double) source.get("radius");
Number radiusNumber = (Number) source.get("radius");
Double radius = radiusNumber.doubleValue();
Distance distance = new Distance(radius);
@ -326,7 +331,9 @@ abstract class GeoConverters { @@ -326,7 +331,9 @@ abstract class GeoConverters {
}
DBObject center = (DBObject) source.get("center");
Double radius = (Double) source.get("radius");
Number radiusNumber = (Number) source.get("radius");
Double radius = radiusNumber.doubleValue();
Distance distance = new Distance(radius);

Loading…
Cancel
Save