package com.megatim.fdxconsultation.service.impl.camel.consumer;
|
|
import com.megatim.fdxcommons.model.dataproduction.metadata.ProductionMetaData;
|
import com.megatim.fdxcommons.model.dtos.dataproduction.ProductionMetaDataDto;
|
import com.megatim.fdxcommons.model.enumeration.StatutDataProduction;
|
import com.megatim.fdxcommons.tools.database.connection.DBConnection;
|
import javax.inject.Inject;
|
import org.apache.camel.Handler;
|
import com.megatim.fdxconsultation.dao.impl.dataproduction.metadata.CreateDataProductionQuery;
|
import com.megatim.fdxconsultation.dao.impl.dataproduction.metadata.CreateProductionMetaDataQuery;
|
import com.megatim.fdxconsultation.model.dataproduction.DataProduction;
|
import com.megatim.fdxconsultation.model.mappers.MapStructMapper;
|
import com.megatim.fdxconsultation.tools.context.AppCommonContext;
|
import java.sql.Connection;
|
import javax.annotation.Resource;
|
import javax.sql.DataSource;
|
|
/**
|
*
|
* @author lenovo
|
*/
|
public class ProductionMetaDaConsumer {
|
|
@Resource(lookup = AppCommonContext.JNDI_NAME)
|
private DataSource dataSource;
|
|
@Inject
|
private MapStructMapper mapper;
|
|
@Inject
|
private com.megatim.fdxcommons.model.mappers.MapStructMapper commonMapper;
|
|
@Handler
|
public void saveData(ProductionMetaDataDto dto) throws Exception {
|
System.out.println("----------------In ProductionMetaDaConsumer--------------------");
|
DataProduction dataProduction = mapper.commonDataProductionDtoToDataProduction(dto.getDataProduction());
|
dataProduction.setId(dto.getDataProduction().getId());
|
dataProduction.setStatutDataProduction(StatutDataProduction.ENCOURS_DE_CONSOMMATION);
|
System.out.println("------------ NbreElts " + dataProduction.getNbreElements() + ", FileName = " + dataProduction.getFileName() + ", IntegrationFileName = " + dataProduction.getIntegrationFileName());
|
|
ProductionMetaData pmd = commonMapper.productionMetaDataDtoToProductionMetaData(dto);
|
|
try ( Connection connection = new DBConnection(dataSource).connection()) {
|
connection.setAutoCommit(false);
|
|
new CreateDataProductionQuery(dataProduction, connection).execute();
|
new CreateProductionMetaDataQuery(pmd, dataProduction.getDataProductionType(), connection).execute();
|
|
connection.commit();
|
}
|
}
|
}
|