# HG changeset patch # User Raimund Renkert # Date 1381323274 -7200 # Node ID ea4d2d685f3263131d32a455b0855be205427db3 # Parent ced1b02b36f6b6f09d4ca0aa0f3e184cfccbe435 Added new method to filter data including limit and start for dataitems. In most repositories only stubs returning 'null', implmented only in readonly repository. diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LKommentarMRepository.java --- a/src/main/java/de/intevation/lada/data/LKommentarMRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LKommentarMRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -179,4 +179,8 @@ } return response; } + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LKommentarPRepository.java --- a/src/main/java/de/intevation/lada/data/LKommentarPRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LKommentarPRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -187,4 +187,9 @@ } return response; } + + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LMessungRepository.java --- a/src/main/java/de/intevation/lada/data/LMessungRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LMessungRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -207,4 +207,8 @@ } return response; } + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LMesswertRepository.java --- a/src/main/java/de/intevation/lada/data/LMesswertRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LMesswertRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -195,4 +195,8 @@ } return response; } + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } \ No newline at end of file diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LOrtRepository.java --- a/src/main/java/de/intevation/lada/data/LOrtRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LOrtRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -208,4 +208,9 @@ } return response; } + + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LProbeRepository.java --- a/src/main/java/de/intevation/lada/data/LProbeRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LProbeRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -223,4 +223,9 @@ public Response delete(Object object) { return null; } + + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LStatusRepository.java --- a/src/main/java/de/intevation/lada/data/LStatusRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LStatusRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -181,4 +181,9 @@ } return response; } + + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/LZusatzwertRepository.java --- a/src/main/java/de/intevation/lada/data/LZusatzwertRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LZusatzwertRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -192,4 +192,9 @@ } return response; } + + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/OrtRepository.java --- a/src/main/java/de/intevation/lada/data/OrtRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/OrtRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -171,4 +171,9 @@ } return response; } + + @Override + public Response filter(CriteriaQuery filter, int size, int start) { + return null; + } } \ No newline at end of file diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/ReadOnlyRepository.java --- a/src/main/java/de/intevation/lada/data/ReadOnlyRepository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/ReadOnlyRepository.java Wed Oct 09 14:54:34 2013 +0200 @@ -43,6 +43,21 @@ } /** + * Filter object list by the given criteria. + * + * @param filter The filter query. + * @return Response object. + */ + public Response filter(CriteriaQuery filter, int size, int start) { + List result = em.createQuery(filter).getResultList(); + if (size > 0 && start > -1) { + List newList = result.subList(start, size + start); + return new Response(true, 200, newList, result.size()); + } + return new Response(true, 200, result); + } + + /** * Get all objects of type clazzfrom database. * * @param clazz The object type. diff -r ced1b02b36f6 -r ea4d2d685f32 src/main/java/de/intevation/lada/data/Repository.java --- a/src/main/java/de/intevation/lada/data/Repository.java Wed Oct 09 14:51:15 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/Repository.java Wed Oct 09 14:54:34 2013 +0200 @@ -21,6 +21,8 @@ public Response filter(CriteriaQuery filter); + public Response filter(CriteriaQuery filter, int size, int start); + public Response findAll(Class clazz); public Response findById(Class clazz, String id);