Search in sources :

Example 1 with City

use of org.qi4j.test.indexing.model.City in project qi4j-sdk by Qi4j.

the class AbstractQueryTest method script04_ne.

@Test
public void script04_ne() throws EntityFinderException {
    QueryBuilder<Person> qb = this.module.newQueryBuilder(Person.class);
    Person personTemplate = templateFor(Person.class);
    City placeOfBirth = personTemplate.placeOfBirth().get();
    Query<Person> query = unitOfWork.newQuery(qb.where(ne(placeOfBirth.name(), "Kuala Lumpur")));
    System.out.println("*** script04_ne: " + query);
    verifyUnorderedResults(query, "Jack Doe");
}
Also used : City(org.qi4j.test.indexing.model.City) Person(org.qi4j.test.indexing.model.Person) Test(org.junit.Test)

Example 2 with City

use of org.qi4j.test.indexing.model.City in project qi4j-sdk by Qi4j.

the class TestData method populate.

static void populate(Module module) throws UnitOfWorkCompletionException {
    UnitOfWork unitOfWork = module.newUnitOfWork();
    try {
        ValueBuilderFactory valueBuilderFactory = module;
        NameableAssert.clear();
        Domain gaming;
        {
            EntityBuilder<Domain> domainBuilder = unitOfWork.newEntityBuilder(Domain.class, "Gaming");
            gaming = domainBuilder.instance();
            gaming.name().set("Gaming");
            gaming.description().set("Gaming domain");
            gaming = domainBuilder.newInstance();
            NameableAssert.trace(gaming);
        }
        Domain programming;
        {
            EntityBuilder<Domain> domainBuilder = unitOfWork.newEntityBuilder(Domain.class);
            programming = domainBuilder.instance();
            programming.name().set("Programming");
            programming.description().set("Programing domain");
            programming = domainBuilder.newInstance();
            NameableAssert.trace(programming);
        }
        Domain cooking;
        {
            EntityBuilder<Domain> domainBuilder = unitOfWork.newEntityBuilder(Domain.class);
            cooking = domainBuilder.instance();
            cooking.name().set("Cooking");
            cooking.description().set("Cooking domain");
            cooking = domainBuilder.newInstance();
            NameableAssert.trace(cooking);
        }
        Domain cars;
        {
            EntityBuilder<Domain> domainBuilder = unitOfWork.newEntityBuilder(Domain.class);
            cars = domainBuilder.instance();
            cars.name().set("Cars");
            cars.description().set("Cars");
            cars = domainBuilder.newInstance();
            NameableAssert.trace(cars);
        }
        City kualaLumpur;
        {
            EntityBuilder<City> cityBuilder = unitOfWork.newEntityBuilder(City.class);
            kualaLumpur = cityBuilder.instance();
            kualaLumpur.name().set("Kuala Lumpur");
            kualaLumpur.country().set("Malaysia");
            kualaLumpur.county().set("Some Jaya");
            kualaLumpur = cityBuilder.newInstance();
            NameableAssert.trace(kualaLumpur);
        }
        City penang;
        {
            EntityBuilder<City> cityBuilder = unitOfWork.newEntityBuilder(City.class);
            penang = cityBuilder.instance();
            penang.name().set("Penang");
            penang.country().set("Malaysia");
            penang.county().set("Some Other Jaya");
            penang = cityBuilder.newInstance();
            NameableAssert.trace(penang);
        }
        Account annsAccount;
        {
            EntityBuilder<Account> accountBuilder = unitOfWork.newEntityBuilder(Account.class);
            annsAccount = accountBuilder.instance();
            annsAccount.number().set("accountOfAnnDoe");
            annsAccount = accountBuilder.newInstance();
        }
        Account jacksAccount;
        {
            EntityBuilder<Account> accountBuilder = unitOfWork.newEntityBuilder(Account.class);
            jacksAccount = accountBuilder.instance();
            jacksAccount.number().set("accountOfJackDoe");
            jacksAccount = accountBuilder.newInstance();
        }
        ValueBuilder<Address> addressBuilder = module.newValueBuilder(Address.class);
        Address address = addressBuilder.prototype();
        address.line1().set("Qi Street 4j");
        address.line2().set("Off main Java Street");
        address.zipcode().set("12345");
        Female annDoe;
        {
            EntityBuilder<FemaleEntity> femaleBuilder = unitOfWork.newEntityBuilder(FemaleEntity.class, "anndoe");
            annDoe = femaleBuilder.instance();
            annDoe.name().set("Ann Doe");
            annDoe.title().set(Person.Title.MRS);
            annDoe.placeOfBirth().set(kualaLumpur);
            annDoe.yearOfBirth().set(1975);
            annDoe.interests().add(0, cooking);
            annDoe.password().set("passwordOfAnnDoe");
            annDoe.mainAccount().set(annsAccount);
            annDoe.accounts().add(0, annsAccount);
            annDoe.accounts().add(0, jacksAccount);
            annDoe.address().set(addressBuilder.newInstance());
            annDoe = femaleBuilder.newInstance();
            NameableAssert.trace(annDoe);
        }
        {
            EntityBuilder<MaleEntity> maleBuilder = unitOfWork.newEntityBuilder(MaleEntity.class);
            Male joeDoe = maleBuilder.instance();
            joeDoe.name().set("Joe Doe");
            joeDoe.title().set(Person.Title.MR);
            joeDoe.placeOfBirth().set(kualaLumpur);
            joeDoe.yearOfBirth().set(1990);
            joeDoe.mother().set(annDoe);
            joeDoe.interests().add(0, programming);
            joeDoe.interests().add(0, gaming);
            joeDoe.email().set("joe@thedoes.net");
            joeDoe.password().set("passwordOfJoeDoe");
            joeDoe = maleBuilder.newInstance();
            address = module.newValueBuilderWithPrototype(address).prototype();
            address.line1().set("Qi Alley 4j");
            joeDoe.address().set(address);
            NameableAssert.trace(joeDoe);
        }
        {
            EntityBuilder<MaleEntity> maleBuilder = unitOfWork.newEntityBuilder(MaleEntity.class);
            Male jackDoe = maleBuilder.instance();
            jackDoe.name().set("Jack Doe");
            jackDoe.title().set(Person.Title.DR);
            jackDoe.placeOfBirth().set(penang);
            jackDoe.yearOfBirth().set(1970);
            jackDoe.interests().add(0, cars);
            jackDoe.wife().set(annDoe);
            jackDoe.password().set("passwordOfJohnDoe");
            jackDoe.mainAccount().set(jacksAccount);
            jackDoe.accounts().add(0, annsAccount);
            jackDoe.accounts().add(0, jacksAccount);
            address = module.newValueBuilderWithPrototype(address).prototype();
            address.line1().set("Qi Avenue 4j");
            jackDoe.address().set(address);
            ValueBuilder<URL> urlBuilder = module.newValueBuilder(URL.class);
            ValueBuilder<Protocol> protocolBuilder = module.newValueBuilder(Protocol.class);
            ValueBuilder<QueryParam> queryParamBuilder = module.newValueBuilder(QueryParam.class);
            Protocol protocol = protocolBuilder.prototype();
            protocol.value().set("http");
            List<QueryParam> queryParams = new ArrayList<QueryParam>();
            QueryParam param = queryParamBuilder.prototype();
            param.name().set("user");
            param.value().set("jackdoe");
            queryParams.add(queryParamBuilder.newInstance());
            queryParamBuilder = module.newValueBuilder(QueryParam.class);
            param = queryParamBuilder.prototype();
            param.name().set("password");
            param.value().set("somepassword");
            queryParams.add(queryParamBuilder.newInstance());
            URL url = urlBuilder.prototype();
            url.protocol().set(protocolBuilder.newInstance());
            url.queryParams().set(queryParams);
            jackDoe.personalWebsite().set(urlBuilder.newInstance());
            jackDoe = maleBuilder.newInstance();
            NameableAssert.trace(jackDoe);
        }
        {
            EntityBuilder<CatEntity> catBuilder = unitOfWork.newEntityBuilder(CatEntity.class);
            Cat felix = catBuilder.instance();
            felix.name().set("Felix");
            felix = catBuilder.newInstance();
            // NameableAssert.trace( felix );
            unitOfWork.complete();
        }
    } finally {
        unitOfWork.discard();
    }
}
Also used : ValueBuilder(org.qi4j.api.value.ValueBuilder) UnitOfWork(org.qi4j.api.unitofwork.UnitOfWork) Account(org.qi4j.test.indexing.model.Account) Address(org.qi4j.test.indexing.model.Address) Male(org.qi4j.test.indexing.model.Male) CatEntity(org.qi4j.test.indexing.model.entities.CatEntity) ValueBuilderFactory(org.qi4j.api.value.ValueBuilderFactory) EntityBuilder(org.qi4j.api.entity.EntityBuilder) City(org.qi4j.test.indexing.model.City) MaleEntity(org.qi4j.test.indexing.model.entities.MaleEntity) URL(org.qi4j.test.indexing.model.URL) QueryParam(org.qi4j.test.indexing.model.QueryParam) FemaleEntity(org.qi4j.test.indexing.model.entities.FemaleEntity) Cat(org.qi4j.test.indexing.model.Cat) Female(org.qi4j.test.indexing.model.Female) ArrayList(java.util.ArrayList) List(java.util.List) Domain(org.qi4j.test.indexing.model.Domain) Protocol(org.qi4j.test.indexing.model.Protocol)

Example 3 with City

use of org.qi4j.test.indexing.model.City in project qi4j-sdk by Qi4j.

the class AbstractQueryTest method script04.

@Test
public void script04() throws EntityFinderException {
    QueryBuilder<Person> qb = this.module.newQueryBuilder(Person.class);
    Person personTemplate = templateFor(Person.class);
    City placeOfBirth = personTemplate.placeOfBirth().get();
    Query<Person> query = unitOfWork.newQuery(qb.where(eq(placeOfBirth.name(), "Kuala Lumpur")));
    System.out.println("*** script04: " + query);
    verifyUnorderedResults(query, "Joe Doe", "Ann Doe");
}
Also used : City(org.qi4j.test.indexing.model.City) Person(org.qi4j.test.indexing.model.Person) Test(org.junit.Test)

Aggregations

City (org.qi4j.test.indexing.model.City)3 Test (org.junit.Test)2 Person (org.qi4j.test.indexing.model.Person)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 EntityBuilder (org.qi4j.api.entity.EntityBuilder)1 UnitOfWork (org.qi4j.api.unitofwork.UnitOfWork)1 ValueBuilder (org.qi4j.api.value.ValueBuilder)1 ValueBuilderFactory (org.qi4j.api.value.ValueBuilderFactory)1 Account (org.qi4j.test.indexing.model.Account)1 Address (org.qi4j.test.indexing.model.Address)1 Cat (org.qi4j.test.indexing.model.Cat)1 Domain (org.qi4j.test.indexing.model.Domain)1 Female (org.qi4j.test.indexing.model.Female)1 Male (org.qi4j.test.indexing.model.Male)1 Protocol (org.qi4j.test.indexing.model.Protocol)1 QueryParam (org.qi4j.test.indexing.model.QueryParam)1 URL (org.qi4j.test.indexing.model.URL)1 CatEntity (org.qi4j.test.indexing.model.entities.CatEntity)1 FemaleEntity (org.qi4j.test.indexing.model.entities.FemaleEntity)1