comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java @ 311:ea3a438a7021

Backend access: Static methods are using the SessionHolder, too. flys-artifacts/trunk@1694 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 14 Apr 2011 13:15:16 +0000
parents 1a00cb4998a8
children 94c176fdcb89
comparison
equal deleted inserted replaced
310:6d2c8915e22c 311:ea3a438a7021
1 package de.intevation.flys.artifacts.model; 1 package de.intevation.flys.artifacts.model;
2 2
3 import java.util.List; 3 import java.util.List;
4
5 import de.intevation.flys.backend.SessionFactoryProvider;
6 4
7 import de.intevation.flys.model.Annotation; 5 import de.intevation.flys.model.Annotation;
8 import de.intevation.flys.model.Range; 6 import de.intevation.flys.model.Range;
9 import de.intevation.flys.model.River; 7 import de.intevation.flys.model.River;
10 8
11 import org.hibernate.SessionFactory;
12 import org.hibernate.Session; 9 import org.hibernate.Session;
13 import org.hibernate.Query; 10 import org.hibernate.Query;
14
15 11
16 /** 12 /**
17 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 13 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
18 */ 14 */
19 public class AnnotationsFactory { 15 public class AnnotationsFactory {
22 return getAnnotations(river.getName()); 18 return getAnnotations(river.getName());
23 } 19 }
24 20
25 21
26 public static List<Annotation> getAnnotations(String river) { 22 public static List<Annotation> getAnnotations(String river) {
27 SessionFactory sf = SessionFactoryProvider.getSessionFactory(); 23 Session session = SessionHolder.HOLDER.get();
28 Session session = sf.openSession();
29 24
30 try { 25 Query rangesQuery = session.createQuery(
31 Query rangesQuery = session.createQuery( 26 "from Range where river.name=:name");
32 "from Range where river.name=:name"); 27 rangesQuery.setParameter("name", river);
33 rangesQuery.setParameter("name", river); 28 List<Range> ranges = rangesQuery.list();
34 List<Range> ranges = rangesQuery.list();
35 29
36 Query query = session.createQuery( 30 Query query = session.createQuery(
37 "from Annotation where range in (:ranges)"); 31 "from Annotation where range in (:ranges)");
38 query.setParameterList("ranges", ranges); 32 query.setParameterList("ranges", ranges);
39 return query.list(); 33 return query.list();
40 }
41 finally {
42 session.close();
43 }
44 } 34 }
45 } 35 }
46 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 36 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org