Search in sources :

Example 16 with NodeEM

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

the class TermHelper method getNonPreferredTermsHistoriqueAll.

/**
 * Cette fonction permet de récupérer l'historique des termes synonymes d'un
 * terme
 *
 * @param ds
 * @param idTerm
 * @param idThesaurus
 * @param idLang
 * @return Objet class Concept
 */
public ArrayList<NodeEM> getNonPreferredTermsHistoriqueAll(HikariDataSource ds, String idTerm, String idThesaurus, String idLang) {
    Connection conn;
    Statement stmt;
    ResultSet resultSet;
    ArrayList<NodeEM> nodeEMList = null;
    try {
        // Get connection from pool
        conn = ds.getConnection();
        try {
            stmt = conn.createStatement();
            try {
                String query = "SELECT lexical_value, modified, source, status, hiden, action, username FROM non_preferred_term_historique, users" + " WHERE id_term = '" + idTerm + "'" + " and id_thesaurus = '" + idThesaurus + "'" + " and lang ='" + idLang + "'" + " and non_preferred_term_historique.id_user=users.id_user" + " order by modified DESC, lexical_value ASC";
                stmt.executeQuery(query);
                resultSet = stmt.getResultSet();
                if (resultSet != null) {
                    nodeEMList = new ArrayList<>();
                    while (resultSet.next()) {
                        NodeEM nodeEM = new NodeEM();
                        nodeEM.setLexical_value(resultSet.getString("lexical_value"));
                        nodeEM.setModified(resultSet.getDate("modified"));
                        nodeEM.setSource(resultSet.getString("source"));
                        nodeEM.setStatus(resultSet.getString("status"));
                        nodeEM.setHiden(resultSet.getBoolean("hiden"));
                        nodeEM.setAction(resultSet.getString("action"));
                        nodeEM.setIdUser(resultSet.getString("username"));
                        nodeEM.setLang(idLang);
                        nodeEMList.add(nodeEM);
                    }
                }
            } finally {
                stmt.close();
            }
        } finally {
            conn.close();
        }
    } catch (SQLException sqle) {
        // Log exception
        log.error("Error while getting NonPreferedTerm all historique of Term : " + idTerm, sqle);
    }
    return nodeEMList;
}
Also used : SQLException(java.sql.SQLException) Statement(java.sql.Statement) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM)

Example 17 with NodeEM

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

the class SearchHelper method generatePermutedTable.

/**
 * Cette fonction permet de générer la table Permuted d'après les tables
 * PreferredTerm et NonPreferredTerm
 *
 * @param ds
 * @param idThesaurus
 * @return ArrayList de NodePermute
 */
public boolean generatePermutedTable(HikariDataSource ds, String idThesaurus) {
    ConceptHelper conceptHelper = new ConceptHelper();
    TermHelper termHelper = new TermHelper();
    ArrayList<NodeTermTraduction> nodeTermTraductionList;
    ArrayList<NodeEM> nodeEMList;
    // suppression des données de la table Permuted pour un thésaurus
    termHelper.deletePermutedTable(ds, idThesaurus);
    // Génération des Termes Préférés (PreferredTerm)
    ArrayList<String> tabIdConcept = conceptHelper.getAllIdConceptOfThesaurus(ds, idThesaurus);
    for (String idConcept : tabIdConcept) {
        nodeTermTraductionList = termHelper.getAllTraductionsOfConcept(ds, idConcept, idThesaurus);
        for (NodeTermTraduction nodeTermTraduction : nodeTermTraductionList) {
            // cette fonction permet de remplir la table Permutée
            termHelper.splitConceptForPermute(ds, idConcept, new ConceptHelper().getGroupIdOfConcept(ds, idConcept, idThesaurus), idThesaurus, nodeTermTraduction.getLang(), nodeTermTraduction.getLexicalValue());
        }
    }
    // Génération des Termes Synonymes (NonPreferredTerm)
    ArrayList<NodeTab2Levels> tabIdNonPreferredTerm = termHelper.getAllIdOfNonPreferredTerms(ds, idThesaurus);
    for (NodeTab2Levels nodeTab2Levels : tabIdNonPreferredTerm) {
        nodeEMList = termHelper.getAllNonPreferredTerms(ds, nodeTab2Levels.getIdTerm(), idThesaurus);
        for (NodeEM nodeEM : nodeEMList) {
            // cette fonction permet de remplir la table Permutée
            termHelper.splitConceptForNonPermuted(ds, nodeTab2Levels.getIdConcept(), new ConceptHelper().getGroupIdOfConcept(ds, nodeTab2Levels.getIdConcept(), idThesaurus), idThesaurus, nodeEM.getLang(), nodeEM.getLexical_value());
        }
    }
    return true;
}
Also used : NodeTab2Levels(mom.trd.opentheso.bdd.helper.nodes.NodeTab2Levels) NodeTermTraduction(mom.trd.opentheso.bdd.helper.nodes.term.NodeTermTraduction) NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM)

Example 18 with NodeEM

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

the class SelectedTerme method creerTermeSyno.

/**
 * permet de créer des termes synonymes avec un type défini
 */
public void creerTermeSyno() {
    editPassed = false;
    if (valueEdit == null || valueEdit.trim().equals("")) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error1")));
        return;
    }
    if (idT != null && !idT.equals("")) {
        if (!duplicate) {
            // on controle si a accepté un doublon ou non
            if (new TermHelper().isTermExist(connect.getPoolConnexion(), valueEdit, idTheso, idlangue)) {
                // FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error6")));
                duplicate = true;
                return;
            }
            if (new TermHelper().isAltLabelExist(connect.getPoolConnexion(), valueEdit, idTheso, idlangue)) {
                // FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error7")));
                duplicate = true;
                return;
            }
        }
        String leNom = valueEdit;
        Term temp = new Term();
        temp.setId_term(idT);
        temp.setId_thesaurus(idTheso);
        temp.setLang(idlangue);
        temp.setLexical_value(valueEdit);
        if (statutEdit.equalsIgnoreCase("Hidden")) {
            temp.setHidden(true);
        } else {
            temp.setHidden(false);
        }
        temp.setStatus(statutEdit);
        temp.setSource(String.valueOf(user.getUser().getName()));
        if (!new TermHelper().addNonPreferredTerm(connect.getPoolConnexion(), temp, user.getUser().getId())) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("error")));
            return;
        }
        ArrayList<NodeEM> tempEM = new TermHelper().getNonPreferredTerms(connect.getPoolConnexion(), idT, idTheso, idlangue);
        termesSynonymesE = new ArrayList<>();
        termesSynonymesP = new ArrayList<>();
        latitudLongitud = null;
        for (NodeEM nem : tempEM) {
            if (nem.getStatus().equalsIgnoreCase("USE")) {
                termesSynonymesE.add(nem.getLexical_value());
            }
            if (nem.getStatus().equalsIgnoreCase("Hidden")) {
                termesSynonymesP.add(nem.getLexical_value());
            }
            if (nem.getLexical_value().contains("WKT:")) {
                latitudLongitud = nem.getLexical_value().substring(nem.getLexical_value().indexOf(":") + 1, nem.getLexical_value().length()).trim();
            }
        }
        valueEdit = "";
        nomEdit = "";
        vue.setAddTSyno(0);
        init();
        PrimeFaces pf = PrimeFaces.current();
        if (pf.isAjaxRequest()) {
            pf.ajax().update("idTermeSynonymesEditDlg");
        }
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", leNom + " " + langueBean.getMsg("sTerme.info1")));
    } else {
        vue.setAddTSyno(0);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error2")));
    }
}
Also used : PrimeFaces(org.primefaces.PrimeFaces) PrefixString(com.k_int.IR.QueryModels.PrefixString) Term(mom.trd.opentheso.bdd.datas.Term) FacesMessage(javax.faces.application.FacesMessage) TermHelper(mom.trd.opentheso.bdd.helper.TermHelper) NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM)

Example 19 with NodeEM

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

the class SelectedTerme method majSyno.

private void majSyno() {
    termesSynonymesE = new ArrayList<>();
    termesSynonymesP = new ArrayList<>();
    ArrayList<NodeEM> tempEM = new TermHelper().getNonPreferredTerms(connect.getPoolConnexion(), idT, idTheso, idlangue);
    for (NodeEM nem : tempEM) {
        if (nem.getStatus().equalsIgnoreCase("USE")) {
            termesSynonymesE.add(nem.getLexical_value());
        } else {
            termesSynonymesP.add(nem.getLexical_value());
        }
    }
}
Also used : NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM) TermHelper(mom.trd.opentheso.bdd.helper.TermHelper)

Example 20 with NodeEM

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

the class ExportRdf4jHelper method writeConceptInfo.

private void writeConceptInfo(ConceptHelper conceptHelper, SKOSResource sKOSResource, String idThesaurus, String idOfConceptChildren, DownloadBean downloadBean, List<NodeLang> selectedLanguages) {
    NodeConceptExport nodeConcept = conceptHelper.getConceptForExport(ds, idOfConceptChildren, idThesaurus, false);
    if (nodeConcept == null) {
        return;
    }
    sKOSResource.setUri(getUri(nodeConcept));
    sKOSResource.setProperty(SKOSProperty.Concept);
    // prefLabel
    for (NodeTermTraduction traduction : nodeConcept.getNodeTermTraductions()) {
        boolean isInselectedLanguages = false;
        for (NodeLang nodeLang : selectedLanguages) {
            if (nodeLang.getCode().equals(traduction.getLang())) {
                isInselectedLanguages = true;
                break;
            }
        }
        if (isInselectedLanguages) {
            sKOSResource.addLabel(traduction.getLexicalValue(), traduction.getLang(), SKOSProperty.prefLabel);
        }
    }
    // altLabel
    for (NodeEM nodeEM : nodeConcept.getNodeEM()) {
        boolean isInselectedLanguages = false;
        for (NodeLang nodeLang : selectedLanguages) {
            if (nodeLang.getCode().equals(nodeEM.getLang())) {
                isInselectedLanguages = true;
                break;
            }
        }
        if (isInselectedLanguages) {
            sKOSResource.addLabel(nodeEM.getLexical_value(), nodeEM.getLang(), SKOSProperty.altLabel);
        }
    }
    ArrayList<NodeNote> nodeNotes = nodeConcept.getNodeNoteConcept();
    nodeNotes.addAll(nodeConcept.getNodeNoteTerm());
    addNoteGiven(nodeNotes, sKOSResource, selectedLanguages);
    addGPSGiven(nodeConcept.getNodeGps(), sKOSResource);
    addAlignementGiven(nodeConcept.getNodeAlignmentsList(), sKOSResource);
    addRelationGiven(nodeConcept.getNodeListOfBT(), nodeConcept.getNodeListOfNT(), nodeConcept.getNodeListIdsOfRT(), sKOSResource, nodeConcept.getConcept().getIdThesaurus());
    String notation = nodeConcept.getConcept().getNotation();
    String created = nodeConcept.getConcept().getCreated().toString();
    String modified = nodeConcept.getConcept().getModified().toString();
    if (notation != null && !notation.equals("null")) {
        sKOSResource.addNotation(notation);
    }
    if (created != null) {
        sKOSResource.addDate(created, SKOSProperty.created);
    }
    if (modified != null) {
        sKOSResource.addDate(modified, SKOSProperty.modified);
    }
    sKOSResource.addRelation(getUriFromId(idTheso), SKOSProperty.inScheme);
    sKOSResource.addIdentifier(nodeConcept.getConcept().getIdConcept(), SKOSProperty.identifier);
    downloadBean.setProgress_abs(downloadBean.getProgress_abs() + 1);
    double progress = (downloadBean.getProgress_abs() / downloadBean.getSizeOfTheso()) * 100;
    if (progress > 100) {
        progress = 100;
    }
    downloadBean.setProgress_per_100((int) progress);
    skosXmlDocument.addconcept(sKOSResource);
}
Also used : NodeConceptExport(mom.trd.opentheso.bdd.helper.nodes.concept.NodeConceptExport) NodeLang(mom.trd.opentheso.bdd.helper.nodes.NodeLang) NodeTermTraduction(mom.trd.opentheso.bdd.helper.nodes.term.NodeTermTraduction) NodeNote(mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote) NodeEM(mom.trd.opentheso.bdd.helper.nodes.NodeEM)

Aggregations

NodeEM (mom.trd.opentheso.bdd.helper.nodes.NodeEM)28 NodeNote (mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote)17 TermHelper (mom.trd.opentheso.bdd.helper.TermHelper)13 Term (mom.trd.opentheso.bdd.datas.Term)12 ConceptHelper (mom.trd.opentheso.bdd.helper.ConceptHelper)12 NoteHelper (mom.trd.opentheso.bdd.helper.NoteHelper)11 NodeTermTraduction (mom.trd.opentheso.bdd.helper.nodes.term.NodeTermTraduction)11 Concept (mom.trd.opentheso.bdd.datas.Concept)10 NodeTerm (mom.trd.opentheso.bdd.helper.nodes.term.NodeTerm)10 AlignmentHelper (mom.trd.opentheso.bdd.helper.AlignmentHelper)9 SQLException (java.sql.SQLException)8 Connection (java.sql.Connection)7 ArrayList (java.util.ArrayList)7 NodeAlignment (mom.trd.opentheso.bdd.helper.nodes.NodeAlignment)5 SKOSMapping (skos.SKOSMapping)5 SKOSTopConcept (skos.SKOSTopConcept)5 ResultSet (java.sql.ResultSet)4 Statement (java.sql.Statement)4 HierarchicalRelationship (mom.trd.opentheso.bdd.datas.HierarchicalRelationship)4 NodeConceptExport (mom.trd.opentheso.bdd.helper.nodes.concept.NodeConceptExport)4