Skip to content
Permalink
Browse files

Ajout des alignements avec les thésaurus :

	- Gemet
	- Agrovoc
	- IdRefLieux
	- IdRefTitreUniforme
Gestion des projets/groupes : 
	- modification
	- suppression
WebServices :
	- export d'un domaine complet avec un format à la demande (Json, JsonLD, SKOS ou Turtle)
	- ajout d'une information par concept sur le chemin complet (hiérarchie) 
Ajout de la possibilité de supprimer une branche complète
  • Loading branch information
miledrousset committed Nov 21, 2019
1 parent ef000c0 commit 60b060afb0d070850aa34a45f0d91fb3e3d01c72
Showing with 2,974 additions and 1,333 deletions.
  1. +14 −8 pom.xml
  2. +210 −8 src/main/java/mom/trd/opentheso/SelectedBeans/Alignment.java
  3. +149 −18 src/main/java/mom/trd/opentheso/SelectedBeans/CurrentUser2.java
  4. +27 −19 src/main/java/mom/trd/opentheso/SelectedBeans/NewTreeBean.java
  5. +7 −4 src/main/java/mom/trd/opentheso/SelectedBeans/SelectedTerme.java
  6. +39 −4 src/main/java/mom/trd/opentheso/SelectedBeans/SelectedThesaurus.java
  7. +1 −1 src/main/java/mom/trd/opentheso/bdd/helper/AlignmentHelper.java
  8. +26 −57 src/main/java/mom/trd/opentheso/bdd/helper/ConceptHelper.java
  9. +1 −0 src/main/java/mom/trd/opentheso/bdd/helper/GroupHelper.java
  10. +67 −2 src/main/java/mom/trd/opentheso/bdd/helper/RelationsHelper.java
  11. +55 −2 src/main/java/mom/trd/opentheso/bdd/helper/ToolsHelper.java
  12. +696 −613 src/main/java/mom/trd/opentheso/bdd/helper/UserHelper2.java
  13. +3 −3 src/main/java/mom/trd/opentheso/core/alignment/AlignmentQuery.java
  14. +334 −0 src/main/java/mom/trd/opentheso/core/alignment/helper/AgrovocHelper.java
  15. +40 −5 src/main/java/mom/trd/opentheso/core/alignment/helper/CurlHelper.java
  16. +351 −0 src/main/java/mom/trd/opentheso/core/alignment/helper/GemetHelper.java
  17. +1 −4 src/main/java/mom/trd/opentheso/core/alignment/helper/GettyAATHelper.java
  18. +147 −0 src/main/java/mom/trd/opentheso/core/alignment/helper/IdRefHelper.java
  19. +30 −16 src/main/java/mom/trd/opentheso/core/alignment/helper/OpenthesoHelper.java
  20. +1 −2 src/main/java/mom/trd/opentheso/core/alignment/helper/WikidataHelper.java
  21. +30 −2 src/main/java/mom/trd/opentheso/core/exports/rdf4j/ExportRdf4jHelper.java
  22. +18 −0 src/main/java/mom/trd/opentheso/core/exports/rdf4j/WriteRdf4j.java
  23. +22 −17 src/main/java/mom/trd/opentheso/core/imports/rdf4j/ReadRdf4j.java
  24. +5 −0 src/main/java/mom/trd/opentheso/core/imports/rdf4j/helper/ImportRdf4jHelper.java
  25. +237 −244 src/main/java/mom/trd/opentheso/dragdrop/TreeChange.java
  26. +12 −0 src/main/java/mom/trd/opentheso/skosapi/SKOSResource.java
  27. +27 −3 src/main/resources/install/maj_bdd_current.sql
  28. BIN src/main/resources/install/webservices.pdf
  29. +8 −4 src/main/resources/language/site.properties
  30. +7 −3 src/main/resources/language/site_de.properties
  31. +7 −3 src/main/resources/language/site_en.properties
  32. +7 −3 src/main/resources/language/site_es.properties
  33. +7 −3 src/main/resources/language/site_it.properties
  34. +1 −1 src/main/webapp/WEB-INF/web.xml
  35. +21 −1 src/main/webapp/admin/reorganizing.xhtml
  36. +2 −9 src/main/webapp/contenuCentral/alignement/alignement.xhtml
  37. +3 −2 src/main/webapp/contenuCentral/contenuCentral.xhtml
  38. +10 −3 src/main/webapp/contenuCentral/infoConcept/infoconcept.xhtml
  39. +1 −1 src/main/webapp/contenuCentral/termesGeneriques/termesGeneriques.xhtml
  40. +6 −0 src/main/webapp/css/style.css
  41. +5 −5 src/main/webapp/dialogs/Alignement/auto/addAlignmentByStep.xhtml
  42. +2 −2 src/main/webapp/dialogs/bt/deleteTgDlg.xhtml
  43. +1 −1 src/main/webapp/dialogs/concept/conceptDeleteBranch.xhtml
  44. +1 −7 src/main/webapp/dialogs/concept/conceptEditDlg.xhtml
  45. +21 −26 src/main/webapp/dialogs/user/addUserGroupDlg.xhtml
  46. +29 −0 src/main/webapp/dialogs/user/editUserGroupDlg.xhtml
  47. +68 −43 src/main/webapp/menuTool.xhtml
  48. +210 −152 src/main/webapp/profiles.xhtml
  49. +5 −0 src/test/java/ToolsTest/ToolsHelperTest.java
  50. +1 −1 src/test/java/alignement/WikidataTest.java
  51. +1 −31 src/test/java/rdf4j/WriteRdfFileTest.java
22 pom.xml
@@ -5,7 +5,7 @@
<!-- ici c'est pour la version du WAR, pour la version d'Opentheso, il faut modifier le fichier web.xml-->
<groupId>trd</groupId>
<artifactId>opentheso</artifactId>
<version>4.5.5</version>
<version>4.5.7</version>
<packaging>war</packaging>

<name>opentheso</name>
@@ -70,22 +70,28 @@
</dependency>


<dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-runtime</artifactId>
<version>2.5.0</version>
</dependency>

<dependency>
<groupId>skos-api-onejar</groupId>
<artifactId>skos-api-onejar</artifactId>
<version>4</version>
</dependency>


<!-- Rdf4j -->
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-model</artifactId>
<version>2.5.0</version>
<version>3.0.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-runtime</artifactId>
<version>3.0.1</version>
</dependency>


<dependency>
<groupId>virtuoso</groupId>
<artifactId>virtuosos</artifactId>
@@ -291,7 +297,7 @@
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.3.1</version>
<version>3.4.1</version>
<type>jar</type>
</dependency>

@@ -28,6 +28,8 @@
import mom.trd.opentheso.bdd.helper.nodes.term.NodeTermTraduction;
import mom.trd.opentheso.core.alignment.AlignementSource;
import mom.trd.opentheso.core.alignment.SelectedResource;
import mom.trd.opentheso.core.alignment.helper.AgrovocHelper;
import mom.trd.opentheso.core.alignment.helper.GemetHelper;
import mom.trd.opentheso.core.alignment.helper.GettyAATHelper;
import mom.trd.opentheso.core.alignment.helper.IdRefHelper;
import mom.trd.opentheso.core.alignment.helper.OpenthesoHelper;
@@ -491,7 +493,7 @@ public void searchAlignments(
idLang);
}

// ici IdRef pour les noms
// ici IdRef pour les noms de personnes
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("idRefPersonnes")) {
getAlignmentIdRefPerson(
selectedAlignementSource,
@@ -501,7 +503,7 @@ public void searchAlignments(
idLang);
}

// ici IdRef pour les noms
// ici IdRef pour les auteurs
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("idRefAuteurs")) {
getAlignmentIdRefNames(
selectedAlignementSource,
@@ -510,6 +512,26 @@ public void searchAlignments(
idLang);
}

// ici IdRef pour les Lieux
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("idRefLieux")) {
getAlignmentIdRefLieux(
selectedAlignementSource,
idTheso,
idConcept,
lexicalValue,
idLang);
}

// ici IdRef pour les Titres Uniformes
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("IdRefTitreUniforme")) {
getAlignmentIdRefUniformtitle(
selectedAlignementSource,
idTheso,
idConcept,
lexicalValue,
idLang);
}

// ici AAT du Getty
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("Getty_AAT")) {
getAlignmentGettyAAT(
@@ -530,7 +552,25 @@ public void searchAlignments(
idLang);
}

// ici pour un alignement de type Gemet
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("Gemet")) {
getAlignmentGemet(
selectedAlignementSource,
idTheso,
idConcept,
lexicalValue,
idLang);
}

// ici pour un alignement de type Agrovoc
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("Agrovoc")) {
getAlignmentAgrovoc(
selectedAlignementSource,
idTheso,
idConcept,
lexicalValue,
idLang);
}

}

@@ -568,8 +608,7 @@ private void getAlignmentWikidata(
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Item Unselected", wikidataHelper.getMessages()));
}
}



/**
* Cette fonction permet de récupérer les concepts à aligner de la source
* juste la liste des concepts avec une note pour distinguer les concepts/
@@ -674,6 +713,71 @@ private void getAlignmentIdRefNames(
}
}

/**
* Cette fonction permet de récupérer les concepts à aligner de la source
* juste la liste des concepts avec une note pour distinguer les concepts/
*
* @param alignementSource
* @param idTheso
* @param idConcept
* @param lexicalValue
* @param idLang
*/
private void getAlignmentIdRefUniformtitle(
AlignementSource alignementSource,
String idTheso,
String idConcept,
String lexicalValue,
String idLang
) {

if (alignementSource == null) {
listAlignValues = null;
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Source :", "Pas de source sélectionnée"));
return;
}
IdRefHelper idRefHelper = new IdRefHelper();
listAlignValues = idRefHelper.queryIdRefUniformtitle(idConcept, idTheso, lexicalValue.trim(),
idLang, alignementSource.getRequete(),
alignementSource.getSource());
if(listAlignValues == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Item Unselected", idRefHelper.getMessages()));
}
}


/**
* Cette fonction permet de récupérer les concepts à aligner de la source
* juste la liste des concepts avec une note pour distinguer les concepts/
*
* @param alignementSource
* @param idTheso
* @param idConcept
* @param lexicalValue
* @param idLang
*/
private void getAlignmentIdRefLieux(
AlignementSource alignementSource,
String idTheso,
String idConcept,
String lexicalValue,
String idLang
) {

if (alignementSource == null) {
listAlignValues = null;
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Source :", "Pas de source sélectionnée"));
return;
}
IdRefHelper idRefHelper = new IdRefHelper();
listAlignValues = idRefHelper.queryIdRefLieux(idConcept, idTheso, lexicalValue.trim(),
idLang, alignementSource.getRequete(),
alignementSource.getSource());
if(listAlignValues == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Item Unselected", idRefHelper.getMessages()));
}
}

/**
* Cette fonction permet de récupérer les concepts à aligner de la source
* juste la liste des concepts avec une note pour distinguer les concepts/
@@ -709,6 +813,78 @@ private void getAlignmentGettyAAT(
gettyAATHelper.getMessages()));
}
}

/**
* Cette fonction permet de récupérer les concepts à aligner de la source
* juste la liste des concepts avec une note pour distinguer les concepts/
*
* @param alignementSource
* @param idTheso
* @param idConcept
* @param lexicalValue
* @param idLang
*/
private void getAlignmentGemet(
AlignementSource alignementSource,
String idTheso,
String idConcept,
String lexicalValue,
String idLang
) {

if (alignementSource == null) {
listAlignValues = null;
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Source :", "Pas de source sélectionnée"));
return;
}
GemetHelper gemetHelper = new GemetHelper();

// action XML
//ici il faut appeler le filtre du Getty AAT
listAlignValues = gemetHelper.queryGemet(idConcept, idTheso, lexicalValue.trim(),
idLang, alignementSource.getRequete(),
alignementSource.getSource());
if(listAlignValues == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Pas de résultat",
gemetHelper.getMessages()));
}
}

/**
* Cette fonction permet de récupérer les concepts à aligner de la source
* juste la liste des concepts avec une note pour distinguer les concepts/
*
* @param alignementSource
* @param idTheso
* @param idConcept
* @param lexicalValue
* @param idLang
*/
private void getAlignmentAgrovoc(
AlignementSource alignementSource,
String idTheso,
String idConcept,
String lexicalValue,
String idLang
) {

if (alignementSource == null) {
listAlignValues = null;
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Source :", "Pas de source sélectionnée"));
return;
}
AgrovocHelper agrovocHelper = new AgrovocHelper();

// action REST Json
//ici il faut appeler le filtre du Agrovoc
listAlignValues = agrovocHelper.queryAgrovoc(idConcept, idTheso, lexicalValue.trim(),
idLang, alignementSource.getRequete(),
alignementSource.getSource());
if(listAlignValues == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Pas de résultat",
agrovocHelper.getMessages()));
}
}

/**
* Cette fonction permet de récupérer les concepts à aligner de la source
@@ -773,6 +949,7 @@ public void getUriAndOptions(NodeAlignment selectedNodeAlignment,
alignmentInProgress = true;
resetAlignmentResult();

this.selectedNodeAlignment = selectedNodeAlignment;
// initialisation des valeurs du concept local pour comparaison avec le concept à aligner
getValuesOfLocalConcept(idTheso, idConcept);

@@ -783,11 +960,9 @@ public void getUriAndOptions(NodeAlignment selectedNodeAlignment,
*/




// si l'alignement est de type Wikidata
this.selectedNodeAlignment = selectedNodeAlignment;
if(selectedAlignementSource.getSource().equalsIgnoreCase("wikidata")) {

if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("wikidata")) {
WikidataHelper wikidataHelper = new WikidataHelper();
resetVariables();

@@ -809,6 +984,33 @@ public void getUriAndOptions(NodeAlignment selectedNodeAlignment,
// si l'alignement est de type Opentheso


// si l'alignement est de type Gemet
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("gemet")) {
GemetHelper gemetHelper = new GemetHelper();
resetVariables();

gemetHelper.setOptions(selectedNodeAlignment,
selectedOptions,
thesaurusUsedLanguageWithoutCurrentLang,
thesaurusUsedLanguage);
setObjectTraductions(gemetHelper.getResourceTraductions());
setObjectDefinitions(gemetHelper.getResourceDefinitions());
setObjectImages(gemetHelper.getResourceImages());
}

// si l'alignement est de type Agrovoc
if(selectedAlignementSource.getSource_filter().equalsIgnoreCase("agrovoc")) {
AgrovocHelper agrovocHelper = new AgrovocHelper();
resetVariables();

agrovocHelper.setOptions(selectedNodeAlignment,
selectedOptions,
thesaurusUsedLanguageWithoutCurrentLang,
thesaurusUsedLanguage);
setObjectTraductions(agrovocHelper.getResourceTraductions());
setObjectDefinitions(agrovocHelper.getResourceDefinitions());
setObjectImages(agrovocHelper.getResourceImages());
}

}

0 comments on commit 60b060a

Please sign in to comment.
You can’t perform that action at this time.