package com.megatim.apifdxweb.dao.impl.administration; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import com.bekosoftware.genericdaolayer.dao.impl.AbstractGenericDAO; import com.megatim.apifdxweb.dao.ifaces.administration.TokenGenerationDAO; import com.megatim.apifdxweb.model.administration.TokenGeneration; import com.megatim.apifdxweb.model.administration.enums.StatutTokenGeneration; import java.util.List; import javax.enterprise.context.Dependent; @Dependent public class TokenGenerationDAOImpl extends AbstractGenericDAO implements TokenGenerationDAO { @PersistenceContext(unitName = "fdxPU") protected EntityManager em; public TokenGenerationDAOImpl() { } @Override public EntityManager getEntityManager() { return em; } @Override public Class getManagedEntityClass() { return (TokenGeneration.class); } @Override public TokenGeneration getCurrentGeneration(String userName) { List liste = em.createQuery("SELECT t FROM TokenGeneration t " + "WHERE t.user.userName = :userName AND t.statutTokenGeneration = :statutTokenGeneration") .setParameter("statutTokenGeneration", StatutTokenGeneration.EN_COURS) .setParameter("userName", userName) .getResultList(); return liste != null && !liste.isEmpty() ? liste.stream().findFirst().get() : null; } }