package com.megatim.fdxconsultation.core.ifaces.abtracts;
|
|
import com.megatim.fdxcommons.tools.exceptions.CommonApplicationValidationException;
|
import com.megatim.fdxconsultation.tools.CommonTools;
|
import com.megatim.fdxconsultation.tools.context.AppCommonContext;
|
import java.io.File;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
*
|
* @author lenovo
|
*/
|
public class ExportExcelGenerator<T> {
|
|
private final List<T> entities = new ArrayList<T>();
|
|
public File exporter(T entity) {
|
entities.clear();
|
entities.add(entity);
|
return generate();
|
}
|
|
public File exporter(List<T> entities) {
|
this.entities.clear();
|
this.entities.addAll(entities);
|
return generate();
|
}
|
|
private File generate() {
|
File fichier;
|
|
try {
|
|
//On exporte
|
fichier = CommonTools.exporterEnExcel(entities, new File(generateFileName()));
|
|
} catch (Exception ex) {
|
|
//On affiche les traces
|
ex.printStackTrace();
|
|
//On lève une exception
|
throw new CommonApplicationValidationException("Une erreur est survenue lors de la génération du fichier excel");
|
|
}
|
return fichier;
|
}
|
|
private String generateFileName() {
|
|
//Variables
|
File repertoire = new File(AppCommonContext.EXPORT_DIR);
|
|
//Si le repertoire n'exsite pas
|
if(!repertoire.exists()){
|
|
//On le créée
|
repertoire.mkdirs();
|
|
}
|
|
return repertoire.getAbsolutePath() + File.separator + CommonTools.genererChaineAleatoire() + "." + AppCommonContext.EXTENSION_EXCEL;
|
}
|
|
}
|