/*
|
* 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.apifdxweb.service.impl.scheduler;
|
|
import com.megatim.apifdxweb.model.camel.historique.ConsumedFilesHistory;
|
import com.megatim.apifdxweb.service.impl.camel.config.CamelRouteConfiguration;
|
import com.megatim.apifdxweb.tools.AppContext;
|
import java.io.File;
|
import java.util.List;
|
import javax.enterprise.context.Dependent;
|
import javax.inject.Inject;
|
import com.megatim.apifdxweb.service.ifaces.scheduler.DeleteConsumedFilesJob;
|
import com.megatim.apifdxweb.core.ifaces.camel.historique.ConsumedFilesHistoryManager;
|
import com.megatim.apifdxweb.model.camel.historique.ConsumedFileType;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
@Dependent
|
public class DeleteConsumedFilesJobImpl implements DeleteConsumedFilesJob {
|
|
@Inject
|
ConsumedFilesHistoryManager manager;
|
|
@Override
|
public void deleteConsumedFilesInFolder() throws Exception {
|
String dataPath = new CamelRouteConfiguration(AppContext.PROPERTY_FILE_PATH).getLocalConfiguration().fichierLocalPath();
|
String referentielPath = new CamelRouteConfiguration(AppContext.PROPERTY_FILE_PATH).getLocalConfiguration().referentielLocalPath();
|
List<ConsumedFilesHistory> consumedFiles = manager.notDeleted();
|
|
consumedFiles.stream().forEach(cf -> {
|
String filePath = cf.getConsumedFileType().equals(ConsumedFileType.DONNEES) ? dataPath : referentielPath;
|
File file = new File(filePath, cf.getFileName());
|
|
if (!file.exists() || file.exists() && file.delete()) {
|
cf.setDeletedInFolder(true);
|
manager.save(cf);
|
}
|
});
|
}
|
|
}
|