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<TableDefinition> tableDefinitions) throws Exception {
|
|
try ( Connection connection = new DBConnection(dataSource).connection()) {
|
for (TableDefinition tableDefinition : tableDefinitions) {
|
new FdxApiTable(tableDefinition.getCodeTypeFichier(),
|
tableDefinition.getReferentielVersion(),
|
connection)
|
.createTable(tableDefinition.getColumnDefinitions());
|
}
|
}
|
}
|
|
}
|