Search in sources :

Example 6 with NodeNT

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

the class SelectedTerme method delSpe.

// ancien code qui ne marche pas
/*   
     if(termeGenerique.size() == 1) { // Le concept devient orphelin
     new ConceptHelper().deleteConceptFromTable(connect.getPoolConnexion(), idC, idTheso);
     new OrphanHelper().addNewOrphan(connect.getPoolConnexion(), idC, idTheso);
            
     if(new GroupHelper().isIdOfGroup(connect.getPoolConnexion(), id, idTheso)) {
     new RelationsHelper().setRelationTopConcept(connect.getPoolConnexion(), idC, idTheso, id, false);
     } else {
     new RelationsHelper().deleteRelationBT(connect.getPoolConnexion(), idC, idTheso, id);
     }
            
     termeGenerique = new ArrayList<>();
     }  else {
     // On supprime l'ancien domaines si besoin
     ArrayList<String> groupBT;
     if(type == 2) {
     groupBT = new ArrayList<>();
     groupBT.add(id);
     } else {
     groupBT = new ConceptHelper().getListGroupIdOfConcept(connect.getPoolConnexion(), id, idTheso);
     }
     ArrayList<String> groupCurrent = new ConceptHelper().getListGroupIdOfConcept(connect.getPoolConnexion(), idC, idTheso);
     ArrayList<String> delGroup = new ArrayList<>();
     for(String s : groupBT) {
     if(groupCurrent.contains(s)) {
     delGroup.add(s);
     }
     }
     delBranchGroup(delGroup, idC);
            
     if(new GroupHelper().isIdOfGroup(connect.getPoolConnexion(), id, idTheso)) {
     new RelationsHelper().setRelationTopConcept(connect.getPoolConnexion(), idC, idTheso, id, false);
     } else {
     new RelationsHelper().deleteRelationBT(connect.getPoolConnexion(), idC, idTheso, id);
     }
            
     termeGenerique = new ArrayList<>();
     majTGen();
     }  
     vue.setAddTGen(false);
        
     }*/
/**
 * Supprime les relations qui lient le concept au Concept père
 *
 * @param id l'identifiant du fils
 * @return true or false
 */
public boolean delSpe(String id) {
    // On regarde si le fils devient orphelin
    ArrayList<Entry<String, String>> sonFathers = new ArrayList<>();
    // On ajoute le domaine
    ArrayList<String> listIdGroup = new ConceptHelper().getListGroupParentIdOfConcept(connect.getPoolConnexion(), id, idTheso);
    HashMap<String, String> tempMap1 = new HashMap<>();
    for (String group : listIdGroup) {
        tempMap1.put(group, new GroupHelper().getLexicalValueOfGroup(connect.getPoolConnexion(), group, idTheso, idlangue));
    }
    sonFathers.addAll(tempMap1.entrySet());
    ArrayList<NodeBT> tempBT = new RelationsHelper().getListBT(connect.getPoolConnexion(), id, idTheso, idlangue);
    HashMap<String, String> tempMap2 = new HashMap<>();
    for (NodeBT nbt : tempBT) {
        tempMap2.put(nbt.getIdConcept(), nbt.getTitle());
    }
    sonFathers.addAll(tempMap2.entrySet());
    if (sonFathers.size() <= 1) {
        try {
            Connection conn = connect.getPoolConnexion().getConnection();
            conn.setAutoCommit(false);
            if (!new ConceptHelper().deleteConceptFromTable(conn, id, idTheso, user.getUser().getId())) {
                conn.rollback();
                conn.close();
                return false;
            }
            if (!new RelationsHelper().deleteRelationBT(conn, id, idTheso, idC, user.getUser().getId())) {
                conn.rollback();
                conn.close();
                return false;
            }
            if (!new OrphanHelper().addNewOrphan(conn, id, idTheso)) {
                conn.rollback();
                conn.close();
                return false;
            }
            conn.commit();
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(SelectedTerme.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    } else {
        try {
            Connection conn = connect.getPoolConnexion().getConnection();
            conn.setAutoCommit(false);
            // On supprime l'ancien domaines si besoin
            ArrayList<String> groupCurrent;
            if (type == 1) {
                groupCurrent = new ArrayList<>();
                groupCurrent.add(idC);
            } else {
                groupCurrent = new ConceptHelper().getListGroupIdOfConcept(connect.getPoolConnexion(), idC, idTheso);
            }
            ArrayList<String> groupNT = new ConceptHelper().getListGroupIdOfConcept(connect.getPoolConnexion(), id, idTheso);
            ArrayList<String> delGroup = new ArrayList<>();
            for (String s : groupCurrent) {
                if (groupNT.contains(s)) {
                    delGroup.add(s);
                }
            }
            if (!delBranchGroup(delGroup, id)) {
                conn.rollback();
                conn.close();
                return false;
            }
            if (type == 1) {
                if (!new RelationsHelper().setRelationTopConcept(conn, id, idTheso, idC, false, user.getUser().getId())) {
                    conn.rollback();
                    conn.close();
                    return false;
                }
            } else if (!new RelationsHelper().deleteRelationBT(conn, id, idTheso, idC, user.getUser().getId())) {
                conn.rollback();
                conn.close();
                return false;
            }
            conn.commit();
            conn.close();
            ArrayList<NodeNT> tempNT = new RelationsHelper().getListNT(connect.getPoolConnexion(), idC, idTheso, idlangue);
            termesSpecifique = new ArrayList<>();
            HashMap<String, String> tempMap3 = new HashMap<>();
            for (NodeNT nnt : tempNT) {
                tempMap3.put(nnt.getIdConcept(), nnt.getTitle() + " (" + nnt.getRole() + ")");
            }
            termesSpecifique.addAll(tempMap3.entrySet());
        } catch (SQLException ex) {
            Logger.getLogger(SelectedTerme.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }
    return true;
}
Also used : OrphanHelper(mom.trd.opentheso.bdd.helper.OrphanHelper) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) HashMap(java.util.HashMap) SQLException(java.sql.SQLException) ArrayList(java.util.ArrayList) Connection(java.sql.Connection) PrefixString(com.k_int.IR.QueryModels.PrefixString) NodeNT(mom.trd.opentheso.bdd.helper.nodes.NodeNT) NodeBT(mom.trd.opentheso.bdd.helper.nodes.NodeBT) Entry(java.util.Map.Entry) GroupHelper(mom.trd.opentheso.bdd.helper.GroupHelper) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper)

Example 7 with NodeNT

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

the class SelectedTerme method majTSpeConceptOrder.

public void majTSpeConceptOrder() {
    termesSpecifique = new ArrayList<>();
    ArrayList<NodeNT> tempNT = new RelationsHelper().getListNTOrderByDate(connect.getPoolConnexion(), idC, idTheso, idlangue);
    writeTermesSpecifique(tempNT);
}
Also used : NodeNT(mom.trd.opentheso.bdd.helper.nodes.NodeNT) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper)

Example 8 with NodeNT

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

the class SelectedTerme method majTSpeConcept.

private void majTSpeConcept() {
    termesSpecifique = new ArrayList<>();
    ArrayList<NodeNT> tempNT = new RelationsHelper().getListNT(connect.getPoolConnexion(), idC, idTheso, idlangue);
    writeTermesSpecifique(tempNT);
}
Also used : NodeNT(mom.trd.opentheso.bdd.helper.nodes.NodeNT) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper)

Example 9 with NodeNT

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

the class SelectedTerme method creerSpecialTermeSpe.

/**
 * relation special type NTG NTP NTI ...
 *
 * @param selecedTerm
 * @param BTname
 * @param NTname
 * @return
 */
public boolean creerSpecialTermeSpe(MyTreeNode selecedTerm, String BTname, String NTname) {
    ConceptHelper instance = new ConceptHelper();
    if (user.nodePreference == null)
        return false;
    instance.setNodePreference(user.getNodePreference());
    Concept concept = new Concept();
    concept.setIdGroup(selecedTerm.getIdCurrentGroup());
    concept.setIdThesaurus(idTheso);
    concept.setStatus("D");
    concept.setNotation("");
    Term terme = new Term();
    terme.setId_thesaurus(idTheso);
    terme.setLang(idlangue);
    terme.setLexical_value(valueEdit);
    terme.setSource("");
    terme.setStatus("");
    // String idTC = idTopConcept;
    String idP = idC;
    if (instance.addConceptSpecial(connect.getPoolConnexion(), idP, concept, terme, BTname, NTname, user.getUser().getId()) == null) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", instance.getMessage()));
        return false;
    }
    // instance.insertID_grouptoPermuted(connect.getPoolConnexion(), concept.getIdThesaurus(), concept.getIdConcept());
    concept.getUserName();
    ArrayList<NodeNT> tempNT = new RelationsHelper().getListNT(connect.getPoolConnexion(), idC, idTheso, idlangue);
    termesSpecifique = new ArrayList<>();
    HashMap<String, String> tempMap = new HashMap<>();
    for (NodeNT nnt : tempNT) {
        tempMap.put(nnt.getIdConcept(), nnt.getTitle() + " (" + nnt.getRole() + ")");
    }
    termesSpecifique.addAll(tempMap.entrySet());
    vue.setAddTSpe(false);
    valueEdit = "";
    return true;
}
Also used : Concept(mom.trd.opentheso.bdd.datas.Concept) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) HashMap(java.util.HashMap) Term(mom.trd.opentheso.bdd.datas.Term) PrefixString(com.k_int.IR.QueryModels.PrefixString) FacesMessage(javax.faces.application.FacesMessage) NodeNT(mom.trd.opentheso.bdd.helper.nodes.NodeNT) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper)

Example 10 with NodeNT

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

the class SelectedTerme method addBranchGroup.

/**
 * Cette fonction permet d'ajouter un groupe à une branche
 *
 * @param newGroup
 * @param idConcept
 * @return
 */
public boolean addBranchGroup(ArrayList<String> newGroup, String idConcept) {
    try {
        Connection conn = connect.getPoolConnexion().getConnection();
        conn.setAutoCommit(false);
        if (new ConceptHelper().haveChildren(connect.getPoolConnexion(), idTheso, idConcept)) {
            List<NodeNT> children = new RelationsHelper().getListNT(connect.getPoolConnexion(), idConcept, idTheso, "");
            for (NodeNT nnt : children) {
                if (!addBranchGroup(newGroup, nnt.getIdConcept())) {
                    conn.rollback();
                    conn.close();
                    return false;
                }
            }
        }
        for (String s : newGroup) {
            if (!new ConceptHelper().haveThisGroup(connect.getPoolConnexion(), idConcept, s, idTheso)) {
                Concept c = new Concept();
                c.setIdConcept(idConcept);
                c.setIdGroup(s);
                c.setIdThesaurus(idTheso);
                c.setTopConcept(false);
                c.setStatus("D");
                if (!new GroupHelper().addConceptGroupConcept(conn, s, idConcept, idTheso)) {
                    // !new ConceptHelper().addNewGroupOfConcept(conn, c, user.getUser().getId())) {
                    conn.rollback();
                    conn.close();
                    return false;
                }
            }
        }
        conn.commit();
        conn.close();
        return true;
    } catch (SQLException ex) {
        Logger.getLogger(SelectedTerme.class.getName()).log(Level.SEVERE, null, ex);
    }
    return false;
}
Also used : Concept(mom.trd.opentheso.bdd.datas.Concept) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) SQLException(java.sql.SQLException) Connection(java.sql.Connection) PrefixString(com.k_int.IR.QueryModels.PrefixString) NodeNT(mom.trd.opentheso.bdd.helper.nodes.NodeNT) RelationsHelper(mom.trd.opentheso.bdd.helper.RelationsHelper) GroupHelper(mom.trd.opentheso.bdd.helper.GroupHelper)

Aggregations

NodeNT (mom.trd.opentheso.bdd.helper.nodes.NodeNT)13 RelationsHelper (mom.trd.opentheso.bdd.helper.RelationsHelper)10 PrefixString (com.k_int.IR.QueryModels.PrefixString)7 ConceptHelper (mom.trd.opentheso.bdd.helper.ConceptHelper)7 HashMap (java.util.HashMap)5 Connection (java.sql.Connection)4 SQLException (java.sql.SQLException)4 Concept (mom.trd.opentheso.bdd.datas.Concept)4 ArrayList (java.util.ArrayList)3 GroupHelper (mom.trd.opentheso.bdd.helper.GroupHelper)3 NodeBT (mom.trd.opentheso.bdd.helper.nodes.NodeBT)3 FacesMessage (javax.faces.application.FacesMessage)2 Term (mom.trd.opentheso.bdd.datas.Term)2 OrphanHelper (mom.trd.opentheso.bdd.helper.OrphanHelper)2 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 Statement (java.sql.Statement)1 Entry (java.util.Map.Entry)1 NoteHelper (mom.trd.opentheso.bdd.helper.NoteHelper)1 TermHelper (mom.trd.opentheso.bdd.helper.TermHelper)1