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); } } }