Search in sources :

Example 16 with Table

use of mom.trd.opentheso.core.exports.privatesdatas.tables.Table in project opentheso by miledrousset.

the class ExportPrivatesDatas method getDatasOfTable.

public ArrayList<Table> getDatasOfTable(HikariDataSource ds, String tableName) {
    ArrayList<Table> tableList = new ArrayList<>();
    if (!isTableToIgnore(tableName)) {
        ArrayList<TablesColumn> tablesColumns = new ArrayList<>();
        Connection conn;
        Statement stmt;
        ResultSet resultSet;
        String colomneNameTemp;
        try {
            conn = ds.getConnection();
            try {
                stmt = conn.createStatement();
                try {
                    // récupération des noms des colonnes de la table
                    // et sont type de données
                    String query = "SELECT COLUMN_NAME," + " data_type FROM INFORMATION_SCHEMA.COLUMNS" + " where TABLE_NAME='" + tableName + "'";
                    resultSet = stmt.executeQuery(query);
                    while (resultSet.next()) {
                        colomneNameTemp = resultSet.getString("COLUMN_NAME");
                        if (!isToIgnore(colomneNameTemp)) {
                            TablesColumn tablesColumn = new TablesColumn();
                            tablesColumn.setColumnName(colomneNameTemp);
                            tablesColumn.setColumnType(resultSet.getString("data_type"));
                            tablesColumns.add(tablesColumn);
                        }
                    }
                    // récupération des données de la table
                    query = "SELECT * FROM " + tableName;
                    resultSet = stmt.executeQuery(query);
                    while (resultSet.next()) {
                        Table table = new Table();
                        ArrayList<LineOfData> lineOfDatas = new ArrayList<>();
                        for (TablesColumn tablesColumn : tablesColumns) {
                            LineOfData lineOfData = new LineOfData();
                            lineOfData.setColomne(tablesColumn.getColumnName());
                            if (tablesColumn.getColumnType().equalsIgnoreCase("integer")) {
                                lineOfData.setValue("" + resultSet.getInt(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("character varying")) {
                                lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("character")) {
                                lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("text")) {
                                lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("timestamp with time zone")) {
                                lineOfData.setValue("" + resultSet.getDate(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("timestamp without time zone")) {
                                lineOfData.setValue("" + resultSet.getDate(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("boolean")) {
                                lineOfData.setValue("" + resultSet.getBoolean(tablesColumn.getColumnName()));
                            }
                            if (tablesColumn.getColumnType().equalsIgnoreCase("USER-DEFINED")) {
                                lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
                            }
                            lineOfDatas.add(lineOfData);
                        }
                        table.setLineOfDatas(lineOfDatas);
                        tableList.add(table);
                    }
                } finally {
                    stmt.close();
                }
            } finally {
                conn.close();
            }
        } catch (SQLException ex) {
            Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    return tableList;
}
Also used : Table(mom.trd.opentheso.core.exports.privatesdatas.tables.Table) SQLException(java.sql.SQLException) Statement(java.sql.Statement) LineOfData(mom.trd.opentheso.core.exports.privatesdatas.LineOfData) ArrayList(java.util.ArrayList) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) TablesColumn(mom.trd.opentheso.core.exports.privatesdatas.TablesColumn)

Example 17 with Table

use of mom.trd.opentheso.core.exports.privatesdatas.tables.Table in project opentheso by miledrousset.

the class ExportPrivatesDatas method showPrivateTables.

/**
 * On recupere seulement les tables privates
 *
 * @param ds
 * @return
 */
public ArrayList<String> showPrivateTables(HikariDataSource ds) {
    Connection conn;
    Statement stmt;
    ResultSet resultSet;
    ArrayList<String> tablesprivate = new ArrayList<>();
    try {
        conn = ds.getConnection();
        try {
            stmt = conn.createStatement();
            try {
                String query = "SELECT * from Information_Schema.Tables where table_type= 'BASE TABLE' and table_schema ='public'";
                resultSet = stmt.executeQuery(query);
                while (resultSet.next()) {
                    if (resultSet.getString("table_name").equalsIgnoreCase("users")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("roles")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("user_role")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_term_candidat")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("proposition")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_candidat")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("term_candidat")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_orphan")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_fusion")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("images")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("preferences")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_group_historique")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_group_label_historique")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("concept_historique")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("hierarchical_relationship_historique")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("non_preferred_term")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("note_historique")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                    if (resultSet.getString("table_name").equalsIgnoreCase("term_historique")) {
                        tablesprivate.add(resultSet.getString("table_name"));
                    }
                }
            } finally {
                stmt.close();
            }
        } finally {
            conn.close();
        }
    } catch (SQLException ex) {
        Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
    }
    return tablesprivate;
}
Also used : Table(mom.trd.opentheso.core.exports.privatesdatas.tables.Table) SQLException(java.sql.SQLException) Statement(java.sql.Statement) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) ArrayList(java.util.ArrayList)

Aggregations

Table (mom.trd.opentheso.core.exports.privatesdatas.tables.Table)17 SQLException (java.sql.SQLException)11 Statement (java.sql.Statement)11 Connection (java.sql.Connection)10 ArrayList (java.util.ArrayList)8 LineOfData (mom.trd.opentheso.core.exports.privatesdatas.LineOfData)8 ResultSet (java.sql.ResultSet)6 IOException (java.io.IOException)4 List (java.util.List)3 Document (org.jdom2.Document)3 Element (org.jdom2.Element)3 JDOMException (org.jdom2.JDOMException)3 SAXBuilder (org.jdom2.input.SAXBuilder)3 Test (org.junit.Test)3 HikariDataSource (com.zaxxer.hikari.HikariDataSource)2 File (java.io.File)2 LanguageBean (mom.trd.opentheso.SelectedBeans.LanguageBean)2 ExportPrivatesDatas (mom.trd.opentheso.core.exports.helper.ExportPrivatesDatas)2 BufferedReader (java.io.BufferedReader)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1