Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/data/LProbeRepository.java @ 53:3a00c8fd5a8e
New path in 'proben' REST service: '/details/{id}'. Delivering more detials for a LProbe.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Fri, 24 May 2013 13:39:38 +0200 |
parents | 2d89a04d5ad9 |
children | d57f2aba50e0 |
comparison
equal
deleted
inserted
replaced
52:8b29e54a44eb | 53:3a00c8fd5a8e |
---|---|
10 import javax.persistence.criteria.CriteriaQuery; | 10 import javax.persistence.criteria.CriteriaQuery; |
11 import javax.persistence.criteria.Predicate; | 11 import javax.persistence.criteria.Predicate; |
12 import javax.persistence.criteria.Root; | 12 import javax.persistence.criteria.Root; |
13 | 13 |
14 import de.intevation.lada.manage.LProbeManager; | 14 import de.intevation.lada.manage.LProbeManager; |
15 import de.intevation.lada.model.LOrt; | |
15 import de.intevation.lada.model.LProbe; | 16 import de.intevation.lada.model.LProbe; |
17 import de.intevation.lada.model.LProbeDetails; | |
16 | 18 |
17 /** | 19 /** |
18 * This Container is an interface to request, filter and select LProbe | 20 * This Container is an interface to request, filter and select LProbe |
19 * obejcts from the connected database. | 21 * obejcts from the connected database. |
20 * | 22 * |
75 Predicate beg = cb.equal(member.get("probeentnahmeBeginn"), new Date(begin)); | 77 Predicate beg = cb.equal(member.get("probeentnahmeBeginn"), new Date(begin)); |
76 criteria.where(beg); | 78 criteria.where(beg); |
77 } | 79 } |
78 return em.createQuery(criteria).getResultList(); | 80 return em.createQuery(criteria).getResultList(); |
79 } | 81 } |
82 | |
83 public LProbeDetails details(String probeId) { | |
84 LProbeDetails details = new LProbeDetails(); | |
85 LProbe probe = em.find(LProbe.class, probeId); | |
86 if (probe == null) { | |
87 return new LProbeDetails(); | |
88 } | |
89 details.setLprobe(probe); | |
90 | |
91 CriteriaBuilder cbLorts = em.getCriteriaBuilder(); | |
92 CriteriaQuery<LOrt> criteriaLorts = cbLorts.createQuery(LOrt.class); | |
93 Root<LOrt> member = criteriaLorts.from(LOrt.class); | |
94 criteriaLorts.where(cbLorts.equal(member.get("probeId"), probe.getProbeId())); | |
95 List<LOrt> lorts = em.createQuery(criteriaLorts).getResultList(); | |
96 details.setLorts(lorts); | |
97 | |
98 return details; | |
99 } | |
80 } | 100 } |