Search in sources :

Example 11 with SelectedResource

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;
}
Also used : JsonHelper(mom.trd.opentheso.core.json.helper.JsonHelper) SelectedResource(mom.trd.opentheso.core.alignment.SelectedResource) ArrayList(java.util.ArrayList) JsonValue(javax.json.JsonValue) JsonObject(javax.json.JsonObject) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) UnsupportedEncodingException(java.io.UnsupportedEncodingException)

Example 12 with SelectedResource

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;
}
Also used : SelectedResource(mom.trd.opentheso.core.alignment.SelectedResource) ExternalImagesHelper(mom.trd.opentheso.bdd.helper.ExternalImagesHelper)

Example 13 with SelectedResource

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);
        }
    }
}
Also used : SelectedResource(mom.trd.opentheso.core.alignment.SelectedResource) NodeImage(mom.trd.opentheso.bdd.helper.nodes.NodeImage)

Example 14 with 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);
        }
    }
}
Also used : SelectedResource(mom.trd.opentheso.core.alignment.SelectedResource) NodeNote(mom.trd.opentheso.bdd.helper.nodes.notes.NodeNote)

Example 15 with 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);
        }
    }
}
Also used : SelectedResource(mom.trd.opentheso.core.alignment.SelectedResource) NodeTermTraduction(mom.trd.opentheso.bdd.helper.nodes.term.NodeTermTraduction)

Aggregations

SelectedResource (mom.trd.opentheso.core.alignment.SelectedResource)19 ArrayList (java.util.ArrayList)13 JsonObject (javax.json.JsonObject)12 JsonValue (javax.json.JsonValue)10 JsonHelper (mom.trd.opentheso.core.json.helper.JsonHelper)10 IOException (java.io.IOException)7 MalformedURLException (java.net.MalformedURLException)6 JsonArray (javax.json.JsonArray)5 UnsupportedEncodingException (java.io.UnsupportedEncodingException)4 EndpointException (com.bordercloud.sparql.EndpointException)3 XMLStreamException (javax.xml.stream.XMLStreamException)3 StringReader (java.io.StringReader)2 JsonReader (javax.json.JsonReader)2 TermHelper (mom.trd.opentheso.bdd.helper.TermHelper)2 Endpoint (com.bordercloud.sparql.Endpoint)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 InputStream (java.io.InputStream)1 DownloadBean (mom.trd.opentheso.SelectedBeans.DownloadBean)1 Term (mom.trd.opentheso.bdd.datas.Term)1 ExternalImagesHelper (mom.trd.opentheso.bdd.helper.ExternalImagesHelper)1