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.fdxcommons.model.enumeration.TypeOperation;
|
import com.megatim.fdxconsultation.dao.ifaces.administration.RoleDAO;
|
import com.megatim.fdxconsultation.model.administration.Role;
|
import java.util.Optional;
|
import javax.enterprise.context.Dependent;
|
|
/**
|
*
|
* @author DYNABOOK
|
*/
|
@Dependent
|
public class RoleDAOImpl extends AbstractGenericDAO<Role, Long> implements RoleDAO {
|
|
@PersistenceContext(unitName = "fdxConsultationPersistenceUnit")
|
protected EntityManager em;
|
|
public RoleDAOImpl() {
|
}
|
|
@Override
|
public EntityManager getEntityManager() {
|
return em;
|
}
|
|
@Override
|
public Class<Role> getManagedEntityClass() {
|
return (Role.class);
|
}
|
|
@Override
|
public Role getCurrentRole() {
|
RestrictionsContainer requeteur = RestrictionsContainer.newInstance();
|
requeteur.addEq("typeOperation", TypeOperation.AJOUTER);
|
return filter(requeteur.getPredicats(), null, null, 0, 1).stream().findAny().orElse(null);
|
}
|
|
@Override
|
public Role getById(Long id) {
|
Optional<Role> optional = em.createQuery("SELECT r from Role r "
|
+ "WHERE r.id = :id")
|
.setParameter("id", id)
|
.getResultList()
|
.stream()
|
.findFirst();
|
return optional.isPresent() ? optional.get() : null;
|
}
|
}
|