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 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)