/*
|
* 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.core.impl.referentiel;
|
|
import com.megatim.fdxconsultation.core.ifaces.referentiel.ExtensionFichierManager;
|
import com.megatim.fdxcommons.model.enumeration.OrderByType;
|
import com.megatim.fdxcommons.model.pojo.CriteriaEntity;
|
import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
|
import com.megatim.fdxcommons.model.referentiel.ExtensionFichier;
|
import com.megatim.fdxcommons.tools.exceptions.CommonApplicationServerException;
|
import com.megatim.fdxconsultation.dao.ifaces.referentiel.ExtensionFichierDAO;
|
import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest;
|
import com.megatim.fdxcommons.model.pojo.OrderByDefinition;
|
import com.megatim.fdxconsultation.model.administration.User;
|
import com.megatim.fdxconsultation.reporting.model.referentiel.ExtensionFichierReporting;
|
import com.megatim.fdxconsultation.tools.CommonTools;
|
import com.megatim.fdxconsultation.tools.CommonsToolsEntity;
|
import com.megatim.reporting.adhoc.dto.ReportConfiguration;
|
import java.io.File;
|
import java.util.Arrays;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.logging.Level;
|
import java.util.logging.Logger;
|
import java.util.stream.Collectors;
|
import javax.ejb.EJB;
|
import javax.enterprise.context.Dependent;
|
import javax.inject.Inject;
|
import javax.persistence.EntityManager;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
@Dependent
|
public class ExtensionFichierManagerImpl implements ExtensionFichierManager {
|
|
@EJB
|
private ExtensionFichierDAO dao;
|
|
@Inject
|
com.megatim.fdxcommons.model.mappers.MapStructMapper commonMapper;
|
|
@Override
|
public ExtensionFichierDAO getDao() {
|
return dao;
|
}
|
|
@Override
|
public String getEntityIdName() {
|
return "extension";
|
}
|
|
@Override
|
public Class<ExtensionFichierReporting> getClazz() {
|
return ExtensionFichierReporting.class;
|
}
|
|
@Override
|
public List<ExtensionFichierReporting> getDatas(CriteriaEntityFromView criterion) throws Exception {
|
return CommonsToolsEntity.convertToExtensionFichierReporting(findAll(criterion, Arrays.asList(), Arrays.asList()));
|
}
|
|
@Override
|
public Map<String, Object> getParameters() {
|
return new HashMap<>();
|
}
|
|
@Override
|
public List<ExtensionFichier> findAll(CriteriaFormRequest criteriaFormRequest, List<String> fetchEagerFields) {
|
try {
|
List<String> fieldsNotFound = CommonTools.checkIfEntityField(ExtensionFichier.class, fetchEagerFields);
|
if (!fieldsNotFound.isEmpty()) {
|
throw new Exception("Les champs suivants n'appartiennent pas à l'entité ExtensionFichier : "
|
+ fieldsNotFound.stream().collect(Collectors.joining(",", "{", "}")));
|
}
|
CriteriaEntityFromView criterion = criteriaFormRequest != null ? criteriaFormRequest.getCriteria() : null;
|
|
return getDao().findAll(criterion, fetchEagerFields, Arrays.asList(new OrderByDefinition("dateCreation", OrderByType.DESC)));
|
|
} catch (Exception ex) {
|
Logger.getLogger(ExtensionFichierManagerImpl.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
|
throw new CommonApplicationServerException();
|
}
|
|
}
|
|
@Override
|
public List<ExtensionFichier> findWithPagination(CriteriaFormRequest criteriaFormRequest, List<String> fetchEagerFields, int pageNumber, int pageSize) {
|
try {
|
List<String> fieldsNotFound = CommonTools.checkIfEntityField(ExtensionFichier.class, fetchEagerFields);
|
if (!fieldsNotFound.isEmpty()) {
|
throw new Exception("Les champs suivants n'appartiennent pas à l'entité ExtensionFichier : " + fieldsNotFound.stream().collect(Collectors.joining(",", "{", "}")));
|
}
|
|
CriteriaEntityFromView criterion = criteriaFormRequest != null ? criteriaFormRequest.getCriteria() : null;
|
return findWithPagination(criterion, fetchEagerFields, Arrays.asList(new OrderByDefinition("dateCreation", OrderByType.DESC)), pageNumber, pageSize);
|
} catch (Exception ex) {
|
Logger.getLogger(ExtensionFichierManagerImpl.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
|
throw new CommonApplicationServerException();
|
}
|
}
|
|
@Override
|
public Class<ExtensionFichier> getManagedEntityClass() {
|
return ExtensionFichier.class;
|
}
|
|
@Override
|
public EntityManager getEntityManager() {
|
return getDao().getEntityManager();
|
}
|
|
@Override
|
public File printAll(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
|
return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, false);
|
}
|
|
@Override
|
public File printOne(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
|
return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, true);
|
}
|
|
@Override
|
public File exportExcelAll(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
|
return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, false);
|
}
|
|
@Override
|
public File exportExcelOne(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
|
return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, true);
|
}
|
}
|