package com.megatim.apifdxweb.core.impl.integration; import com.megatim.apifdxweb.tools.AppContext; import com.megatim.fdxcommons.core.ifaces.helper.referentiel.DynamicTableCreator; import com.megatim.fdxcommons.model.pojo.TableDefinition; import com.megatim.fdxcommons.tools.database.connection.DBConnection; import com.megatim.fdxcommons.tools.database.tables.FdxApiTable; 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 = AppContext.JNDI_NAME) private DataSource dataSource; @Override public void createDynamicTables(List tableDefinitions) throws Exception { try ( Connection connection = new DBConnection(dataSource).connection()) { for (TableDefinition tableDefinition : tableDefinitions) { new FdxApiTable(tableDefinition.getCodeTypeFichier(), tableDefinition.getReferentielVersion(), connection) .createTable(tableDefinition.getColumnDefinitions()); } } } }