EventFacade.java 1.28 KB
package fi.insomnia.bortal.facade;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.LanEvent_;

@Stateless
@LocalBean
public class EventFacade extends IntegerPkGenericFacade<LanEvent> {

	public EventFacade() {

		super(LanEvent.class);
	}

	public LanEvent findByHostname(String hostname) {

		CriteriaBuilder cb = getEm().getCriteriaBuilder();
		CriteriaQuery<LanEvent> cq = cb.createQuery(LanEvent.class);
		Root<LanEvent> root = cq.from(LanEvent.class);
		cq.where(cb.equal(root.get(LanEvent_.eventEnabled), true));

		// TypedQuery<LanEvent> q =
		// em.createNamedQuery("LanEvent.findByReferer", LanEvent.class);
		// q.setParameter("referer", hostname);
		return getSingleNullableResult(getEm().createQuery(cq));

	}

	public LanEvent findByName(String name) {
		// TypedQuery<LanEvent> q = em.createNamedQuery("LanEvent.findByName",
		// LanEvent.class);
		// q.setParameter("name", name);
		// return getSingleNullableResult(q);
		return this.find(1);
	}

	public String flushCache() {
		getEm().getEntityManagerFactory().getCache().evictAll();
		return "Evicted all!";

	}

}