Search in sources :

Example 6 with Filter

use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.

the class RestaurantIntegrationTest method shouldFilterByPropertyContaining.

/**
 * @see DATAGRAPH-904
 */
@Test
public void shouldFilterByPropertyContaining() {
    Restaurant sfo = new Restaurant("San Francisco International Airport (SFO)", 72.4);
    sfo.setLaunchDate(new Date(1000));
    session.save(sfo);
    Restaurant kuroda = new Restaurant("Kuroda", 80.5);
    kuroda.setLaunchDate(new Date(2000));
    session.save(kuroda);
    Filter filter = new Filter("name", ComparisonOperator.CONTAINING, "International Airport");
    Collection<Restaurant> results = session.loadAll(Restaurant.class, new Filters().add(filter));
    assertThat(results).isNotNull();
    assertThat(results).hasSize(1);
    assertThat(results.iterator().next().getName()).isEqualTo("San Francisco International Airport (SFO)");
}
Also used : Restaurant(org.neo4j.ogm.domain.restaurant.Restaurant) Filters(org.neo4j.ogm.cypher.Filters) Filter(org.neo4j.ogm.cypher.Filter) Date(java.util.Date) Test(org.junit.Test)

Example 7 with Filter

use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.

the class RestaurantIntegrationTest method shouldFilterByPropertyEndingWith.

/**
 * @see DATAGRAPH-904
 */
@Test
public void shouldFilterByPropertyEndingWith() {
    Restaurant sfo = new Restaurant("San Francisco International Airport (SFO)", 72.4);
    sfo.setLaunchDate(new Date(1000));
    session.save(sfo);
    Restaurant kuroda = new Restaurant("Kuroda", 80.5);
    kuroda.setLaunchDate(new Date(2000));
    session.save(kuroda);
    Filter filter = new Filter("name", ComparisonOperator.ENDING_WITH, "Airport (SFO)");
    Collection<Restaurant> results = session.loadAll(Restaurant.class, new Filters().add(filter));
    assertThat(results).isNotNull();
    assertThat(results).hasSize(1);
    assertThat(results.iterator().next().getName()).isEqualTo("San Francisco International Airport (SFO)");
}
Also used : Restaurant(org.neo4j.ogm.domain.restaurant.Restaurant) Filters(org.neo4j.ogm.cypher.Filters) Filter(org.neo4j.ogm.cypher.Filter) Date(java.util.Date) Test(org.junit.Test)

Example 8 with Filter

use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.

the class RestaurantIntegrationTest method saveAndRetrieveRestaurantWithLocation.

@Test
public void saveAndRetrieveRestaurantWithLocation() {
    Restaurant restaurant = new Restaurant("San Francisco International Airport (SFO)", new Location(37.61649, -122.38681), 94128);
    session.save(restaurant);
    session.clear();
    Collection<Restaurant> results = session.loadAll(Restaurant.class, new Filter("name", ComparisonOperator.EQUALS, "San Francisco International Airport (SFO)"));
    assertThat(results).hasSize(1);
    Restaurant result = results.iterator().next();
    assertThat(result.getLocation()).isNotNull();
    assertThat(result.getLocation().getLatitude()).isCloseTo(37.61649, within(0d));
    assertThat(result.getLocation().getLongitude()).isCloseTo(-122.38681, within(0d));
}
Also used : Restaurant(org.neo4j.ogm.domain.restaurant.Restaurant) Filter(org.neo4j.ogm.cypher.Filter) Location(org.neo4j.ogm.domain.restaurant.Location) Test(org.junit.Test)

Example 9 with Filter

use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.

the class RestaurantIntegrationTest method shouldProvideUniqueParameterNamesForFilters.

/**
 * @see issue #137
 */
@Test
public void shouldProvideUniqueParameterNamesForFilters() {
    Restaurant restaurant = new Restaurant();
    restaurant.setName("La Cocina De Flaming Lips");
    session.save(restaurant);
    Restaurant another = new Restaurant();
    another.setName("Antica Pesa");
    session.save(another);
    Filters filters = new Filters();
    Filter firstFilter = new Filter("name", ComparisonOperator.EQUALS, "Foobar");
    firstFilter.setBooleanOperator(BooleanOperator.OR);
    filters.add(firstFilter);
    Filter secondFilter = new Filter("name", ComparisonOperator.EQUALS, "Antica Pesa");
    secondFilter.setBooleanOperator(BooleanOperator.OR);
    filters.add(secondFilter);
    Collection<Restaurant> results = session.loadAll(Restaurant.class, filters);
    assertThat(results.size() >= 1).isTrue();
}
Also used : Restaurant(org.neo4j.ogm.domain.restaurant.Restaurant) Filters(org.neo4j.ogm.cypher.Filters) Filter(org.neo4j.ogm.cypher.Filter) Test(org.junit.Test)

Example 10 with Filter

use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.

the class RestaurantIntegrationTest method shouldFilterByCollectionContaining.

@Test
public void shouldFilterByCollectionContaining() {
    Restaurant sfo = new Restaurant("San Francisco International Airport (SFO)", 72.4);
    sfo.getSpecialities().add("burger");
    sfo.getSpecialities().add("pizza");
    session.save(sfo);
    Restaurant kuroda = new Restaurant("Kuroda", 80.5);
    kuroda.getSpecialities().add("sushi");
    session.save(kuroda);
    Filter f1 = new Filter("specialities", new ContainsAnyComparison(Arrays.asList("burger")));
    Collection<Restaurant> burgers = session.loadAll(Restaurant.class, new Filters(f1));
    assertThat(burgers).hasSize(1);
    assertThat(burgers.iterator().next().getName()).isEqualTo("San Francisco International Airport (SFO)");
    Filter f2 = new Filter("specialities", new ContainsAnyComparison(Arrays.asList("burger", "sushi")));
    Collection<Restaurant> all = session.loadAll(Restaurant.class, new Filters(f2));
    assertThat(all).hasSize(2);
    Filter f3 = new Filter("specialities", new ContainsAnyComparison(Arrays.asList("sushi", "other")));
    Collection<Restaurant> sushi = session.loadAll(Restaurant.class, new Filters(f3));
    assertThat(sushi).hasSize(1);
}
Also used : Restaurant(org.neo4j.ogm.domain.restaurant.Restaurant) Filters(org.neo4j.ogm.cypher.Filters) Filter(org.neo4j.ogm.cypher.Filter) ContainsAnyComparison(org.neo4j.ogm.cypher.function.ContainsAnyComparison) Test(org.junit.Test)

Aggregations

Filter (org.neo4j.ogm.cypher.Filter)155 Test (org.junit.Test)146 Filters (org.neo4j.ogm.cypher.Filters)78 User (org.neo4j.ogm.domain.cineasts.annotated.User)19 Rating (org.neo4j.ogm.domain.cineasts.annotated.Rating)18 Movie (org.neo4j.ogm.domain.cineasts.annotated.Movie)17 Restaurant (org.neo4j.ogm.domain.restaurant.Restaurant)12 Date (java.util.Date)10 Session (org.neo4j.ogm.session.Session)10 DistanceFromNativePoint (org.neo4j.ogm.cypher.function.DistanceFromNativePoint)8 SomethingSpatial (org.neo4j.ogm.persistence.types.nativetypes.SomethingSpatial)8 HashSet (java.util.HashSet)7 CypherQuery (org.neo4j.ogm.cypher.query.CypherQuery)7 GroupMember (org.neo4j.ogm.domain.gh824.GroupMember)7 ArrayList (java.util.ArrayList)4 Actor (org.neo4j.ogm.domain.cineasts.annotated.Actor)4 User (org.neo4j.ogm.domain.gh824.User)4 UserGroup (org.neo4j.ogm.domain.gh824.UserGroup)4 Studio (org.neo4j.ogm.domain.music.Studio)4 Collections (java.util.Collections)2