package com.megatim.fdxconsultation.dao.api.token; import com.bekosoftware.genericdaolayer.dao.impl.AbstractGenericDAO; import com.megatim.fdxcommons.model.referentiel.Participant; import com.megatim.fdxconsultation.dao.ifaces.api.token.ApiTokenDAO; import com.megatim.fdxconsultation.model.api.token.ApiToken; import java.util.Optional; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; /** * * @author ASUS */ @Stateless public class ApiTokenDAOImpl extends AbstractGenericDAO implements ApiTokenDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") EntityManager em; @Override public Class getManagedEntityClass() { return ApiToken.class; } @Override public EntityManager getEntityManager() { return em; } @Override public ApiToken getByCodeParticipant(Participant participant) { Optional optional = em.createQuery("SELECT a FROM ApiToken a where a.participant = :participant") .setParameter("participant", participant) .getResultList() .stream() .findFirst(); return optional.isPresent() ? optional.get() : null; } @Override public ApiToken getByCodeParticipant(String codeParticipant) { Optional optional = em.createQuery("SELECT a FROM ApiToken a where a.participant.code = :codeParticipant") .setParameter("codeParticipant", codeParticipant) .getResultList() .stream() .findFirst(); return optional.isPresent() ? optional.get() : null; } }