package fi.otavanopisto.muikku.plugins.websocket; import java.util.Date; import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import fi.otavanopisto.muikku.plugins.websocket.WebSocketTicket_; import fi.otavanopisto.muikku.plugins.CorePluginsDAO; import fi.otavanopisto.muikku.plugins.websocket.WebSocketTicket; public class WebSocketTicketDAO extends CorePluginsDAO<WebSocketTicket> { private static final long serialVersionUID = -508011193510467247L; public WebSocketTicket create(String ticket, Long user, String ip, Date timestamp) { WebSocketTicket webSocketTicket = new WebSocketTicket(); webSocketTicket.setTicket(ticket); webSocketTicket.setUser(user); webSocketTicket.setIp(ip); webSocketTicket.setTimestamp(timestamp); getEntityManager().persist(webSocketTicket); return webSocketTicket; } public WebSocketTicket findByTicket(String ticket) { EntityManager entityManager = getEntityManager(); CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<WebSocketTicket> criteria = criteriaBuilder.createQuery(WebSocketTicket.class); Root<WebSocketTicket> root = criteria.from(WebSocketTicket.class); criteria.select(root); criteria.where( criteriaBuilder.equal(root.get(WebSocketTicket_.ticket), ticket) ); return getSingleResult(entityManager.createQuery(criteria)); } @Override public void delete(WebSocketTicket ticket) { super.delete(ticket); } }