Mercurial > lada > lada-server
view src/main/java/de/intevation/lada/data/LKommentarPRepository.java @ 107:5abec5413d65
Let all services and repositories return a response object that contains errors and warnings.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 12 Jun 2013 11:07:16 +0200 |
parents | 9f3e902ce778 |
children | 4e181a4aaab0 |
line wrap: on
line source
package de.intevation.lada.data; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttributeType; import javax.inject.Inject; import javax.inject.Named; import javax.persistence.EntityExistsException; import javax.persistence.EntityManager; import javax.persistence.TransactionRequiredException; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import de.intevation.lada.manage.LKommentarPManager; import de.intevation.lada.model.LKommentarP; import de.intevation.lada.rest.Response; @Named("lkommentarRepository") public class LKommentarPRepository extends Repository { /** * The entitymanager managing the data. */ @Inject private EntityManager em; @Inject private LKommentarPManager manager; @Inject private Logger logger; public Response filter(String probeId) { if (probeId.isEmpty()) { return new Response(false, 600, new ArrayList<LKommentarP>(0)); } CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<LKommentarP> criteria = cb.createQuery(LKommentarP.class); Root<LKommentarP> member = criteria.from(LKommentarP.class); criteria.where(cb.equal(member.get("probeId"), probeId)); List<LKommentarP> result = em.createQuery(criteria).getResultList(); return new Response(true, 200, result); } public Response create(LKommentarP kommentar) { try { manager.create(kommentar); return new Response(true, 200, kommentar); } catch(EntityExistsException eee) { return new Response(false, 601, kommentar); } catch(IllegalArgumentException iae) { return new Response(false, 602, kommentar); } catch(TransactionRequiredException tre) { logger.log(Level.INFO, "exception: " + tre); return new Response(false, 603, kommentar); } } }