public void testSampleDomainQuery19() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("addresses.postCode").in("ZZ", "X1234").build(); List<User> list = q.list(); assertEquals(2, list.size()); assertTrue(Arrays.asList(1, 2).contains(list.get(0).getId())); assertTrue(Arrays.asList(1, 2).contains(list.get(1).getId())); }
private Query makeQuery(Cache c) { QueryFactory qf = Search.getQueryFactory(c); return qf.from(Person.class) .having("age").gte(18) .build(); } }
public void testSampleDomainQuery14() { QueryFactory qf = getQueryFactory(); // the user that has all the specified bank accounts Query q = qf.from(getModelFactory().getUserImplClass()) .having("accountIds").containsAll(2, 1).build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getId()); assertTrue(list.get(0).getAccountIds().contains(1)); assertTrue(list.get(0).getAccountIds().contains(2)); }
public void testIsNullNumericWithProjection2() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .select("name", "age") .not().having("age").isNull() .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals("John", list.get(0)[0]); assertEquals(22, list.get(0)[1]); }
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 testContains1() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("accountIds").contains(2) .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getId()); }
public void testIsNull1() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("surname").isNull() .build(); List<User> list = q.list(); assertEquals(0, list.size()); }
public void testContainsAll3() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("accountIds").containsAll(1, 2, 3) .build(); List<User> list = q.list(); assertEquals(0, list.size()); }
public void testContainsAny2() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("accountIds").containsAny(4, 5) .build(); List<User> list = q.list(); assertEquals(0, list.size()); }
public void testContainsAny1() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .orderBy("id", SortOrder.ASC) .having("accountIds").containsAny(2, 3) .build(); List<User> list = q.list(); assertEquals(2, list.size()); assertEquals(1, list.get(0).getId()); assertEquals(2, list.get(1).getId()); }
public void testNot11() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .not(qf.not( qf.having("name").eq("John") .or(qf.having("surname").eq("Man")))) .build(); List<User> list = q.list(); assertEquals(2, list.size()); assertNotEquals(list.get(0).getSurname(), "Woman"); }
public void testIsNull2() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .not().having("surname").isNull() .build(); List<User> list = q.list(); assertEquals(3, list.size()); }
public void testNot6() { QueryFactory qf = getQueryFactory(); // QueryFactory.not() test Query q = qf.from(getModelFactory().getUserImplClass()) .not(qf.not(qf.having("gender").eq(User.Gender.FEMALE))) .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals("Woman", list.get(0).getSurname()); }
public void testSampleDomainQuery10() { QueryFactory qf = getQueryFactory(); // all the transactions for a an account having amount greater than a given amount Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("accountId").eq(2) .and().having("amount").gt(40) .build(); List<Transaction> list = q.list(); assertEquals(52, list.size()); assertTrue(list.get(0).getAmount() > 40); assertTrue(list.get(1).getAmount() > 40); }
public void testAnd2() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq("Spider") .and(qf.having("surname").eq("Man")) .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals(2, list.get(0).getId()); }
/** * Using grouping and aggregation with continuous query is not allowed. */ @Test(expectedExceptions = ParsingException.class, expectedExceptionsMessageRegExp = ".*ISPN028509:.*") public void testDisallowGroupingAndAggregation() { Query query = Search.getQueryFactory(cache()).from(Person.class) .select(max("age")) .having("age").gte(20) .build(); ContinuousQuery<Object, Object> cq = Search.getContinuousQuery(cache()); cq.addContinuousQueryListener(query, new CallCountingCQResultListener<>()); }
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 testCompareLongWithInt() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .select(sum("age")) .groupBy("name") .having(sum("age")).gt(50000) .build(); List<Object[]> list = q.list(); assertEquals(0, list.size()); }
public void testAnd4() { QueryFactory qf = getQueryFactory(); //test for parenthesis, "and" should have higher priority Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq("Spider") .or(qf.having("name").eq("John")) .and(qf.having("surname").eq("Man")) .build(); List<User> list = q.list(); assertEquals(2, list.size()); }
@Test public void testWithDifferentBuilder1() { QueryFactory qf1 = new DummyQueryFactory(); FilterConditionContext fcc = qf1.having("attr1").eq("1"); Query q1 = qf1.from("MyDummyType") .not(fcc) .build(); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("The given condition is already in use by another builder"); qf1.from("MyDummyType") .not(fcc); // exception expected }