Mercurial > lada > lada-server
view src/main/java/de/intevation/lada/data/LProbeRepository.java @ 36:8155d2ed5cb8
Use String for lprobe id.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 23 May 2013 14:47:21 +0200 |
parents | f425150ea2b5 |
children | e0a5477f657e |
line wrap: on
line source
/* * JBoss, Home of Professional Open Source * Copyright 2012, Red Hat, Inc. and/or its affiliates, and individual * contributors by the @authors tag. See the copyright.txt in the * distribution for a full listing of individual contributors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.intevation.lada.data; import java.util.Date; import java.util.List; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContextType; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import de.intevation.lada.model.LProbe; import de.intevation.lada.service.LProbeService; @ApplicationScoped public class LProbeRepository { @Inject @PersistenceContext(type=PersistenceContextType.EXTENDED) private EntityManager em; @Inject private LProbeService service; public LProbe findById(String id) { return em.find(LProbe.class, id); } public void delete(LProbe item) { try { service.delete(item.getProbeId()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public List<LProbe> filter(String mstId, String uwbId, Long begin) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<LProbe> criteria = cb.createQuery(LProbe.class); Root<LProbe> member = criteria.from(LProbe.class); Predicate mst = cb.equal(member.get("mstId"), mstId); Predicate uwb = cb.equal(member.get("umwId"), uwbId); if (!mstId.isEmpty() && !uwbId.isEmpty() && begin != null) { Predicate beg = cb.equal(member.get("probeentnahmeBeginn"), new Date(begin)); criteria.where(cb.and(mst, uwb, beg)); } else if (!mstId.isEmpty() && !uwbId.isEmpty() && begin == null) { criteria.where(cb.and(mst, uwb)); } else if (!mstId.isEmpty() && uwbId.isEmpty() && begin != null) { Predicate beg = cb.equal(member.get("probeentnahmeBeginn"), new Date(begin)); criteria.where(cb.and(mst, beg)); } else if (mstId.isEmpty() && !uwbId.isEmpty() && begin != null) { Predicate beg = cb.equal(member.get("probeentnahmeBeginn"), new Date(begin)); criteria.where(cb.and(uwb, beg)); } else if (!mstId.isEmpty() && uwbId.isEmpty() && begin == null) { criteria.where(mst); } else if (mstId.isEmpty() && !uwbId.isEmpty() && begin == null) { criteria.where(uwb); } else if (mstId.isEmpty() && uwbId.isEmpty() && begin != null) { Predicate beg = cb.equal(member.get("probeentnahmeBeginn"), new Date(begin)); criteria.where(beg); } return em.createQuery(criteria).getResultList(); } public List<LProbe> findAll() { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<LProbe> criteria = cb.createQuery(LProbe.class); Root<LProbe> member = criteria.from(LProbe.class); criteria.select(member); return em.createQuery(criteria).getResultList(); } }