/*
|
* 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.select.impl;
|
|
import com.megatim.queryadhoc.connection.impl.OracleDbConnection;
|
import com.megatim.queryadhoc.model.ConnectionParameter;
|
import com.megatim.queryadhoc.query.abstracts.DatabaseSelectQuery;
|
import com.megatim.queryadhoc.model.DbColumnDescription;
|
import com.megatim.queryadhoc.queries.CommonSelectQuery;
|
import java.util.List;
|
import java.io.File;
|
import java.sql.Connection;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
import com.megatim.queryadhoc.query.ifaces.SelectQuery;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
public class OracleSelectQuery extends DatabaseSelectQuery implements SelectQuery {
|
|
public OracleSelectQuery(ConnectionParameter connectionParameter) {
|
super(connectionParameter);
|
}
|
|
@Override
|
public List<Map<String, Object>> execute(String tableName, List<String> columnsToSelect) throws Exception {
|
return execute(new OracleDbConnection(connectionParameter), tableName, columnsToSelect);
|
}
|
|
@Override
|
protected List<Map<String, Object>> select(String tableName, Connection connection, List<String> columnsToSelect) throws Exception {
|
return new CommonSelectQuery(connection, tableName, columnsToSelect).execute();
|
}
|
|
@Override
|
public File execute(String tableName, List<DbColumnDescription> columnsDescription, String outputDir, String codeTypeFichier, boolean shouldTruncate) throws Exception {
|
List<String> columnsToSelect = columnsDescription.stream().map(c -> c.getName()).collect(Collectors.toList());
|
List<Map<String, Object>> data = execute(tableName, columnsToSelect);
|
|
return writeToFile(data, columnsDescription, outputDir, codeTypeFichier, tableName, shouldTruncate);
|
}
|
|
}
|