@Test public void script33() { QueryBuilder<Person> qb = this.module.newQueryBuilder( Person.class ); Person person = templateFor( Person.class ); Domain gaming = unitOfWork.get( Domain.class, "Gaming" ); Query<Person> query = unitOfWork.newQuery( qb.where( contains( person.interests(), gaming ) ) ); System.out.println( "*** script33: " + query ); verifyUnorderedResults( query, "Joe Doe" ); }
@Test public void script36() { QueryBuilder<Person> qb = this.module.newQueryBuilder( Person.class ); Person person = templateFor( Person.class ); Account anns = unitOfWork.get( Account.class, "accountOfAnnDoe" ); Query<Person> query = unitOfWork.newQuery( qb.where( contains( person.accounts(), anns ) ) ); System.out.println( "*** script36: " + query ); verifyUnorderedResults( query, "Jack Doe", "Ann Doe" ); }
@Override public EscrowedKeyPair findByX509Identity( String x509Identity ) { QueryBuilder<EscrowedKeyPair> builder = qbf.newQueryBuilder( EscrowedKeyPair.class ); EscrowedKeyPair ekpTemplate = templateFor( EscrowedKeyPair.class ); builder = builder.where( contains( ekpTemplate.x509s(), x509Repository.findByIdentity( x509Identity ) ) ); Query<EscrowedKeyPair> query = builder.newQuery( uowf.currentUnitOfWork() ); assert query.count() <= 1; return Collections.firstElementOrNull( query ); }
@Test public void script08() { ValueBuilder<QueryParam> queryParamBuilder = this.module.newValueBuilder( QueryParam.class ); QueryParam param = queryParamBuilder.prototype(); param.name().set( "user" ); param.value().set( "jackdoe" ); QueryBuilder<Person> qb = this.module.newQueryBuilder( Person.class ); Property<Collection<QueryParam>> paramsProp = templateFor( Person.class ).personalWebsite().get().queryParams(); qb = qb.where( contains( paramsProp, queryParamBuilder.newInstance() ) ); Query<Person> query = unitOfWork.newQuery( qb ); System.out.println( "*** script08: " + query ); verifyUnorderedResults( query, JACK ); }
@Test public void script09() { ValueBuilder<QueryParam> queryParamBuilder = this.module.newValueBuilder( QueryParam.class ); QueryParam param = queryParamBuilder.prototype(); param.name().set( "user" ); param.value().set( "jackdoe" ); QueryBuilder<Person> qb = this.module.newQueryBuilder( Person.class ); Property<Collection<QueryParam>> paramsProp = templateFor( Person.class ).personalWebsite().get().queryParams(); qb = qb.where( not( contains( paramsProp, queryParamBuilder.newInstance() ) ) ); Query<Person> query = unitOfWork.newQuery( qb ); System.out.println( "*** script09: " + query ); verifyUnorderedResults( query, ANN, JOE ); }