use of org.infinispan.query.test.Person in project infinispan by infinispan.
the class QueryRangesTest method testQueryingRangeWithLimitsAndExclusions.
public void testQueryingRangeWithLimitsAndExclusions() throws ParseException {
loadTestingData();
Query<?> cacheQuery = createQuery("age:[21 to 30]");
List<?> found = cacheQuery.execute().list();
assertEquals(2, found.size());
assert found.contains(person2);
assert found.contains(person3);
assert !found.contains(person4) : "This should not contain object person4";
person4 = new Person();
person4.setName("Mighty Goat");
person4.setBlurb("Mighty Goat also eats grass");
person4.setAge(28);
cache.put("mighty", person4);
found = cacheQuery.execute().list();
assertEquals(3, found.size());
assert found.contains(person2);
assert found.contains(person3);
assert found.contains(person4) : "This should now contain object person4";
Person person5 = new Person();
person5.setName("ANother Goat");
person5.setBlurb("Some other goat should eat grass.");
person5.setAge(31);
cache.put("anotherGoat", person5);
found = cacheQuery.execute().list();
assertEquals(3, found.size());
assert found.contains(person2);
assert found.contains(person3);
assert found.contains(person4) : "This should now contain object person4";
cacheQuery = createQuery("age:[20 to 29]");
found = cacheQuery.execute().list();
assertEquals(3, found.size());
assert found.contains(person1);
assert found.contains(person3);
assert found.contains(person4);
}
use of org.infinispan.query.test.Person in project infinispan by infinispan.
the class TransactionIsolationTest method testPrepareFailure.
private void testPrepareFailure(String key) throws Exception {
cache(0).put(key, RADIM);
QueryFactory qf0 = Search.getQueryFactory(cache(0));
assertEquals(Collections.singletonList(RADIM), getYoungerThan(qf0, 30));
cache(0).getAdvancedCache().getAsyncInterceptorChain().addInterceptor(new FailPrepare(), 0);
tm(0).begin();
cache(0).put(key, TRISTAN);
try {
tm(0).commit();
fail("Should rollback");
} catch (Throwable t) {
if (t instanceof CacheException) {
t = t.getCause();
}
assertException(RollbackException.class, t);
}
// pessimistic mode commits in the prepare command
Person expected = lockingMode == LockingMode.OPTIMISTIC ? RADIM : TRISTAN;
assertEquals(expected, cache(0).get(key));
assertEquals(expected, cache(1).get(key));
// In pessimistic cache TRISTAN is in cache but it does not match the criteria
// so the result should be empty
List<Person> expectedResult = lockingMode == LockingMode.OPTIMISTIC ? Collections.singletonList(RADIM) : Collections.emptyList();
assertEquals(expectedResult, getYoungerThan(qf0, 30));
}
Aggregations