Search in sources :

Example 26 with Distance

use of org.springframework.data.geo.Distance in project spring-data-mongodb by spring-projects.

the class MappingMongoConverterUnitTests method shouldWriteEntityWithGeoSphereCorrectly.

// DATAMONGO-858
@Test
public void shouldWriteEntityWithGeoSphereCorrectly() {
    ClassWithGeoSphere object = new ClassWithGeoSphere();
    Sphere sphere = new Sphere(new Point(1, 2), 3);
    Distance radius = sphere.getRadius();
    object.sphere = sphere;
    org.bson.Document document = new org.bson.Document();
    converter.write(object, document);
    assertThat(document, is(notNullValue()));
    assertThat(document.get("sphere"), is(instanceOf(org.bson.Document.class)));
    assertThat(document.get("sphere"), is((Object) new org.bson.Document("center", new org.bson.Document("x", sphere.getCenter().getX()).append("y", sphere.getCenter().getY())).append("radius", radius.getNormalizedValue()).append("metric", radius.getMetric().toString())));
}
Also used : Sphere(org.springframework.data.mongodb.core.geo.Sphere) Point(org.springframework.data.geo.Point) Document(org.springframework.data.mongodb.core.mapping.Document) Distance(org.springframework.data.geo.Distance) Test(org.junit.Test)

Example 27 with Distance

use of org.springframework.data.geo.Distance in project spring-data-mongodb by spring-projects.

the class MappingMongoConverterUnitTests method shouldWriteEntityWithGeoCircleCorrectly.

// DATAMONGO-858
@Test
public void shouldWriteEntityWithGeoCircleCorrectly() {
    ClassWithGeoCircle object = new ClassWithGeoCircle();
    Circle circle = new Circle(new Point(1, 2), 3);
    Distance radius = circle.getRadius();
    object.circle = circle;
    org.bson.Document document = new org.bson.Document();
    converter.write(object, document);
    assertThat(document, is(notNullValue()));
    assertThat(document.get("circle"), is(instanceOf(org.bson.Document.class)));
    assertThat(document.get("circle"), is((Object) new org.bson.Document("center", new org.bson.Document("x", circle.getCenter().getX()).append("y", circle.getCenter().getY())).append("radius", radius.getNormalizedValue()).append("metric", radius.getMetric().toString())));
}
Also used : Circle(org.springframework.data.geo.Circle) Point(org.springframework.data.geo.Point) Document(org.springframework.data.mongodb.core.mapping.Document) Distance(org.springframework.data.geo.Distance) Test(org.junit.Test)

Example 28 with Distance

use of org.springframework.data.geo.Distance in project spring-data-mongodb by spring-projects.

the class MappingMongoConverterUnitTests method shouldWriteEntityWithGeoSphereWithMetricDistanceCorrectly.

// DATAMONGO-858
@Test
public void shouldWriteEntityWithGeoSphereWithMetricDistanceCorrectly() {
    ClassWithGeoSphere object = new ClassWithGeoSphere();
    Sphere sphere = new Sphere(new Point(1, 2), new Distance(3, Metrics.KILOMETERS));
    Distance radius = sphere.getRadius();
    object.sphere = sphere;
    org.bson.Document document = new org.bson.Document();
    converter.write(object, document);
    assertThat(document, is(notNullValue()));
    assertThat(document.get("sphere"), is(instanceOf(org.bson.Document.class)));
    assertThat(document.get("sphere"), is((Object) new org.bson.Document("center", new org.bson.Document("x", sphere.getCenter().getX()).append("y", sphere.getCenter().getY())).append("radius", radius.getNormalizedValue()).append("metric", radius.getMetric().toString())));
}
Also used : Sphere(org.springframework.data.mongodb.core.geo.Sphere) Point(org.springframework.data.geo.Point) Document(org.springframework.data.mongodb.core.mapping.Document) Distance(org.springframework.data.geo.Distance) Test(org.junit.Test)

Aggregations

Distance (org.springframework.data.geo.Distance)28 Point (org.springframework.data.geo.Point)27 Test (org.junit.Test)25 GeoJsonPoint (org.springframework.data.mongodb.core.geo.GeoJsonPoint)12 Query (org.springframework.data.mongodb.core.query.Query)7 Document (org.springframework.data.mongodb.core.mapping.Document)6 Document (org.bson.Document)5 Circle (org.springframework.data.geo.Circle)5 Metric (org.springframework.data.geo.Metric)5 Sphere (org.springframework.data.mongodb.core.geo.Sphere)5 PartTree (org.springframework.data.repository.query.parser.PartTree)4 Arrays (java.util.Arrays)3 Sort (org.springframework.data.domain.Sort)3 Metrics (org.springframework.data.geo.Metrics)3 Method (java.lang.reflect.Method)2 BlockingQueue (java.util.concurrent.BlockingQueue)2 LinkedBlockingDeque (java.util.concurrent.LinkedBlockingDeque)2 TimeUnit (java.util.concurrent.TimeUnit)2 NoArgsConstructor (lombok.NoArgsConstructor)2 Matchers (org.hamcrest.Matchers)2