package com.megatim.fdxconsultation.core.impl.integration; import com.megatim.fdxcommons.core.ifaces.helper.referentiel.DynamicTableCreator; import com.megatim.fdxcommons.model.integration.TableDefinition; import com.megatim.fdxcommons.tools.database.connection.DBConnection; import com.megatim.fdxconsultation.core.impl.factory.FdxConsultationTableFactory; import com.megatim.fdxconsultation.tools.context.AppCommonContext; import java.sql.Connection; import java.util.List; import javax.annotation.Resource; import javax.enterprise.context.Dependent; import javax.sql.DataSource; /** * * @author lenovo */ @Dependent public class DynamicTableCreatorImpl implements DynamicTableCreator { @Resource(lookup = AppCommonContext.JNDI_NAME) private DataSource dataSource; @Override public void createDynamicTables(List tableDefinitions) throws Exception { try ( Connection connection = new DBConnection(dataSource).connection()) { for (TableDefinition tableDefinition : tableDefinitions) { FdxConsultationTableFactory.createTable(tableDefinition.getCodeTypeFichier(), tableDefinition.getReferentielVersion(), connection) .createTable(tableDefinition.getColumnDefinitions(), connection); } } } }