Query query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get()
.range().onField("dateOfGraduation").from(formatDate("May 5, 2002")).excludeLimit().to(formatDate("June 30, 2012"))
.createQuery();
CacheQuery cacheQuery = Search.getSearchManager(cache).getQuery(query);
List<Object> found = cacheQuery.list();
AssertJUnit.assertEquals(2, found.size());
assert found.contains(person1);
assert found.contains(person2);
person4 = new Person("Mighty Goat", "Mighty Goat also eats grass", 28, formatDate("June 15, 2007")); //date in ranges
cache.put("mighty", person4);
cacheQuery = Search.getSearchManager(cache).getQuery(query);
found = cacheQuery.list();
Assert.assertEquals(3, found.size());
assert found.contains(person1);
assert found.contains(person2);
assert found.contains(person4) : "This should now contain object person4";
Person person5 = new Person("Another Goat", "Some other goat should eat grass.", 31, formatDate("July 5, 2012")); //date out of ranges
cache.put("anotherGoat", person5);
cacheQuery = Search.getSearchManager(cache).getQuery(query);
found = cacheQuery.list();
Assert.assertEquals(3, found.size());
assert found.contains(person1);
assert found.contains(person2);
assert found.contains(person4);
query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get()
.range().onField("dateOfGraduation").from(formatDate("May 5, 2002")).to(formatDate("June 10, 2012")).excludeLimit()
.createQuery();
cacheQuery = Search.getSearchManager(cache).getQuery(query);
found = cacheQuery.list();
Assert.assertEquals(3, found.size());
assert found.contains(person2);
assert found.contains(person3);
assert found.contains(person4);