aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/esper')
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/core/db/PersonDao.java11
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java5
2 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java b/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java
index 8d74264..2b74771 100755
--- a/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java
+++ b/src/main/java/io/trygvis/esper/testing/core/db/PersonDao.java
@@ -96,15 +96,24 @@ public class PersonDao {
}
}
- public List<PersonDto> selectPersons(PageRequest pageRequest) throws SQLException {
+ public List<PersonDto> selectPersons(PageRequest pageRequest, Option<String> query) throws SQLException {
String sql = "SELECT " + PERSON + " FROM person";
+ if (query.isSome()) {
+ sql += " WHERE lower(name) LIKE '%' || ? || '%'";
+ }
+
sql += orderBy(pageRequest.orderBy, "name", "created_date");
sql += " LIMIT ? OFFSET ?";
try (PreparedStatement s = c.prepareStatement(sql)) {
int i = 1;
+
+ if (query.isSome()) {
+ s.setString(i++, query.some());
+ }
+
s.setInt(i++, pageRequest.count.orSome(10));
s.setInt(i, pageRequest.startIndex.orSome(0));
return toList(s, person);
diff --git a/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java b/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java
index 83f5144..11935cf 100755
--- a/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java
+++ b/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java
@@ -33,11 +33,12 @@ public class CoreResource extends AbstractResource {
@GET
@Path("/person")
- public List<PersonDetailJson> getPersons(@MagicParam final PageRequest pageRequest) throws Exception {
+ public List<PersonDetailJson> getPersons(@MagicParam final PageRequest pageRequest,
+ @QueryParam("query") final String query) throws Exception {
return da.inTransaction(new CoreDaosCallback<List<PersonDetailJson>>() {
protected List<PersonDetailJson> run() throws SQLException {
List<PersonDetailJson> list = new ArrayList<>();
- for (PersonDto person : daos.personDao.selectPersons(pageRequest)) {
+ for (PersonDto person : daos.personDao.selectPersons(pageRequest, fromNull(query))) {
list.add(super.getPersonDetailJson.apply(person));
}
return list;