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)));
}
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));
}
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;
}
Aggregations