Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
9073:cd650cacc926 | 9074:766890addcb2 |
---|---|
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 } |