diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/CollisionHibernateFactory.java @ 9074:766890addcb2

state To client communication;
author gernotbelger
date Fri, 18 May 2018 17:26:26 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/CollisionHibernateFactory.java	Fri May 18 17:26:26 2018 +0200
@@ -0,0 +1,57 @@
+/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
+ * Software engineering by
+ *  Björnsen Beratende Ingenieure GmbH
+ *  Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
+ *
+ * This file is Free Software under the GNU AGPL (>=v3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out the
+ * documentation coming with Dive4Elements River for details.
+ */
+package org.dive4elements.river.artifacts.model;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dive4elements.river.backend.SessionHolder;
+import org.dive4elements.river.model.River;
+import org.dive4elements.river.model.sinfo.Collision;
+import org.hibernate.HibernateException;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+
+/**
+ * @author Domenico Nardi Tironi
+ *
+ */
+public class CollisionHibernateFactory {
+
+    public static List<Collision> getCollisionsByRiver(final River river) {
+        final String queryStr = "FROM Collision WHERE river_id = :river_id";
+
+        final List<Collision> list = new ArrayList<>();
+
+        final Session session = SessionHolder.HOLDER.get();
+        try {
+            final Transaction transaction = session.beginTransaction();
+
+            final Query query = session.createQuery(queryStr);
+            query.setParameter("river_id", river.getId());
+
+            final List<Collision> collisions = query.list();
+            final Iterator<Collision> iterator = collisions.iterator();
+            while (iterator.hasNext()) {
+                final Collision coll = iterator.next();
+                // final CollisionHibernateFactory factory = new CollisionHibernateFactory(coll.getId(), coll.getYear());
+                list.add(coll);
+            }
+            transaction.commit(); // komisch, dass die Iteration davor im Code steht...
+        }
+        catch (final HibernateException e) {
+            e.printStackTrace();
+        }
+        return list;
+    }
+
+}

http://dive4elements.wald.intevation.org