/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.queryadhoc.query.insert.impl; import com.megatim.queryadhoc.connection.impl.OracleDbConnection; import com.megatim.queryadhoc.contrat.InsertMetaData; import com.megatim.queryadhoc.model.ConnectionParameter; import com.megatim.queryadhoc.model.DbColumnDescription; import com.megatim.queryadhoc.queries.CommonInsertQuery; import com.megatim.queryadhoc.queries.metadata.InsertData; import com.megatim.queryadhoc.queries.metadata.ParsedData; import com.megatim.queryadhoc.query.abstracts.DatabaseInsertQuery; import com.megatim.queryadhoc.query.ifaces.InsertQuery; import com.megatim.queryadhoc.utils.FileDataReader; import java.io.File; import java.sql.Connection; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * * @author ASUS */ public class OracleInsertQuery extends DatabaseInsertQuery implements InsertQuery { public OracleInsertQuery(ConnectionParameter connectionParameter) { super(connectionParameter); } @Override protected void insert(Connection connection, String tableName, List> data, List columnsDescription) throws Exception { Collections.sort(columnsDescription, (DbColumnDescription c1, DbColumnDescription c2) -> c1.getName().compareTo(c2.getName())); ParsedData parsedData = new ParsedData(data, columnsDescription, tableName); InsertMetaData insertMetaData = new InsertData(tableName, parsedData); List columns = columnsDescription.stream().map(c -> c.getName()).collect(Collectors.toList()); new CommonInsertQuery(tableName, connection, columns, insertMetaData.rows()).execute(); } @Override public void execute(String tableName, List columnsDescription, List> data) throws Exception { execute(new OracleDbConnection(connectionParameter), tableName, data, columnsDescription); } @Override public void execute(String tableName, List columnsDescription, File dataFile) throws Exception { List> data = FileDataReader.readFile(columnsDescription, dataFile); execute(tableName, columnsDescription, data); } }