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;
}
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;
}
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")));
}
}
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());
}
}
}
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);
}
Aggregations