/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxconsultation.dao.impl.referentiel.historique; import com.megatim.fdxcommons.dao.ifaces.referentiel.historique.ReferentielIntegrationHistoriqueDAO; import com.megatim.fdxcommons.model.referentiel.historique.ReferentielIntegrationHistorique; import com.megatim.fdxcommons.model.referentiel.historique.ReferentielIntegrationHistoriqueId; import java.util.List; import java.util.Optional; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; /** * * @author ASUS */ @Stateless public class ReferentielIntegrationHistoriqueDAOImpl implements ReferentielIntegrationHistoriqueDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") protected EntityManager em; @Override public Class getManagedEntityClass() { return ReferentielIntegrationHistorique.class; } @Override public EntityManager getEntityManager() { return em; } @Override public ReferentielIntegrationHistorique getById(ReferentielIntegrationHistoriqueId id) { Optional optRefInt = em .createQuery("SELECT r FROM ReferentielIntegrationHistorique r" + " WHERE r.codeTypeFichier = :codeTypeFichier AND r.referentielVersion = :refVersion") .setParameter("codeTypeFichier", id.getCodeTypeFichier()) .setParameter("refVersion", id.getReferentielVersion()) .getResultList() .stream() .findFirst(); return optRefInt.isPresent() ? optRefInt.get() : null; } @Override public ReferentielIntegrationHistorique suitableIntegrationHistorique(String codeTypeFichier, String refVersion) { Optional optRefInt = em .createQuery("SELECT r FROM ReferentielIntegrationHistorique r" + " WHERE r.codeTypeFichier = :codeTypeFichier AND :refVersion MEMBER OF r.dependingReferentiels") .setParameter("codeTypeFichier", codeTypeFichier) .setParameter("refVersion", refVersion) .getResultList() .stream() .findFirst(); return optRefInt.isPresent() ? optRefInt.get() : null; } @Override public List suitableIntegrationHistorique(String refVersion) { return em .createQuery("SELECT r FROM ReferentielIntegrationHistorique r" + " WHERE :refVersion MEMBER OF r.dependingReferentiels") .setParameter("refVersion", refVersion) .getResultList(); } }