Search in sources :

Example 11 with MyUser

use of org.baeldung.persistence.model.MyUser in project tutorials by eugenp.

the class JPAQuerydslIntegrationTest method givenFirstAndLastName_whenGettingListOfUsers_thenCorrect.

@Test
public void givenFirstAndLastName_whenGettingListOfUsers_thenCorrect() {
    final MyUserPredicatesBuilder builder = new MyUserPredicatesBuilder().with("firstName", ":", "john").with("lastName", ":", "doe");
    final Iterable<MyUser> results = repo.findAll(builder.build());
    assertThat(results, contains(userJohn));
    assertThat(results, not(contains(userTom)));
}
Also used : MyUser(org.baeldung.persistence.model.MyUser) MyUserPredicatesBuilder(org.baeldung.persistence.dao.MyUserPredicatesBuilder) Test(org.junit.Test)

Example 12 with MyUser

use of org.baeldung.persistence.model.MyUser in project tutorials by eugenp.

the class JPAQuerydslIntegrationTest method givenLast_whenGettingListOfUsers_thenCorrect.

@Test
public void givenLast_whenGettingListOfUsers_thenCorrect() {
    final MyUserPredicatesBuilder builder = new MyUserPredicatesBuilder().with("lastName", ":", "doe");
    final Iterable<MyUser> results = repo.findAll(builder.build());
    assertThat(results, containsInAnyOrder(userJohn, userTom));
}
Also used : MyUser(org.baeldung.persistence.model.MyUser) MyUserPredicatesBuilder(org.baeldung.persistence.dao.MyUserPredicatesBuilder) Test(org.junit.Test)

Example 13 with MyUser

use of org.baeldung.persistence.model.MyUser in project tutorials by eugenp.

the class MyUserPredicate method getPredicate.

public BooleanExpression getPredicate() {
    final PathBuilder<MyUser> entityPath = new PathBuilder<>(MyUser.class, "myUser");
    if (isNumeric(criteria.getValue().toString())) {
        final NumberPath<Integer> path = entityPath.getNumber(criteria.getKey(), Integer.class);
        final int value = Integer.parseInt(criteria.getValue().toString());
        switch(criteria.getOperation()) {
            case ":":
                return path.eq(value);
            case ">":
                return path.goe(value);
            case "<":
                return path.loe(value);
        }
    } else {
        final StringPath path = entityPath.getString(criteria.getKey());
        if (criteria.getOperation().equalsIgnoreCase(":")) {
            return path.containsIgnoreCase(criteria.getValue().toString());
        }
    }
    return null;
}
Also used : MyUser(org.baeldung.persistence.model.MyUser) PathBuilder(com.querydsl.core.types.dsl.PathBuilder) StringPath(com.querydsl.core.types.dsl.StringPath)

Aggregations

MyUser (org.baeldung.persistence.model.MyUser)13 Test (org.junit.Test)9 MyUserPredicatesBuilder (org.baeldung.persistence.dao.MyUserPredicatesBuilder)5 Response (io.restassured.response.Response)4 PathBuilder (com.querydsl.core.types.dsl.PathBuilder)1 StringPath (com.querydsl.core.types.dsl.StringPath)1 Query (javax.persistence.Query)1 Before (org.junit.Before)1