package com.megatim.fdxcommons.tools.database.queries; import com.megatim.fdxcommons.tools.database.contrat.TypeFichierInsertMetaData; import com.megatim.fdxcommons.tools.database.queries.metadata.DefaultTypeFichierDataColumn; import com.megatim.fdxcommons.tools.database.tables.appcolumns.DataProductionIdColumnDefinition; import com.megatim.fdxcommons.tools.database.tables.appcolumns.DateCreationColumnDefinition; import com.megatim.fdxcommons.tools.database.tables.appcolumns.TokenColumnDefinition; import java.sql.Connection; import java.sql.SQLException; import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import javax.naming.NamingException; /** * @author Gabuntu */ public class FdxApiInsert extends FdxInsert { public FdxApiInsert(Connection connection, Long dataProductionId) { super(connection, dataProductionId); } @Override public long insert(TypeFichierInsertMetaData insertMetaData) throws SQLException, NamingException, Exception { List dataColumnsToAdd = dataColumnsToAdd(); new InsertQuery(insertMetaData.tableName(), connection, dataColumnsToAdd, insertMetaData.columnNames(), insertMetaData.rows()).execute(); return dataProductionId; } public void insert(TypeFichierInsertMetaData insertMetaData, String token) throws SQLException, NamingException, Exception { List dataColumnsToAdd = Arrays.asList( new DefaultTypeFichierDataColumn(new TokenColumnDefinition().name(), token), new DefaultTypeFichierDataColumn(new DataProductionIdColumnDefinition().name(), 0L) ); new InsertQuery(insertMetaData.tableName(), connection, dataColumnsToAdd, insertMetaData.columnNames(), insertMetaData.rows()).execute(); } private List dataColumnsToAdd() { return Arrays.asList( new DefaultTypeFichierDataColumn(new DateCreationColumnDefinition().name(), LocalDateTime.now()), new DefaultTypeFichierDataColumn(new DataProductionIdColumnDefinition().name(), dataProductionId) ); } }