package com.megatim.fdxconsultation.dao.impl.administration; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import com.bekosoftware.genericdaolayer.dao.impl.AbstractGenericDAO; import com.bekosoftware.genericdaolayer.dao.tools.RestrictionsContainer; import com.megatim.commons.tools.CommonsTools; import com.megatim.fdxcommons.model.enumeration.TypeOperation; import com.megatim.fdxconsultation.dao.ifaces.administration.HistoriqueMotDePasseDAO; import com.megatim.fdxconsultation.model.administration.HistoriqueMotDePasse; import com.megatim.fdxconsultation.model.administration.User; import java.util.List; import javax.enterprise.context.Dependent; /** * * @author DYNABOOK */ @Dependent public class HistoriqueMotDePasseDAOImpl extends AbstractGenericDAO implements HistoriqueMotDePasseDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") protected EntityManager em; public HistoriqueMotDePasseDAOImpl() { } @Override public EntityManager getEntityManager() { return em; } @Override public Class getManagedEntityClass() { return (HistoriqueMotDePasse.class); } @Override public boolean siMotDePasseExiste(String motDePasse, User user) { //Variables List listeMotsDePasse = null; RestrictionsContainer requeteur = RestrictionsContainer.newInstance(); boolean bool = false; //On ajoute les critères de recherche requeteur.addEq("user", user); requeteur.addEq("typeOperation", TypeOperation.AJOUTER); //On recupère le premier mot de passe trouvé listeMotsDePasse = filter(requeteur.getPredicats(), null, null, 0, -1); //Si non vide if(listeMotsDePasse != null && !listeMotsDePasse.isEmpty()){ //On parcourt les mots de passe for(HistoriqueMotDePasse historiqueMotDePasse : listeMotsDePasse){ try { //Si mot de passe matche if(CommonsTools.validerMotDePasse(motDePasse, historiqueMotDePasse.getMotDePasse())){ //On marque comme trouvé bool = true; //On sort break; } } catch (Exception ex) { //On affihce l'erreur ex.printStackTrace(); } } } return bool; } }