use of mom.trd.opentheso.bdd.datas.Term in project opentheso by miledrousset.
the class WriteAltLabel method AddAltLabelByGroup.
public void AddAltLabelByGroup(HikariDataSource ds, String idTheso, String idGroup, String idLang) {
boolean passed = false;
// ConceptHelper conceptHelper = new ConceptHelper();
TermHelper termHelper = new TermHelper();
NoteHelper noteHelper = new NoteHelper();
// ArrayList<NodeConceptArkId> allIds = conceptHelper.getAllConceptArkIdOfThesaurus(conn, idTheso);
ArrayList<NodeEM> nodeEMs;
ArrayList<NodeTab2Levels> nodeConceptTermId = termHelper.getAllIdOfNonPreferredTermsByGroup(ds, idTheso, idGroup);
Term term;
ArrayList<NodeNote> nodeNotes;
for (NodeTab2Levels nodeTab2Levels : nodeConceptTermId) {
nodeEMs = termHelper.getNonPreferredTerms(ds, nodeTab2Levels.getIdTerm(), idTheso, idLang);
if (!nodeEMs.isEmpty()) {
term = termHelper.getThisTerm(ds, nodeTab2Levels.getIdConcept(), idTheso, idLang);
nodeNotes = noteHelper.getListNotesTerm(ds, nodeTab2Levels.getIdTerm(), idTheso, idLang);
// écriture dans le fichier
stringBuilder.append(nodeTab2Levels.getIdConcept());
stringBuilder.append("\t");
stringBuilder.append(term.getLexical_value());
stringBuilder.append("\t");
for (NodeEM nodeEM : nodeEMs) {
if (passed) {
stringBuilder.append("##");
}
stringBuilder.append(nodeEM.getLexical_value());
passed = true;
}
passed = false;
stringBuilder.append("\t");
for (NodeNote nodeNote : nodeNotes) {
if (nodeNote.getNotetypecode().equalsIgnoreCase("definition")) {
if (passed) {
stringBuilder.append("##");
}
stringBuilder.append(nodeNote.getLexicalvalue());
passed = true;
}
}
stringBuilder.append("\n");
}
passed = false;
}
// System.out.println(stringBuilder.toString());
}
use of mom.trd.opentheso.bdd.datas.Term in project opentheso by miledrousset.
the class TermHelper method deleteNonPreferedTerm.
/**
* Cette fonction permet de supprimer des Termes Non descripteurs ou
* synonymes
*
* @param ds
* @param idTerm
* @param idLang
* @param lexicalValue
* @param idThesaurus
* @param stat
* @param idUser
* @return
*/
public boolean deleteNonPreferedTerm(HikariDataSource ds, String idTerm, String idLang, String lexicalValue, String idThesaurus, String stat, int idUser) {
Connection conn;
Statement stmt;
boolean status = false;
try {
// Get connection from pool
conn = ds.getConnection();
try {
stmt = conn.createStatement();
try {
Term term = new Term();
term.setLexical_value(lexicalValue);
term.setId_thesaurus(idThesaurus);
term.setLang(idLang);
term.setId_term(idTerm);
term.setStatus(stat);
if (!addUSEHistorique(conn, term, idUser, "DEL")) {
conn.rollback();
conn.close();
return false;
}
String query = "delete from non_preferred_term where" + " id_thesaurus = '" + idThesaurus + "'" + " and id_term = '" + idTerm + "'" + " and lexical_value = '" + lexicalValue + "'" + " and lang = '" + idLang + "'";
stmt.executeUpdate(query);
status = true;
} finally {
stmt.close();
}
} finally {
conn.close();
}
} catch (SQLException sqle) {
// Log exception
log.error("Error while deleting NonPreferedTerm of Term : " + idTerm, sqle);
}
return status;
}
use of mom.trd.opentheso.bdd.datas.Term in project opentheso by miledrousset.
the class TermHelper method getTermsHistoriqueFromDate.
/**
* Cette fonction permet de récupérer l'historique d'un terme à une date
* précise
*
* @param ds
* @param idTerm
* @param idThesaurus
* @param idLang
* @param date
* @return Objet class Concept
*/
public ArrayList<Term> getTermsHistoriqueFromDate(HikariDataSource ds, String idTerm, String idThesaurus, String idLang, Date date) {
Connection conn;
Statement stmt;
ResultSet resultSet;
ArrayList<Term> nodeTermList = null;
try {
// Get connection from pool
conn = ds.getConnection();
try {
stmt = conn.createStatement();
try {
String query = "SELECT lexical_value, modified, source, status, username FROM term_historique, users" + " WHERE id_term = '" + idTerm + "'" + " and id_thesaurus = '" + idThesaurus + "'" + " and lang ='" + idLang + "'" + " and term_historique.id_user=users.id_user" + " and modified <= '" + date.toString() + "' order by modified DESC, lexical_value ASC";
stmt.executeQuery(query);
resultSet = stmt.getResultSet();
if (resultSet != null) {
nodeTermList = new ArrayList<>();
resultSet.next();
Term t = new Term();
t.setId_term(idTerm);
t.setId_thesaurus(idThesaurus);
t.setLexical_value(resultSet.getString("lexical_value"));
t.setModified(resultSet.getDate("modified"));
t.setSource(resultSet.getString("source"));
t.setStatus(resultSet.getString("status"));
t.setIdUser(resultSet.getString("username"));
t.setLang(idLang);
nodeTermList.add(t);
}
} finally {
stmt.close();
}
} finally {
conn.close();
}
} catch (SQLException sqle) {
// Log exception
log.error("Error while getting date historique of Term : " + idTerm, sqle);
}
return nodeTermList;
}
use of mom.trd.opentheso.bdd.datas.Term in project opentheso by miledrousset.
the class NewTreeBean method loadOrphan.
public void loadOrphan(String idTheso, String langue) {
String typeNode, value = "";
/*
this.typeMot = type;
this.idMot = id;
this.idTheso = idT;
this.langue = l;
this.idDomaine = idD;
this.typeDomaine = typeDomaine;
this.idTopConcept = idTC;
*/
TreeNode dynamicTreeNode = (TreeNode) new MyTreeNode(1, null, idTheso, langue, null, null, null, "orphan", langueBean.getMsg("index.orphans"), root);
orphans = new OrphanHelper().getListOrphanId(connect.getPoolConnexion(), idTheso);
for (String idC : orphans) {
if (new ConceptHelper().haveChildren(connect.getPoolConnexion(), idTheso, idC)) {
typeNode = "dossier";
} else {
typeNode = "fichier";
}
Term term = new TermHelper().getThisTerm(connect.getPoolConnexion(), idC, idTheso, langue);
if (term != null) {
value = term.getLexical_value() + " (id_" + idC + ")";
Concept temp = new ConceptHelper().getThisConcept(connect.getPoolConnexion(), idC, idTheso);
MyTreeNode mtn = new MyTreeNode(3, idC, idTheso, langue, "Orphan", null, null, typeNode, value, dynamicTreeNode);
if (typeNode.equals("dossier")) {
new DefaultTreeNode("fake", mtn);
}
}
}
}
use of mom.trd.opentheso.bdd.datas.Term in project opentheso by miledrousset.
the class SelectedTerme method editTerme.
/**
* Modifie le nom du terme selectionné
*
* @param cas
* @return
*/
public boolean editTerme(int cas) {
if (cas == 1) {
Term t = new Term();
t.setLexical_value(nomEdit);
t.setId_term(idT);
t.setId_thesaurus(idTheso);
t.setLang(idlangue);
new TermHelper().updateTermTraduction(connect.getPoolConnexion(), t, user.getUser().getId());
} else if (cas == 2) {
// le terme n'existe pas, il faut le créer
String idTerme = new TermHelper().getIdTermOfConcept(connect.getPoolConnexion(), idC, idTheso);
if (idTerme == null) {
return false;
}
Term termTemp = new Term();
termTemp.setId_concept(idC);
termTemp.setId_term(idTerme);
termTemp.setId_thesaurus(idTheso);
termTemp.setLang(idlangue);
termTemp.setLexical_value(nomEdit);
termTemp.setSource(String.valueOf(user.getUser().getId()));
new TermHelper().addTraduction(connect.getPoolConnexion(), termTemp, user.getUser().getId());
}
vue.setAddTInfo(0);
nom = nomEdit;
nomEdit = "";
return true;
}
Aggregations