Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/model/sinfo/Collision.java @ 9168:d2472018740c
Fixed dateformat with 4-digit year, added query method for collision years of a river
author | mschaefer |
---|---|
date | Thu, 21 Jun 2018 08:13:37 +0200 |
parents | 623b51bf03d7 |
children |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/sinfo/Collision.java Wed Jun 20 18:25:58 2018 +0200 +++ b/backend/src/main/java/org/dive4elements/river/model/sinfo/Collision.java Thu Jun 21 08:13:37 2018 +0200 @@ -158,4 +158,25 @@ query.setParameter("id", id); return (Collision) query.list().get(0); } + + /** + * Selects from the database the years of the collisions of a river + */ + public static List<Integer> getYearsOfRiver(final River river) { + final Session session = SessionHolder.HOLDER.get(); + final Query query = session.createQuery("SELECT c.year, COUNT(cv) AS count" + + " FROM Collision c INNER JOIN c.values cv" + + " WHERE c.river=:river" + + " GROUP BY c.year" + + " ORDER BY c.year"); + query.setParameter("river", river); + final List<Integer> years = new ArrayList<>(); + final List<Object[]> rows = query.list(); + if (rows != null) { + for (int i = 0; i <= rows.size() - 1; i++) { + years.add(Integer.valueOf((int) rows.get(i)[0])); + } + } + return years; + } } \ No newline at end of file