view src/main/java/de/intevation/lada/data/LKommentarPRepository.java @ 56:9f3e902ce778

Added new entity, repository and service for 'LKommentarP'.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 27 May 2013 15:23:41 +0200
parents
children 5abec5413d65
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;


@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 List<LKommentarP> filter(String probeId) {
        if (probeId.isEmpty()) {
            return 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));

        return em.createQuery(criteria).getResultList();
    }

    public String create(LKommentarP kommentar) {
        try {
            manager.create(kommentar);
            return "";
        }
        catch(EntityExistsException eee) {
            return "Entity already exists.";
        }
        catch(IllegalArgumentException iae) {
            return "Object is not an entity.";
        }
        catch(TransactionRequiredException tre) {
            logger.log(Level.INFO, "exception: " + tre);
            return "Transaction failed.";
        }
    }
}
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)