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<DefaultTypeFichierDataColumn> 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<DefaultTypeFichierDataColumn> 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<DefaultTypeFichierDataColumn> dataColumnsToAdd() {
|
return Arrays.asList(
|
new DefaultTypeFichierDataColumn(new DateCreationColumnDefinition().name(), LocalDateTime.now()),
|
new DefaultTypeFichierDataColumn(new DataProductionIdColumnDefinition().name(), dataProductionId)
|
);
|
}
|
|
}
|