/** * Test querying for an inherited indexed field - direct inherited field access. */ public void testInheritedField() throws Exception { QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Person.class) .having("age").lte(52) .build(); List<Person> matches = query.list(); assertEquals(1, matches.size()); }
public void testLteOnFieldWithNullToken() { QueryFactory qf = getQueryFactory(); // all the transactions that happened in January 2013 Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("description").lte("-Popcorn") .build(); List<Transaction> list = q.list(); assertEquals(1, list.size()); assertEquals("-Popcorn", list.get(0).getDescription()); }
public void testSampleDomainQuery28() throws Exception { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getAccountImplClass()) .orderBy("id", SortOrder.ASC) .having("creationDate").lte(makeDate("2013-01-20")) .build(); List<Account> list = q.list(); assertEquals(3, list.size()); assertEquals(1, list.get(0).getId()); assertEquals(2, list.get(1).getId()); assertEquals(3, list.get(2).getId()); }
public void testLte() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("amount").lte(1500) .build(); List<Transaction> list = q.list(); assertEquals(55, list.size()); for (Transaction t : list) { assertTrue(t.getAmount() <= 1500); } }
break; case LESS_OR_EQUAL: context = qb.having(sfilter.getFieldName()).lte(value); break; case GREATER:
public void testTautology() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").gt("A").or().having("name").lte("A") .build(); List<User> list = q.list(); assertEquals(3, list.size()); }
public void testContradiction() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").gt("A").and().having("name").lte("A") .build(); List<User> list = q.list(); assertTrue(list.isEmpty()); }
public void testEventFilterPerformance() { QueryFactory qf = Search.getQueryFactory(cache()); Query query = qf.from(Person.class) .having("age").lte(31) .build(); final int numEntries = 100000; final int numListeners = 1000; List<NoOpEntryListener> listeners = new ArrayList<>(numListeners); for (int i = 0; i < numListeners; i++) { NoOpEntryListener listener = new NoOpEntryListener(); listeners.add(listener); cache().addListener(listener, Search.makeFilter(query), null); } long startTs = System.nanoTime(); for (int i = 0; i < numEntries; ++i) { Person value = new Person(); value.setName("John"); value.setAge(i + 25); cache.put(i, value); } long endTs = System.nanoTime(); for (NoOpEntryListener listener : listeners) { cache().removeListener(listener); } log.infof("ListenerWithDslFilterProfilingTest.testEventFilterPerformance took %d ms\n", (endTs - startTs) / 1000000); }
protected CallCountingCQResultListener<Object, Object> createContinuousQuery() { QueryFactory qf = Search.getQueryFactory(cache(0)); Query query = qf.from(Person.class) .having("age").lte(30) .build(); CallCountingCQResultListener<Object, Object> listener = new CallCountingCQResultListener<>(); ContinuousQuery<Object, Object> cq = Search.getContinuousQuery(cache(0)); cq.addContinuousQueryListener(query, listener); return listener; }
.having("age").lte(param("ageParam")) .build().setParameter("ageParam", 30);
.having("age").lte(param("ageParam")) .build();
.having("age").lte(param("ageParam")) .build().setParameter("ageParam", 31);
.having("age").lte(param("ageParam")) .build().setParameter("ageParam", 31);
public void testEventFilterAndConverter() { QueryFactory qf = Search.getQueryFactory(cache()); Query query = qf.from(Person.class) .having("age").lte(31) .select("name", "age") .build(); EntryListener listener = new EntryListener(); // we want our cluster listener to be notified only if the entity matches our query cache().addListener(listener, Search.makeFilter(query), null); for (int i = 0; i < 10; ++i) { Person value = new Person(); value.setName("John"); value.setAge(i + 25); cache.put(i, value); } assertEquals(10, cache.size()); assertEquals(7, listener.createEvents.size()); assertTrue(listener.modifyEvents.isEmpty()); for (ObjectFilter.FilterResult r : listener.createEvents) { assertNotNull(r.getProjection()); assertEquals(2, r.getProjection().length); assertTrue((Integer) r.getProjection()[1] <= 31); } cache().removeListener(listener); }
.having("age").lte(31) .build();
.having("age").lte(31) .select("name", "age") .build();
.having("age").lte(param("ageParam")) .select("age") .build()