use of mom.trd.opentheso.core.alignment.SelectedResource in project opentheso by miledrousset.
the class OpenthesoHelper method getDescriptions.
/**
* permet de récupérer les descriptions de wikidata
*
* @param jsonDatas
* @param entity
* @param languages
* @return
*/
private ArrayList<SelectedResource> getDescriptions(String jsonDatas, String entity, ArrayList<String> languages) {
ArrayList<SelectedResource> descriptions = new ArrayList<>();
JsonHelper jsonHelper = new JsonHelper();
JsonObject jsonObject = jsonHelper.getJsonObject(jsonDatas);
// JsonObject test = jsonObject.getJsonObject("entities");
JsonObject jsonObject1;
JsonValue jsonValue;
String lang;
String value;
try {
jsonObject1 = jsonObject.getJsonObject("entities").getJsonObject(entity).getJsonObject("descriptions");
} catch (Exception e) {
// System.err.println(e.toString());
return null;
}
for (String language : languages) {
try {
SelectedResource selectedResource = new SelectedResource();
jsonValue = jsonObject1.getJsonObject(language).get("language");
lang = jsonValue.toString().replace("\"", "");
selectedResource.setIdLang(lang);
jsonValue = jsonObject1.getJsonObject(language).get("value");
value = jsonValue.toString().replace("\"", "");
selectedResource.setGettedValue(value);
descriptions.add(selectedResource);
} catch (Exception e) {
}
}
return descriptions;
}
use of mom.trd.opentheso.core.alignment.SelectedResource in project opentheso by miledrousset.
the class Alignment method addImages__.
private boolean addImages__(String idTheso, String idConcept, int idUser) {
ExternalImagesHelper imagesHelper = new ExternalImagesHelper();
for (SelectedResource selectedResource : imagesOfAlignment) {
if (selectedResource.isSelected()) {
if (!imagesHelper.addExternalImage(connect.getPoolConnexion(), idConcept, idTheso, "", selectedAlignement, selectedResource.getGettedValue(), idUser)) {
error = true;
alignementResult = alignementResult + ": Erreur dans l'ajout des images";
}
}
}
alignementResult = alignementResult + " Images ajoutées";
return true;
}
use of mom.trd.opentheso.core.alignment.SelectedResource in project opentheso by miledrousset.
the class Alignment method setObjectImages.
/**
* permet de charger dans l'objet 'imagesWikidata' toutes les images
* qui n'existent pas en local
* si l'image en local est identique à celle récupérée, on l'ignore
* si l'image en local est différente, on l'ajoute à l'objet pour correction
* @param idConcept
* @param idTheso
*/
private void setObjectImages(ArrayList<SelectedResource> imagesOfAlignmentTemp) {
boolean added;
// la liste des traductions de Wikidata
for (SelectedResource selectedResource : imagesOfAlignmentTemp) {
added = false;
// la liste des traductions existantes
for (NodeImage nodeImage : nodeImages) {
// on compare l'URI est équivalente, on l'ignore
if (!selectedResource.getGettedValue().trim().equalsIgnoreCase(nodeImage.getUri().trim())) {
selectedResource.setLocalValue(nodeImage.getUri());
imagesOfAlignment.add(selectedResource);
added = true;
break;
} else {
added = true;
break;
}
}
// si on a déjà ajouté la traduction, on l'ignore, sinon, on l'ajoute
if (!added) {
imagesOfAlignment.add(selectedResource);
}
}
}
use of mom.trd.opentheso.core.alignment.SelectedResource in project opentheso by miledrousset.
the class Alignment method setObjectDefinitions.
/**
* permet de charger dans l'objet 'descriptionsWikidata' toutes les définitions
* qui n'existent pas en local
* si la définition en local est identique à celle récupérée, on l'ignore
* si la définition en local est différente, on l'ajoute à l'objet pour correction
* @param idConcept
* @param idTheso
*/
private void setObjectDefinitions(ArrayList<SelectedResource> descriptionsOfAlignmentTemp) {
boolean added;
// la liste des traductions de Wikidata
for (SelectedResource selectedResource : descriptionsOfAlignmentTemp) {
added = false;
// la liste des traductions existantes
for (NodeNote nodeNote : nodeNotes) {
// on compare le texte si équivalent, on l'ignore
if (!selectedResource.getGettedValue().trim().equalsIgnoreCase(nodeNote.getLexicalvalue().trim())) {
selectedResource.setLocalValue(nodeNote.getLexicalvalue());
descriptionsOfAlignment.add(selectedResource);
added = true;
break;
} else {
added = true;
break;
}
}
// si on a déjà ajouté la traduction, on l'ignore, sinon, on l'ajoute
if (!added) {
descriptionsOfAlignment.add(selectedResource);
}
}
}
use of mom.trd.opentheso.core.alignment.SelectedResource in project opentheso by miledrousset.
the class Alignment method setObjectTraductions.
/**
* permet de charger dans l'objet 'traductionsOfAlignment' toutes les traductions
* qui n'existent pas en local
* si la traduction en local est identique à celle récupérée, on l'ignore
* si la traduction en local est différente, on l'ajoute à l'objet pour correction
* @param idConcept
* @param idTheso
*/
private void setObjectTraductions(ArrayList<SelectedResource> traductionsoOfAlignmentTemp) {
boolean added;
// la liste des traductions de Wikidata
for (SelectedResource selectedResource : traductionsoOfAlignmentTemp) {
added = false;
// la liste des traductions existantes
for (NodeTermTraduction nodeTermTraduction : nodeTermTraductions) {
// cas où la langue récupérée existe déjà en local
if (selectedResource.getIdLang().equalsIgnoreCase(nodeTermTraduction.getLang())) {
// on compare le texte si équivalent, on l'ignore
if (!selectedResource.getGettedValue().trim().equalsIgnoreCase(nodeTermTraduction.getLexicalValue().trim())) {
selectedResource.setLocalValue(nodeTermTraduction.getLexicalValue());
traductionsOfAlignment.add(selectedResource);
added = true;
break;
} else {
added = true;
break;
}
}
}
// si on a déjà ajouté la traduction, on l'ignore, sinon, on l'ajoute
if (!added) {
traductionsOfAlignment.add(selectedResource);
}
}
}
Aggregations