9074
|
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
|
2 * Software engineering by |
|
3 * Björnsen Beratende Ingenieure GmbH |
|
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt |
|
5 * |
|
6 * This file is Free Software under the GNU AGPL (>=v3) |
|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
|
8 * documentation coming with Dive4Elements River for details. |
|
9 */ |
|
10 package org.dive4elements.river.artifacts.model; |
|
11 |
|
12 import java.util.ArrayList; |
|
13 import java.util.Iterator; |
|
14 import java.util.List; |
|
15 |
|
16 import org.dive4elements.river.backend.SessionHolder; |
|
17 import org.dive4elements.river.model.River; |
|
18 import org.dive4elements.river.model.sinfo.Collision; |
|
19 import org.hibernate.HibernateException; |
|
20 import org.hibernate.Query; |
|
21 import org.hibernate.Session; |
|
22 import org.hibernate.Transaction; |
|
23 |
|
24 /** |
|
25 * @author Domenico Nardi Tironi |
|
26 * |
|
27 */ |
|
28 public class CollisionHibernateFactory { |
|
29 |
|
30 public static List<Collision> getCollisionsByRiver(final River river) { |
|
31 final String queryStr = "FROM Collision WHERE river_id = :river_id"; |
|
32 |
|
33 final List<Collision> list = new ArrayList<>(); |
|
34 |
|
35 final Session session = SessionHolder.HOLDER.get(); |
|
36 try { |
|
37 final Transaction transaction = session.beginTransaction(); |
|
38 |
|
39 final Query query = session.createQuery(queryStr); |
|
40 query.setParameter("river_id", river.getId()); |
|
41 |
|
42 final List<Collision> collisions = query.list(); |
|
43 final Iterator<Collision> iterator = collisions.iterator(); |
|
44 while (iterator.hasNext()) { |
|
45 final Collision coll = iterator.next(); |
|
46 // final CollisionHibernateFactory factory = new CollisionHibernateFactory(coll.getId(), coll.getYear()); |
|
47 list.add(coll); |
|
48 } |
|
49 transaction.commit(); // komisch, dass die Iteration davor im Code steht... |
|
50 } |
|
51 catch (final HibernateException e) { |
|
52 e.printStackTrace(); |
|
53 } |
|
54 return list; |
|
55 } |
|
56 |
|
57 } |