comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java @ 644:02c0cce0e469

Introduce a cache for the distance-info service flys-artifacts/trunk@2028 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 30 May 2011 11:34:06 +0000
parents bf4e12f1d025
children bcef54a563ea
comparison
equal deleted inserted replaced
643:a9bde508824a 644:02c0cce0e469
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 import java.util.Iterator;
4 5
5 import de.intevation.flys.backend.SessionHolder; 6 import de.intevation.flys.backend.SessionHolder;
6 import de.intevation.flys.model.Annotation; 7 import de.intevation.flys.model.Annotation;
7 import de.intevation.flys.model.Range; 8 import de.intevation.flys.model.Range;
8 import de.intevation.flys.model.River; 9 import de.intevation.flys.model.River;
31 Query query = session.createQuery( 32 Query query = session.createQuery(
32 "from Annotation where range in (:ranges) order by range.a"); 33 "from Annotation where range in (:ranges) order by range.a");
33 query.setParameterList("ranges", ranges); 34 query.setParameterList("ranges", ranges);
34 return query.list(); 35 return query.list();
35 } 36 }
37
38
39 public static Iterator<Annotation> getAnnotationsIterator(String river) {
40 Session session = SessionHolder.HOLDER.get();
41
42 Query rangesQuery = session.createQuery(
43 "from Range where river.name=:name");
44 rangesQuery.setParameter("name", river);
45 List<Range> ranges = rangesQuery.list();
46
47 Query query = session.createQuery(
48 "from Annotation where range in (:ranges) order by range.a");
49 query.setParameterList("ranges", ranges);
50 return (Iterator<Annotation>)query.iterate();
51 }
36 } 52 }
37 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 53 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org