package fi.otavanopisto.muikku.plugins.communicator.dao; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import fi.otavanopisto.muikku.plugins.communicator.model.CommunicatorMessageSignature_; import fi.otavanopisto.muikku.model.users.UserEntity; import fi.otavanopisto.muikku.plugins.CorePluginsDAO; import fi.otavanopisto.muikku.plugins.communicator.model.CommunicatorMessageSignature; public class CommunicatorMessageSignatureDAO extends CorePluginsDAO<CommunicatorMessageSignature> { private static final long serialVersionUID = -7830619828801454118L; public CommunicatorMessageSignature create(String name, String content, UserEntity user) { CommunicatorMessageSignature sig = new CommunicatorMessageSignature(); sig.setName(name); sig.setSignature(content); sig.setUser(user.getId()); getEntityManager().persist(sig); return sig; } public List<CommunicatorMessageSignature> listByUser(UserEntity user) { EntityManager entityManager = getEntityManager(); CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<CommunicatorMessageSignature> criteria = criteriaBuilder.createQuery(CommunicatorMessageSignature.class); Root<CommunicatorMessageSignature> root = criteria.from(CommunicatorMessageSignature.class); criteria.select(root); criteria.where( criteriaBuilder.equal(root.get(CommunicatorMessageSignature_.user), user.getId()) ); return entityManager.createQuery(criteria).getResultList(); } @Override public void delete(CommunicatorMessageSignature messageSignature) { super.delete(messageSignature); } public CommunicatorMessageSignature update(CommunicatorMessageSignature messageSignature, String name, String signature) { messageSignature.setName(name); messageSignature.setSignature(signature); getEntityManager().persist(messageSignature); return messageSignature; } }