@Override public long getSize( StoreKey storeKey ) { Query query = queryFactory.from( NfcConcreteResourceWrapper.class ) .select( Expression.count( "path" ) ) .having( "location" ) .eq( storeKey.toString() ) .toBuilder() .build(); List<Object> result = query.list(); Object[] count = (Object[]) result.get( 0 ); return (Long) count[0]; }
@Test public void testWithDifferentFactory2() { QueryFactory qf1 = new DummyQueryFactory(); QueryFactory qf2 = new DummyQueryFactory(); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("ISPN014809: The given condition was created by another factory"); qf1.from("MyDummyType") .having("attr1").eq("1") .and(qf2.having("attr2").eq("2")); // exception expected }
public void testEqNonIndexedType() { QueryFactory qf = getQueryFactory(); Query q = qf.from(NotIndexed.class) .having("notIndexedField").eq("testing 123") .build(); List<NotIndexed> list = q.list(); assertEquals(1, list.size()); assertEquals("testing 123", list.get(0).notIndexedField); }
/** * Test querying for a field - direct access to field. */ public void testField() throws Exception { QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Person.class) .having("driverLicenseId").eq("ZZ3141592") .build(); List<Person> matches = query.list(); assertEquals(1, matches.size()); }
/** * Test querying for an inherited indexed field - interface method implemented in class. */ public void testInheritedField3() throws Exception { QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Person.class) .having("gender").eq("M") .build(); List<Person> matches = query.list(); assertEquals(1, matches.size()); }
/** * Test querying for an inherited indexed field - interface method with inherited implementation. */ public void testInheritedField2() throws Exception { QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Person.class) .having("name").eq("William") .build(); List<Person> matches = query.list(); assertEquals(1, matches.size()); }
/** * Test querying for an inherited indexed field - method inherited from superclass. */ public void testInheritedField4() throws Exception { QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Person.class) .having("surname").eq("Shakespeare") .build(); List<Person> matches = query.list(); assertEquals(1, matches.size()); }
public void testDuplicateBooleanProjection() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("id", "isDebit", "isDebit") .having("description").eq("Hotel") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(3, list.get(0).length); assertEquals(3, list.get(0)[0]); assertEquals(true, list.get(0)[1]); assertEquals(true, list.get(0)[2]); }
public void testEqInNested2() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("addresses.postCode").eq("Y12") .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals(2, list.get(0).getAddresses().size()); }
public void testGroupingWithFilter() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .select("name") .having("name").eq("John") .groupBy("name") .having("name").eq("John") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals("John", list.get(0)[0]); }
public void testEqNonIndexedField() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("notes").eq("Lorem ipsum dolor sit amet") .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getId()); }
public void testEqSentence() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getAccountImplClass()) .having("description").eq("John Doe's first bank account") .build(); List<Account> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getId()); }
public void testStringLiteralEscape() { QueryFactory qf = getQueryFactory(); // all transactions that have a given description. the description contains characters that need to be escaped. Query q = qf.from(getModelFactory().getAccountImplClass()) .having("description").eq("John Doe's first bank account") .build(); List<Account> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getId()); }
public void testEq1() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq("John") .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals("John", list.get(0).getName()); assertEquals("Doe", list.get(0).getSurname()); }
public void testEqInNested1() { QueryFactory qf = getQueryFactory(); // all users in a given post code Query q = qf.from(getModelFactory().getUserImplClass()) .having("addresses.postCode").eq("X1234") .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals("X1234", list.get(0).getAddresses().get(0).getPostCode()); }
public void testDuplicateDateProjection() throws Exception { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("id", "date", "date") .having("description").eq("Hotel") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(3, list.get(0).length); assertEquals(3, list.get(0)[0]); assertEquals(makeDate("2013-02-27"), list.get(0)[1]); assertEquals(makeDate("2013-02-27"), list.get(0)[2]); }
public void testSampleDomainQuery26() throws Exception { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getAccountImplClass()) .having("creationDate").eq(makeDate("2013-01-20")) .build(); List<Account> list = q.list(); assertEquals(1, list.size()); assertEquals(3, list.get(0).getId()); }