Skip to content

Commit 5915f76

Browse files
committed
fixes #33
1 parent a301b90 commit 5915f76

5 files changed

Lines changed: 38 additions & 3 deletions

File tree

src/main/java/com/github/adminfaces/persistence/service/CrudService.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import java.lang.reflect.ParameterizedType;
1818
import java.lang.reflect.Type;
1919
import java.util.ArrayList;
20-
import java.util.Arrays;
2120
import java.util.Collection;
2221
import java.util.List;
2322
import java.util.logging.Logger;
23+
import org.apache.deltaspike.data.impl.criteria.QueryCriteria;
2424

2525
/**
2626
* @author rmpestano
@@ -405,4 +405,12 @@ protected <ID extends Serializable> ID[] toListOfIds(Collection<? extends Persis
405405
return (ID[]) ids.toArray(idsType);
406406
}
407407

408+
/**
409+
*
410+
* @param entityClass
411+
* @return a criteria for underlying entityClass
412+
*/
413+
public <E extends PersistenceEntity> Criteria<E, E> criteria(Class<E> entityClass) {
414+
return new QueryCriteria<>(entityClass, entityClass, getEntityManager());
415+
}
408416
}

src/test/java/com/github/adminfaces/persistence/CrudServiceIt.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,14 @@ public void shouldFindCarByExampleUsingAnExistingCriteria() {
450450
.extracting("name")
451451
.contains("Sentra");
452452
}
453-
453+
454+
@Test
455+
@DataSet(value ="sales-points.yml", cleanBefore = true)
456+
public void shouldListSalesPointsUsingCarService() {
457+
List<SalesPoint> listSalesPointsByName = carService.listSalesPointsByName("Motors");
458+
assertThat(listSalesPointsByName).isNotNull().hasSize(2);
459+
}
460+
454461

455462
private Car getCar() {
456463

src/test/java/com/github/adminfaces/persistence/model/SalesPoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class SalesPoint implements PersistenceEntity {
1212
private String name;
1313

1414
private String address;
15-
15+
1616
public SalesPoint() {
1717
}
1818

src/test/java/com/github/adminfaces/persistence/service/CarService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ public List<Car> listByModel(String model) {
9393
.likeIgnoreCase(Car_.model, model)
9494
.getResultList();
9595
}
96+
97+
//just to test criteria on a different entity
98+
public List<SalesPoint> listSalesPointsByName(String name) {
99+
return criteria(SalesPoint.class)
100+
.likeIgnoreCase(SalesPoint_.name, "%"+name + "%")
101+
.getResultList();
102+
}
96103

97104
public List<String> getModels(String query) {
98105
return criteria()
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
sales_point:
2+
- id1: 10
3+
id2: 20
4+
name: Ford Motors
5+
address: "Ford motors address"
6+
- id1: 10
7+
id2: 30
8+
name: Ford Motors2
9+
address: "Ford motors2 address"
10+
- id1: 20
11+
id2: 10
12+
name: Nissan Sales
13+
address: "Nissan address"

0 commit comments

Comments
 (0)