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

http://dive4elements.wald.intevation.org