Search in sources :

Example 1 with LanguageBean

use of mom.trd.opentheso.SelectedBeans.LanguageBean in project opentheso by miledrousset.

the class importxml method ouvreFichier2.

/**
 * cette funtion permet de ouvrir un fichier pour comencée a faire une
 * injection de données.
 * Cette funtion c'est la generique
 * @param ds
 * @param archive
 * @throws ClassNotFoundException
 * @throws SQLException
 */
public void ouvreFichier2(HikariDataSource ds, File archive) throws ClassNotFoundException, SQLException {
    LanguageBean langueBean = new LanguageBean();
    SAXBuilder builder = new SAXBuilder();
    ArrayList<Table> toutTables = new ArrayList<>();
    ArrayList<LineOfData> lineOfDatas = new ArrayList<>();
    try {
        // on crée le document a partir du fichier que on a selectioné
        Document document = (Document) builder.build(archive);
        // Se obtiene la raiz 'tables'
        Element rootNode = document.getRootElement();
        // ici on a toutes les tables (les enfants de la racine)
        List list = rootNode.getChildren("table");
        // ici on fait le tour pour les enfants de 'tables'
        for (int i = 0; i < list.size(); i++) {
            // ici on a la première table
            Element tabla = (Element) list.get(i);
            // ici on a le nom de la table
            String nombreTabla = tabla.getAttributeValue("nom");
            // ici c'est la liste des lignes de la table
            List lista_campos = tabla.getChildren();
            // ici on découpe la liste des lignes
            for (int j = 0; j < lista_campos.size(); j++) {
                // ici on a une ligne de la table
                Element campo = (Element) lista_campos.get(j);
                for (Element colonne : campo.getChildren()) {
                    LineOfData lineOfData = new LineOfData();
                    lineOfData.setColomne(colonne.getName());
                    lineOfData.setValue(colonne.getText());
                    lineOfDatas.add(lineOfData);
                }
                insertLine2(ds, lineOfDatas, nombreTabla);
                lineOfDatas.clear();
            }
        // / mettre à jour la table dans la BDD
        }
    } catch (IOException | JDOMException io) {
        System.out.println(io.toString());
    }
// FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", langueBean.getMsg("impBDD.info1")));
}
Also used : SAXBuilder(org.jdom2.input.SAXBuilder) Table(mom.trd.opentheso.core.exports.privatesdatas.tables.Table) Element(org.jdom2.Element) ArrayList(java.util.ArrayList) IOException(java.io.IOException) Document(org.jdom2.Document) JDOMException(org.jdom2.JDOMException) LineOfData(mom.trd.opentheso.core.exports.privatesdatas.LineOfData) ArrayList(java.util.ArrayList) List(java.util.List) LanguageBean(mom.trd.opentheso.SelectedBeans.LanguageBean)

Example 2 with LanguageBean

use of mom.trd.opentheso.SelectedBeans.LanguageBean in project opentheso by miledrousset.

the class NewEmptyJUnitTest method recuperatefils.

public void recuperatefils(HikariDataSource ds) throws SQLException {
    LanguageBean laguageBean = new LanguageBean();
    String id_theso = "11";
    int j = 0;
    HashMap<String, String> map = new HashMap<>();
    Connection conn, conn2, conn3 = null;
    Statement stmt, stmt1, stmt2 = null;
    ArrayList<Integer> niveaux = new ArrayList<>();
    ResultSet resultSet, resultSet1, rS;
    boolean first = true;
    // id_theso = theso;
    String i = "";
    String lange = "fr";
    ArrayList<String> candidats = new ArrayList<>();
    ArrayList<Integer> combienterm = new ArrayList<>();
    int domines = 0;
    try {
        conn = conn2 = conn3 = ds.getConnection();
        try {
            stmt = conn.createStatement();
            stmt1 = conn2.createStatement();
            stmt2 = conn2.createStatement();
            try {
                String query = "SELECT idgroup, lexicalvalue, lang FROM concept_group_label where idthesaurus ='" + id_theso + "'";
                resultSet = stmt.executeQuery(query);
                while (resultSet.next()) {
                    String lexical = "";
                    String lang = "(";
                    String idgroup = resultSet.getString(1);
                    if (i == null ? idgroup != null : !i.equals(idgroup)) {
                        lexical += resultSet.getString(2);
                        lang += resultSet.getString(3) + ")";
                        lexical += lang;
                        candidats.add(lexical);
                        niveaux.add(j);
                        domines++;
                    } else {
                        String change = map.get(i);
                        lang = "(";
                        lexical += ", " + resultSet.getString(2);
                        lang += resultSet.getString(3) + ")";
                        lexical += lang;
                        change += lexical;
                        lexical = change;
                        int ou = candidats.size();
                        candidats.remove(ou - 1);
                        candidats.add(lexical);
                    }
                    i = resultSet.getString(1);
                    map.put(idgroup, lexical);
                }
                j++;
                for (Map.Entry e : map.entrySet()) {
                    int combien = 0;
                    int cantitad = 0;
                    ArrayList<String> id = new ArrayList<>();
                    String query2 = "Select *  from concept_historique where id_thesaurus = '" + id_theso + "' and id_group ='" + e.getKey() + "' and top_concept ='true'";
                    String query4 = "Select id_concept from concept where id_group ='" + e.getKey() + "' ";
                    rS = stmt2.executeQuery(query4);
                    while (rS.next()) {
                        cantitad++;
                    }
                    combienterm.add(cantitad);
                    resultSet = stmt.executeQuery(query2);
                    while (resultSet.next()) {
                        combien++;
                        String query3 = "Select id_term from term where id_term ='" + resultSet.getString(1) + "' and lang ='" + lange + "'";
                        resultSet1 = stmt1.executeQuery(query3);
                        if (resultSet1.next()) {
                            candidats.add(resultSet1.getString(1));
                            id.add(resultSet1.getString(1));
                            niveaux.add(j);
                        }
                    }
                    for (int z = 0; z < combien; z++) {
                        int tamanio = id.size();
                        j++;
                        genererfils(ds, id_theso, lange, candidats, id.get(z), niveaux, j);
                        j--;
                    }
                }
                changenames(ds, candidats);
                creedocumentatlch(candidats, id_theso, lange, niveaux, combienterm, map, domines);
            } finally {
                stmt.close();
            }
        } finally {
            conn.close();
        }
    } catch (SQLException ex) {
        Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : Table(mom.trd.opentheso.core.exports.privatesdatas.tables.Table) HashMap(java.util.HashMap) SQLException(java.sql.SQLException) Statement(java.sql.Statement) Connection(java.sql.Connection) ArrayList(java.util.ArrayList) ResultSet(java.sql.ResultSet) LanguageBean(mom.trd.opentheso.SelectedBeans.LanguageBean) HashMap(java.util.HashMap) Map(java.util.Map)

Example 3 with LanguageBean

use of mom.trd.opentheso.SelectedBeans.LanguageBean in project opentheso by miledrousset.

the class importxml method ouvreFichier.

/*  
        for (Table user : DataTable) {
            for (LineOfData lineOfData : user.getLineOfDatas()) {
                writeLine(lineOfData.getColomne(), lineOfData.getValue());
            }
     */
/*
    public void choisirfichier (HikariDataSource ds){
        JFileChooser fileChooser = new JFileChooser();
        int seleccion = fileChooser.showOpenDialog(null);
        fichero = fileChooser.getSelectedFile();
               //Acciones que se quieran realizar
        ouvreFichier();
       
    }*/
/**
 * cette funtion permet de ouvrir un fichier pour comencée a faire une
 * injection de données.
 * C'est seulement pour la creation de un nouvelle BDD.
 * la funtion generique est plus ba
 * @param con
 * @param archive
 * @throws ClassNotFoundException
 * @throws SQLException
 */
public void ouvreFichier(Connection con, File archive) throws ClassNotFoundException, SQLException {
    LanguageBean langueBean = new LanguageBean();
    SAXBuilder builder = new SAXBuilder();
    ArrayList<Table> toutTables = new ArrayList<>();
    ArrayList<LineOfData> lineOfDatas = new ArrayList<>();
    try {
        // on crée le document a partir du fichier que on a selectioné
        Document document = (Document) builder.build(archive);
        // Se obtiene la raiz 'tables'
        Element rootNode = document.getRootElement();
        // ici on a toutes les tables (les enfants de la racine)
        List list = rootNode.getChildren("table");
        // ici on fait le tour pour les enfants de 'tables'
        for (int i = 0; i < list.size(); i++) {
            // ici on a la première table
            Element tabla = (Element) list.get(i);
            // ici on a le nom de la table
            String nombreTabla = tabla.getAttributeValue("nom");
            // ici c'est la liste des lignes de la table
            List lista_campos = tabla.getChildren();
            // ici on découpe la liste des lignes
            for (int j = 0; j < lista_campos.size(); j++) {
                // ici on a une ligne de la table
                Element campo = (Element) lista_campos.get(j);
                for (Element colonne : campo.getChildren()) {
                    LineOfData lineOfData = new LineOfData();
                    // le nom de la colone
                    lineOfData.setColomne(colonne.getName());
                    // le value que le correspond
                    lineOfData.setValue(colonne.getText());
                    lineOfDatas.add(lineOfData);
                }
                insertLine(con, lineOfDatas, nombreTabla);
                lineOfDatas.clear();
            }
        // / mettre à jour la table dans la BDD
        }
    } catch (IOException | JDOMException io) {
        System.out.println("error");
    }
// FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", langueBean.getMsg("impBDD.info1")));
}
Also used : SAXBuilder(org.jdom2.input.SAXBuilder) Table(mom.trd.opentheso.core.exports.privatesdatas.tables.Table) Element(org.jdom2.Element) ArrayList(java.util.ArrayList) IOException(java.io.IOException) Document(org.jdom2.Document) JDOMException(org.jdom2.JDOMException) LineOfData(mom.trd.opentheso.core.exports.privatesdatas.LineOfData) ArrayList(java.util.ArrayList) List(java.util.List) LanguageBean(mom.trd.opentheso.SelectedBeans.LanguageBean)

Aggregations

ArrayList (java.util.ArrayList)3 LanguageBean (mom.trd.opentheso.SelectedBeans.LanguageBean)3 Table (mom.trd.opentheso.core.exports.privatesdatas.tables.Table)3 IOException (java.io.IOException)2 List (java.util.List)2 LineOfData (mom.trd.opentheso.core.exports.privatesdatas.LineOfData)2 Document (org.jdom2.Document)2 Element (org.jdom2.Element)2 JDOMException (org.jdom2.JDOMException)2 SAXBuilder (org.jdom2.input.SAXBuilder)2 Connection (java.sql.Connection)1 ResultSet (java.sql.ResultSet)1 SQLException (java.sql.SQLException)1 Statement (java.sql.Statement)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1