/*
|
* 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.stats;
|
|
import com.megatim.fdxconsultation.dao.ifaces.stats.CriteriaEntityPersistedDAO;
|
import com.megatim.fdxconsultation.dao.ifaces.stats.TableConfigurationDAO;
|
import com.megatim.fdxconsultation.model.stats.CriteriaEntityPersisted;
|
import com.megatim.fdxconsultation.model.stats.TableConfiguration;
|
import java.util.Optional;
|
import javax.ejb.EJB;
|
import javax.ejb.Stateless;
|
import javax.persistence.EntityManager;
|
import javax.persistence.PersistenceContext;
|
import javax.persistence.Query;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
@Stateless
|
public class TableConfigurationDAOImpl implements TableConfigurationDAO {
|
|
@PersistenceContext(unitName = "fdxConsultationPersistenceUnit")
|
protected EntityManager em;
|
|
@EJB
|
CriteriaEntityPersistedDAO criteriaDao;
|
|
@Override
|
public Class<TableConfiguration> getManagedEntityClass() {
|
return TableConfiguration.class;
|
}
|
|
@Override
|
public EntityManager getEntityManager() {
|
return em;
|
}
|
|
@Override
|
public TableConfiguration getById(Long id) {
|
Query query = em.createQuery("SELECT t FROM TableConfiguration t LEFT JOIN FETCH t.groupingColumns where t.id = :id");
|
query.setParameter("id", id);
|
Optional<TableConfiguration> optTableConfiguration = query.getResultList().stream().findFirst();
|
|
TableConfiguration tableConf = optTableConfiguration.isPresent() ? optTableConfiguration.get() : null;
|
|
if(tableConf == null) {
|
return null;
|
}
|
|
if (tableConf.getCriterion() != null) {
|
CriteriaEntityPersisted criterion = criteriaDao.loadSubCriteria(tableConf.getCriterion());
|
tableConf.setCriterion(criterion);
|
|
}
|
return tableConf;
|
}
|
}
|