package com.megatim.fdxconsultation.core.impl.dataproductionworker;
|
|
import com.megatim.fdxcommons.tools.database.connection.DBConnection;
|
import com.megatim.fdxcommons.tools.database.tables.FdxConsultationTable;
|
import com.megatim.fdxconsultation.core.impl.factory.FdxConsultationTableFactory;
|
import com.megatim.fdxconsultation.model.dataproduction.DataProduction;
|
import java.sql.Connection;
|
import java.util.logging.Level;
|
import java.util.logging.Logger;
|
import javax.sql.DataSource;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
class DeleteDataProductionTask implements DataProductionTask {
|
|
private final DataProduction dataProduction;
|
private final DataSource dataSource;
|
|
public DeleteDataProductionTask(DataProduction dataProduction, DataSource dataSource) {
|
this.dataProduction = dataProduction;
|
this.dataSource = dataSource;
|
}
|
|
@Override
|
public void processProduction() {
|
|
try ( Connection connection = new DBConnection(dataSource).connection()) {
|
|
connection.setAutoCommit(false);
|
|
FdxConsultationTable fdxConsTable = FdxConsultationTableFactory.createTable(dataProduction.getCodeTypeFichier(), dataProduction.getReferentielVersion(), connection);
|
fdxConsTable.delete(null, dataProduction, connection);
|
connection.commit();
|
|
} catch (Exception ex) {
|
Logger.getLogger(DeleteDataProductionTask.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
|
}
|
|
}
|
|
}
|