Search in sources :

Example 6 with NodeBT

use of mom.trd.opentheso.bdd.helper.nodes.NodeBT in project opentheso by miledrousset.

the class SelectedTerme method majGroupTGen.

private void majGroupTGen() {
    termeGenerique = new ArrayList<>();
    // On ajoute le domaine
    ArrayList<String> listIdGroup = new ConceptHelper().getListGroupParentIdOfGroup(connect.getPoolConnexion(), idC, idTheso);
    HashMap<String, String> tempMap = new HashMap<>();
    /*for (String group : listIdGroup) {
            tempMap.put(group, new GroupHelper().getLexicalValueOfGroup(connect.getPoolConnexion(), group, idTheso, idlangue));
        }
        termeGenerique.addAll(tempMap.entrySet());*/
    ArrayList<NodeBT> tempBT = new RelationsHelper().getListBT(connect.getPoolConnexion(), idC, idTheso, idlangue);
    for (NodeBT nbt : tempBT) {
        HashMap<String, String> tempMap2 = new HashMap<>();
        if (nbt.getStatus().equals("hidden")) {
            tempMap2.put(nbt.getIdConcept(), "<del>" + nbt.getTitle() + " (" + nbt.getRole() + ")" + "</del>");
        } else {
            tempMap2.put(nbt.getIdConcept(), nbt.getTitle() + " (" + nbt.getRole() + ")");
        }
        termeGenerique.addAll(tempMap2.entrySet());
    }
}
Also used : NodeBT(mom.trd.opentheso.bdd.helper.nodes.NodeBT) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) HashMap(java.util.HashMap) PrefixString(com.k_int.IR.QueryModels.PrefixString) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper)

Example 7 with NodeBT

use of mom.trd.opentheso.bdd.helper.nodes.NodeBT in project opentheso by miledrousset.

the class ConceptHelper method getConcept.

/**
 * Cette fonction permet de récupérer toutes les informations concernant un
 * Concept par son id et son thésaurus et la langue
 *
 * @param ds
 * @param idConcept
 * @param idThesaurus
 * @param idLang
 * @return Objet class NodeConcept
 */
public NodeConcept getConcept(HikariDataSource ds, String idConcept, String idThesaurus, String idLang) {
    NodeConcept nodeConcept = new NodeConcept();
    // récupération des BT
    RelationsHelper relationsHelper = new RelationsHelper();
    ArrayList<NodeBT> nodeListBT = relationsHelper.getListBT(ds, idConcept, idThesaurus, idLang);
    nodeConcept.setNodeBT(nodeListBT);
    // récupération du Concept
    Concept concept = getThisConcept(ds, idConcept, idThesaurus);
    nodeConcept.setConcept(concept);
    // récupération du Terme
    TermHelper termHelper = new TermHelper();
    Term term = termHelper.getThisTerm(ds, idConcept, idThesaurus, idLang);
    nodeConcept.setTerm(term);
    // récupération des termes spécifiques
    nodeConcept.setNodeNT(relationsHelper.getListNT(ds, idConcept, idThesaurus, idLang));
    // récupération des termes associés
    nodeConcept.setNodeRT(relationsHelper.getListRT(ds, idConcept, idThesaurus, idLang));
    // récupération des Non Prefered Term
    nodeConcept.setNodeEM(termHelper.getNonPreferredTerms(ds, term.getId_term(), idThesaurus, idLang));
    // récupération des traductions
    nodeConcept.setNodeTermTraductions(termHelper.getTraductionsOfConcept(ds, idConcept, idThesaurus, idLang));
    NoteHelper noteHelper = new NoteHelper();
    // récupération des notes du Concept
    nodeConcept.setNodeNotesConcept(noteHelper.getListNotesConcept(ds, idConcept, idThesaurus, idLang));
    // récupération des notes du term
    nodeConcept.setNodeNotesTerm(noteHelper.getListNotesTerm(ds, term.getId_term(), idThesaurus, idLang));
    GroupHelper groupHelper = new GroupHelper();
    nodeConcept.setNodeConceptGroup(groupHelper.getListGroupOfConcept(ds, idThesaurus, idConcept, idLang));
    return nodeConcept;
}
Also used : NodeConcept(mom.trd.opentheso.bdd.helper.nodes.concept.NodeConcept) Concept(mom.trd.opentheso.bdd.datas.Concept) NodeBT(mom.trd.opentheso.bdd.helper.nodes.NodeBT) NodeConcept(mom.trd.opentheso.bdd.helper.nodes.concept.NodeConcept) Term(mom.trd.opentheso.bdd.datas.Term)

Example 8 with NodeBT

use of mom.trd.opentheso.bdd.helper.nodes.NodeBT in project opentheso by miledrousset.

the class RelationsHelper method getListBT.

/**
 * Cette fonction permet de récupérer les termes génériques d'un concept
 *
 * @param ds
 * @param idConcept
 * @param idThesaurus
 * @param idLang
 * @return Objet class Concept
 */
public ArrayList<NodeBT> getListBT(HikariDataSource ds, String idConcept, String idThesaurus, String idLang) {
    Connection conn;
    Statement stmt;
    ResultSet resultSet;
    ArrayList<NodeBT> nodeListBT = null;
    try {
        // Get connection from pool
        conn = ds.getConnection();
        try {
            stmt = conn.createStatement();
            try {
                String query = "SELECT hierarchical_relationship.id_concept2," + " concept.status, hierarchical_relationship.role FROM hierarchical_relationship," + " concept WHERE " + " concept.id_thesaurus = hierarchical_relationship.id_thesaurus" + " AND " + " concept.id_concept = hierarchical_relationship.id_concept2" + " AND" + " hierarchical_relationship.id_thesaurus = '" + idThesaurus + "'" + " AND" + " hierarchical_relationship.id_concept1 = '" + idConcept + "'" + " AND" + " hierarchical_relationship.role LIKE 'BT%'";
                stmt.executeQuery(query);
                resultSet = stmt.getResultSet();
                if (resultSet != null) {
                    nodeListBT = new ArrayList<>();
                    while (resultSet.next()) {
                        NodeBT nodeBT = new NodeBT();
                        nodeBT.setIdConcept(resultSet.getString("id_concept2"));
                        nodeBT.setRole(resultSet.getString("role"));
                        nodeBT.setStatus(resultSet.getString("status"));
                        nodeListBT.add(nodeBT);
                    }
                }
                for (NodeBT nodeBT : nodeListBT) {
                    query = "SELECT term.lexical_value, term.status FROM term, preferred_term" + " WHERE preferred_term.id_term = term.id_term" + " and preferred_term.id_concept ='" + nodeBT.getIdConcept() + "'" + " and term.lang = '" + idLang + "'" + " and term.id_thesaurus = '" + idThesaurus + "'" + " order by upper(unaccent_string(lexical_value)) DESC";
                    stmt.executeQuery(query);
                    resultSet = stmt.getResultSet();
                    if (resultSet != null) {
                        resultSet.next();
                        if (resultSet.getRow() == 0) {
                            nodeBT.setTitle("");
                            nodeBT.setStatus("");
                        } else {
                            if (resultSet.getString("lexical_value") == null || resultSet.getString("lexical_value").equals("")) {
                                nodeBT.setTitle("");
                            } else {
                                nodeBT.setTitle(resultSet.getString("lexical_value"));
                            }
                            if (resultSet.getString("status") == null || resultSet.getString("status").equals("")) {
                                nodeBT.setStatus("");
                            } else {
                                nodeBT.setStatus(resultSet.getString("status"));
                            }
                        }
                    }
                }
            } finally {
                stmt.close();
            }
        } finally {
            conn.close();
        }
    } catch (SQLException sqle) {
        // Log exception
        log.error("Error while getting BT of Concept : " + idConcept, sqle);
    }
    Collections.sort(nodeListBT);
    return nodeListBT;
}
Also used : NodeBT(mom.trd.opentheso.bdd.helper.nodes.NodeBT) SQLException(java.sql.SQLException) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet)

Aggregations

NodeBT (mom.trd.opentheso.bdd.helper.nodes.NodeBT)8 ConceptHelper (mom.trd.opentheso.bdd.helper.ConceptHelper)5 PrefixString (com.k_int.IR.QueryModels.PrefixString)4 RelationsHelper (mom.trd.opentheso.bdd.helper.RelationsHelper)4 HashMap (java.util.HashMap)3 NodeNT (mom.trd.opentheso.bdd.helper.nodes.NodeNT)3 NodeConcept (mom.trd.opentheso.bdd.helper.nodes.concept.NodeConcept)3 Connection (java.sql.Connection)2 SQLException (java.sql.SQLException)2 NodeEM (mom.trd.opentheso.bdd.helper.nodes.NodeEM)2 NodeNote (mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote)2 StringPlus (mom.trd.opentheso.bdd.tools.StringPlus)2 HikariDataSource (com.zaxxer.hikari.HikariDataSource)1 ConnexionTest (connexion.ConnexionTest)1 BufferedReader (java.io.BufferedReader)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 InputStreamReader (java.io.InputStreamReader)1 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1