use of mom.trd.opentheso.bdd.helper.GroupHelper in project opentheso by miledrousset.
the class ExportFromBDD method exportThesaurus.
/**
* Fonction récursive permettant d'exporter le thésaurus de la tête jusqu'au
* dernier descripteur
*
* @param ds
* @param idThesaurus
* @return
*/
public StringBuffer exportThesaurus(HikariDataSource ds, String idThesaurus) {
/*
* Ecriture du thésaurus
*/
ThesaurusHelper thesaurusHelper = new ThesaurusHelper();
NodeThesaurus nodeThesaurus = thesaurusHelper.getNodeThesaurus(ds, idThesaurus);
WriteFileSKOS writeFileSKOS = new WriteFileSKOS();
// inititialisation des URI
writeFileSKOS.setServerArk(serverArk);
writeFileSKOS.setServerAdress(serverAdress);
writeFileSKOS.writeHeader();
String idArk = thesaurusHelper.getIdArkOfThesaurus(ds, idThesaurus);
if (idArk == null || idArk.trim().isEmpty()) {
writeFileSKOS.setURI(serverAdress);
} else {
writeFileSKOS.setURI(serverArk);
}
// writeFileSKOS.setURI("http://opentheso.frantiq.fr/" + nodeThesaurus.getListThesaurusTraduction().get(0).getTitle());
// thesaurus.description);
writeFileSKOS.writeThesaurus(nodeThesaurus);
// ecriture des TopConcept
GroupHelper conceptGroupHelper = new GroupHelper();
ArrayList<String> tabIdGroup = conceptGroupHelper.getListIdOfGroup(ds, idThesaurus);
for (String tabIdGroup1 : tabIdGroup) {
writeFileSKOS.writeTopConcepts(tabIdGroup1, idThesaurus);
}
writeFileSKOS.writeEndOfMicroThesaurusList();
// fin du bloc thésaurus et id of TopConcept
// écriture des Domaines et Descripteurs avec traductions
ArrayList<NodeUri> idOfTopConcept;
for (String tabIdGroup1 : tabIdGroup) {
NodeGroupLabel nodeGroupLabel = conceptGroupHelper.getNodeGroupLabel(ds, tabIdGroup1, idThesaurus);
idOfTopConcept = new ConceptHelper().getListIdsOfTopConceptsForExport(ds, tabIdGroup1, idThesaurus);
writeFileSKOS.writeGroup(nodeGroupLabel, idOfTopConcept, null);
}
for (String tabIdGroup1 : tabIdGroup) {
idOfTopConcept = new ConceptHelper().getListIdsOfTopConceptsForExport(ds, tabIdGroup1, idThesaurus);
for (NodeUri idOfTopConcept1 : idOfTopConcept) {
exportAllConcepts(ds, idOfTopConcept1.getIdConcept(), idThesaurus, writeFileSKOS);
}
}
writeFileSKOS.endSkos();
return writeFileSKOS.getSkosBuff();
}
use of mom.trd.opentheso.bdd.helper.GroupHelper in project opentheso by miledrousset.
the class ExportFromBDD method exportGroup.
/**
* Fonction récursive permettant d'exporter le Groupe de la tête jusqu'au
* dernier descripteur
*
* @param ds
* @param idThesaurus
* @param idGroup
* @return
*/
public StringBuffer exportGroup(HikariDataSource ds, String idThesaurus, String idGroup) {
WriteFileSKOS writeFileSKOS = new WriteFileSKOS();
// inititialisation des URI
writeFileSKOS.setServerArk(serverArk);
writeFileSKOS.setServerAdress(serverAdress);
writeFileSKOS.setNodePreference(nodePreference);
writeFileSKOS.writeHeader();
// ecriture des TopConcept
GroupHelper conceptGroupHelper = new GroupHelper();
// écriture des Domaines et Descripteurs avec traductions
NodeGroupLabel nodeGroupLabel = conceptGroupHelper.getNodeGroupLabel(ds, idGroup, idThesaurus);
ArrayList<NodeUri> idOfTopConcept = new ConceptHelper().getListIdsOfTopConceptsForExport(ds, idGroup, idThesaurus);
writeFileSKOS.writeGroup(nodeGroupLabel, idOfTopConcept, null);
// écriture des TopConcepts
for (NodeUri idOfTopConcept1 : idOfTopConcept) {
exportAllConcepts(ds, idOfTopConcept1.getIdConcept(), idThesaurus, writeFileSKOS);
}
writeFileSKOS.endSkos();
return writeFileSKOS.getSkosBuff();
}
use of mom.trd.opentheso.bdd.helper.GroupHelper in project opentheso by miledrousset.
the class ExportFromBDD method exportThisGroup.
/**
* Fonction permettant d'exporter un noeud Groupe (un seul identifiant group)
*
* @param ds
* @param idThesaurus
* @param idGroup
* @return Skos
*/
public StringBuffer exportThisGroup(HikariDataSource ds, String idThesaurus, String idGroup) {
WriteFileSKOS writeFileSKOS = new WriteFileSKOS();
// inititialisation des URI
writeFileSKOS.setServerArk(serverArk);
writeFileSKOS.setServerAdress(serverAdress);
writeFileSKOS.writeHeader();
// ecriture des TopConcept
GroupHelper conceptGroupHelper = new GroupHelper();
// écriture des Domaines et Descripteurs avec traductions
NodeGroupLabel nodeGroupLabel = conceptGroupHelper.getNodeGroupLabel(ds, idGroup, idThesaurus);
nodeGroupLabel.setIdArk(new GroupHelper().getIdArkOfGroup(ds, idGroup, idThesaurus));
ArrayList<NodeUri> idOfTopConcept = new ConceptHelper().getListIdsOfTopConceptsForExport(ds, idGroup, idThesaurus);
writeFileSKOS.writeGroup(nodeGroupLabel, idOfTopConcept, null);
writeFileSKOS.endSkos();
return writeFileSKOS.getSkosBuff();
}
use of mom.trd.opentheso.bdd.helper.GroupHelper in project opentheso by miledrousset.
the class TreeChange method moveSubGroupToSubGroupDomain.
/**
* moveSubGroupToSubGroupDomain
*
* déplace un sousgroupe vers un autre sous groupe
* note: c'est la seul façon de déplacer un sous groupe
*
* @param connect
* @param originNodeIdConcept
* @param BToriginNode
* @param originIdDomain
* @param type
* @param targetNodeIdConcept
* @param idThesaurus
* @param idUser : paramètre non usité (pour une utilisation ultérieur)
* @return
*/
public boolean moveSubGroupToSubGroupDomain(Connexion connect, String originNodeIdConcept, String BToriginNode, String originIdDomain, String type, String targetNodeIdConcept, String idThesaurus, int idUser) {
try {
Connection conn = connect.getPoolConnexion().getConnection();
conn.setAutoCommit(false);
GroupHelper groupHelper = new GroupHelper();
if (!groupHelper.moveSubGroupToSubGroup(conn, originNodeIdConcept, targetNodeIdConcept, BToriginNode, type, idThesaurus, idUser)) {
conn.rollback();
conn.close();
return false;
}
conn.commit();
conn.close();
return true;
} catch (SQLException ex) {
Logger.getLogger(AutoCompletBean.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
use of mom.trd.opentheso.bdd.helper.GroupHelper in project opentheso by miledrousset.
the class TreeChange method moveTopTermToOtherDomaine.
public boolean moveTopTermToOtherDomaine(Connexion connect, String originNodeIdConcept, String originIdDomain, String targetNodeIdDomain, String idThesaurus, int idUser) {
GroupHelper groupHelper = new GroupHelper();
ConceptHelper conceptHelper = new ConceptHelper();
// on récupère les Ids des concepts à modifier
ArrayList<String> lisIds = new ArrayList<>();
lisIds = conceptHelper.getIdsOfBranch(connect.getPoolConnexion(), originNodeIdConcept, idThesaurus, lisIds);
try {
Connection conn = connect.getPoolConnexion().getConnection();
conn.setAutoCommit(false);
/*on modifie le domaine */
if (!groupHelper.deleteAllDomainOfBranch(conn, lisIds, originIdDomain, idThesaurus)) {
conn.rollback();
conn.close();
return false;
}
if (!groupHelper.addDomainToBranch(conn, lisIds, targetNodeIdDomain, idThesaurus, idUser)) {
conn.rollback();
conn.close();
return false;
}
conn.commit();
conn.close();
return true;
} catch (SQLException ex) {
Logger.getLogger(AutoCompletBean.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
Aggregations