Search in sources :

Example 1 with Protocol

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

the class AbstractComplexQueryTest method script06.

@Test
public void script06() {
    ValueBuilder<URL> urlBuilder = this.module.newValueBuilder(URL.class);
    ValueBuilder<Protocol> protocolBuilder = this.module.newValueBuilder(Protocol.class);
    ValueBuilder<QueryParam> queryParamBuilder = this.module.newValueBuilder(QueryParam.class);
    Protocol protocol = protocolBuilder.prototype();
    protocol.value().set("http");
    List<QueryParam> queryParams = new ArrayList<>(2);
    QueryParam param = queryParamBuilder.prototype();
    param.name().set("user");
    param.value().set("jackdoe");
    queryParams.add(queryParamBuilder.newInstance());
    queryParamBuilder = this.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);
    QueryBuilder<Person> qb = this.module.newQueryBuilder(Person.class);
    Property<URL> websiteProp = templateFor(Person.class).personalWebsite();
    qb = qb.where(eq(websiteProp, urlBuilder.newInstance()));
    Query<Person> query = unitOfWork.newQuery(qb);
    System.out.println("*** script06: " + query);
    verifyUnorderedResults(query, JACK);
}
Also used : QueryParam(org.qi4j.test.indexing.model.QueryParam) ArrayList(java.util.ArrayList) Protocol(org.qi4j.test.indexing.model.Protocol) Person(org.qi4j.test.indexing.model.Person) URL(org.qi4j.test.indexing.model.URL) Test(org.junit.Test)

Example 2 with Protocol

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

the class TestData method populate.

static void populate(Module module) throws UnitOfWorkCompletionException {
    try (UnitOfWork unitOfWork = module.newUnitOfWork()) {
        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, "accountOfAnnDoe");
            annsAccount = accountBuilder.instance();
            annsAccount.number().set("accountOfAnnDoe");
            annsAccount = accountBuilder.newInstance();
        }
        Account jacksAccount;
        {
            EntityBuilder<Account> accountBuilder = unitOfWork.newEntityBuilder(Account.class, "accountOfJackDoe");
            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().put("anns", annsAccount);
            annDoe.accounts().put("jacks", 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);
            joeDoe.bigInteger().set(new BigInteger("23232323232323232323232323"));
            joeDoe.bigDecimal().set(new BigDecimal("23.4276931348623157e+309"));
            joeDoe.dateValue().set(new DateTime("2020-03-04T13:24:35", UTC).toDate());
            joeDoe.dateTimeValue().set(new DateTime("2020-03-04T13:24:35", UTC));
            joeDoe.localDateTimeValue().set(new LocalDateTime("2020-03-04T13:23:00"));
            joeDoe.localDateValue().set(new LocalDate("2020-03-04"));
            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().put("anns", annsAccount);
            jackDoe.accounts().put("jacks", jacksAccount);
            address = module.newValueBuilderWithPrototype(address).prototype();
            address.line1().set("Qi Avenue 4j");
            jackDoe.address().set(address);
            jackDoe.bigInteger().set(new BigInteger("42424242424242424242424242"));
            jackDoe.bigDecimal().set(new BigDecimal("42.2376931348623157e+309"));
            jackDoe.dateValue().set(new DateTime("2010-03-04T13:24:35", UTC).toDate());
            jackDoe.dateTimeValue().set(new DateTime("2010-03-04T13:24:35", UTC));
            jackDoe.localDateTimeValue().set(new LocalDateTime("2010-03-04T13:23:00"));
            jackDoe.localDateValue().set(new LocalDate("2010-03-04"));
            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<>(2);
            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");
            catBuilder.newInstance();
        }
        unitOfWork.complete();
    }
}
Also used : LocalDateTime(org.joda.time.LocalDateTime) 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) EntityBuilder(org.qi4j.api.entity.EntityBuilder) City(org.qi4j.test.indexing.model.City) MaleEntity(org.qi4j.test.indexing.model.entities.MaleEntity) LocalDate(org.joda.time.LocalDate) BigDecimal(java.math.BigDecimal) DateTime(org.joda.time.DateTime) LocalDateTime(org.joda.time.LocalDateTime) 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) BigInteger(java.math.BigInteger) 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 Protocol

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

the class AbstractComplexQueryTest method script07.

@Test
public void script07() {
    ValueBuilder<URL> urlBuilder = this.module.newValueBuilder(URL.class);
    ValueBuilder<Protocol> protocolBuilder = this.module.newValueBuilder(Protocol.class);
    ValueBuilder<QueryParam> queryParamBuilder = this.module.newValueBuilder(QueryParam.class);
    Protocol protocol = protocolBuilder.prototype();
    protocol.value().set("http");
    List<QueryParam> queryParams = new ArrayList<>(2);
    QueryParam param = queryParamBuilder.prototype();
    param.name().set("user");
    param.value().set("jackdoe");
    queryParams.add(queryParamBuilder.newInstance());
    queryParamBuilder = this.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);
    QueryBuilder<Person> qb = this.module.newQueryBuilder(Person.class);
    Property<URL> websiteProp = templateFor(Person.class).personalWebsite();
    qb = qb.where(not(eq(websiteProp, urlBuilder.newInstance())));
    Query<Person> query = unitOfWork.newQuery(qb);
    System.out.println("*** script07: " + query);
    verifyUnorderedResults(query, ANN, JOE);
}
Also used : QueryParam(org.qi4j.test.indexing.model.QueryParam) ArrayList(java.util.ArrayList) Protocol(org.qi4j.test.indexing.model.Protocol) Person(org.qi4j.test.indexing.model.Person) URL(org.qi4j.test.indexing.model.URL) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)3 Protocol (org.qi4j.test.indexing.model.Protocol)3 QueryParam (org.qi4j.test.indexing.model.QueryParam)3 URL (org.qi4j.test.indexing.model.URL)3 Test (org.junit.Test)2 Person (org.qi4j.test.indexing.model.Person)2 BigDecimal (java.math.BigDecimal)1 BigInteger (java.math.BigInteger)1 List (java.util.List)1 DateTime (org.joda.time.DateTime)1 LocalDate (org.joda.time.LocalDate)1 LocalDateTime (org.joda.time.LocalDateTime)1 EntityBuilder (org.qi4j.api.entity.EntityBuilder)1 UnitOfWork (org.qi4j.api.unitofwork.UnitOfWork)1 ValueBuilder (org.qi4j.api.value.ValueBuilder)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 City (org.qi4j.test.indexing.model.City)1 Domain (org.qi4j.test.indexing.model.Domain)1