From d293699fbf9015d03d49f60ca7acb81c3f90d30a Mon Sep 17 00:00:00 2001 From: Vivianne Yayende <vivianne.koyao-yayende@inrae.fr> Date: Fri, 8 Oct 2021 10:08:50 +0200 Subject: [PATCH 01/23] modification du .yaml pro --- src/test/resources/data/pros/pro.yaml | 233 ++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index beff5aa95..5ba9eb352 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -12,6 +12,7 @@ compositeReferences: parentKeyColumn: Nom du bloc_code du bloc - reference: placettes parentKeyColumn: Nom de la parcelle élèmentaire + - reference: Type de lieu references: dispositifs: keyColumns: [code (nom court) du dispositif, nom du lieu] @@ -73,6 +74,238 @@ references: Type de traitement: Année de début de validité: Année de fin de validité: + Type de lieu: + keyColumns: [ Libelle du type de lieu_fr ] + columns: + Libelle du type de lieu_fr: + Libelle du type de lieu_en: + Système de projection: + keyColumns: [ Nom du systeme de projection ] + columns: + Nom du systeme de projection: + Definition_fr: + Definition_En: + Type de dispositif: + keyColumns: [ Libelle du type de dispositif_fr ] + columns: + Libelle du type de dispositif_fr: + Libelle du type de dispositif_en: + Echelle de prélèvement: + keyColumns: [ Nom de l'échèlle de prélèvement_fr ] + columns: + Nom de l'échèlle de prélèvement_fr: + Nom de l'échèlle de prélèvement_en: + Type de culture: + keyColumns: [ Libellé du type culture_fr ] + columns: + Libellé du type culture_fr: + Libellé du type culture_en: + Type de document: + keyColumns: [ Libellé du type de document ] + columns: + Libellé du type de document: + Système de conduite d'un dispositif: + keyColumns: [ Libellé du système de conduite de l'éssai_fr ] + columns: + Libellé du système de conduite de l'éssai_fr: + Libellé du système de conduite de l'éssai_en: + Liste de raisonnement: + keyColumns: [ Libellé de la liste de raisonnement_fr ] + columns: + Libellé de la liste de raisonnement_fr: + Libellé de la liste de raisonnement_en: + Valeur de raisonnement: + keyColumns: [ Libellé de la liste de raisonnement_fr, Libellé du raisonnement_fr ] + columns: + Libellé de la liste de raisonnement_fr: + Libellé du raisonnement_fr: + Libellé du raisonnement_en: + Thématique étudiée: + keyColumns: [ Libellé de la thématique étudiée_fr ] + columns: + Libellé de la thématique étudiée_fr: + Libellé de la thématique étudiée_en: + Code du bloc: + keyColumns: [ Code du bloc ] + columns: + Code du bloc: + Code de la parcelle élémentaire: + keyColumns: [ Code de la parcelle élémentaire ] + columns: + Code de la parcelle élémentaire: + Statut de la placette: + keyColumns: [ Libellé du statut de la placette_fr ] + columns: + Libellé du statut de la placette_fr: + Libellé du statut de la placette_en: + Réseau d'essai ou Observatoire: + keyColumns: [ Nom de l'observatoire ] + columns: + Nom de l'observatoire: + Définition_fr: + Définition_en: + Type de traitement: + keyColumns: [ Libellé du type de traitement_fr ] + columns: + Libellé du type de traitement_fr: + Libellé du type de traitement_en: + Type de facteur: + keyColumns: [ Libellé du type de facteur_fr ] + columns: + Libellé du type de facteur_fr: + Libellé du type de facteur_en: + Facteur: + keyColumns: [ Libellé du type de facteur,Libellé du facteur_fr ] + columns: + Libellé du type de facteur: + Libellé du facteur_fr: + Libellé du facteur_en: + Peut être une information générale de conduite des traitements (oui/non): + Sera associé à une nomenclature de PRO (non/oui): + Rôle de la personne ressource: + keyColumns: [ Libellé du rôle de la personne ressource_fr ] + columns: + Libellé du rôle de la personne ressource_fr: + Libellé du rôle de la personne ressource_en: + Type de structure: + keyColumns: [ Libellé du type de structure_fr ] + columns: + Libellé du type de structure_fr: + Libellé du type de structure_en: + Rôle de la structure: + keyColumns: [ Libellé du rôle de la structure_fr ] + columns: + Libellé du rôle de la structure_fr: + Libellé du rôle de la structure_en: + Pays: + keyColumns: [ Nom du pays_fr ] + columns: + Nom du pays_fr: + Nom du pays_en: + Region: + keyColumns: [ Nom du pays,Nom de la région ] + columns: + Nom du pays: + Nom de la région: + Département: + keyColumns: [ Nom de la région,Nom du département ] + columns: + Nom de la région: + Nom du département: + Numéro du département: + Commune: + keyColumns: [ Nom du département,Code postal,Nom de la commune ] + columns: + Nom du département: + Code postal: + Nom de la commune: + Station expérimentale: + keyColumns: [ Nom de la station expérimentale ] + columns: + Nom de la station expérimentale: + Structure: + keyColumns: [ Nom de la structure,Equipe et/ou service ] + columns: + Libellé du type de structure: + Nom de la structure: + Equipe et/ou service: + No, nom de la rue, ...: + Code postal: + Commune: + No Tél: + Site web ou reseaux sociaux: + Est signataire de la convention ou protocole d'accord (oui/non): + Numéro, nom du document, date de signature: + Personne ressource: + keyColumns: + columns: + Modalité du facteur: + keyColumns: [ Libellé du type de facteur,Libellé du facteur,Valeur de la modalité ] + columns: + Libellé du type de facteur: + Libellé du facteur: + Valeur de la modalité: + Commentaire: + Lieu implantation: + keyColumns: [ Nom du lieu ] + columns: + Nom du lieu: + Libellé du type de lieu: + Nom de la commune (Code postal): + Numéro de cadastre: + Nom de la station expérimentale: + Système de projection: + Latitude: + Longitude: + Application des traitementsNom du lieu sur les parcelles élémentaires: + keyColumns: [ Code du dispositif (Nom du lieu),Code de la parcelle élémentaire,Code du traitement ] + columns: + Code du dispositif (Nom du lieu): + Code de la parcelle élémentaire: + Code du traitement: + Numéro de répétition: + Libellé du Facteur: + Valeur de la Modalité: + Année de début d'application du traitement: + Année de fin d'application du traitement: + Protocole général: + keyColumns: [ Nom protocole général ] + columns: + Nom protocole général: + Année de début d'application du protocole général: + Année de fin d'application du protocole général: + Utilisation du guide méthodologique Réseau PRO après 2015 (oui/non): + Raisonnements par protocole: + keyColumns: [ Nom du protocole,Libellé de la liste de raisonnement,Valeur du raisonnement ] + columns: + Nom du protocole: + Libellé de la liste de raisonnement: + Valeur du raisonnement: + Commentaire: + Objectif des thématiques étudiées par protocoles: + keyColumns: [ Nom du protocole,Libellé de la thématique étudiée,Objectif de la thématique_fr ] + columns: + Nom du protocole: + Libellé de la thématique étudiée: + Objectif de la thématique_fr: + Objectif de la thématique_en: + Protocoles des dispositifs: + keyColumns: [ Code du dispositif (Nom du lieu),Nom du protocole ] + columns: + Code du dispositif (Nom du lieu): + Nom du protocole: + Association des statuts de placettes aux placettes: + keyColumns: [ Code de la parcelle élémentaire - Code du dispositif (Nom du lieu),Code de la placette,Libellé du statut de la placette ] + columns: + Code de la parcelle élémentaire - Code du dispositif (Nom du lieu): + Code de la placette: + Libellé du statut de la placette: + Rôle des personnes ressources par dispositif: + keyColumns: [ ] + columns: + Affiliation à un réseau d'essais: + keyColumns: [ Code du dispositif (Nom du lieu),Nom du réseau d'essai ] + columns: + Code du dispositif (Nom du lieu): + Nom du réseau d'essai: + Structures des stations expérimentales: + keyColumns: [ Nom de la structure,Précision (pôle et/ou unité et/ou équipe),Nom de la station expérimentale ] + columns: + Nom de la structure: + Précision (pôle et/ou unité et/ou équipe): + Nom de la station expérimentale: + Structures des observatoires: + keyColumns: [ Nom de la structure,Précision (pôle et/ou unité et/ou équipe),Observatoire ] + columns: + Nom de la structure: + Précision (pôle et/ou unité et/ou équipe): + Observatoire: + Structures des lieux: + keyColumns: [ Nom de la structure,Précision (pôle et/ou unité et/ou équipe),Nom du lieu ] + columns: + Nom de la structure: + Précision (pôle et/ou unité et/ou équipe): + Nom du lieu: dataTypes: donnees_prelevement_pro: authorization: -- GitLab From 572b85c0650fe99694f6664b81d4e3ae97bf6193 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 8 Oct 2021 10:34:57 +0200 Subject: [PATCH 02/23] =?UTF-8?q?fix=20probl=C3=A8me=20alerte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui2/src/services/AlertService.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ui2/src/services/AlertService.js b/ui2/src/services/AlertService.js index 59728f38f..ce7187934 100644 --- a/ui2/src/services/AlertService.js +++ b/ui2/src/services/AlertService.js @@ -43,8 +43,10 @@ export class AlertService { toastServerError(error) { if (error.content != null) { - if (error.content.message.indexOf("exist")) { + if (error.content.message.indexOf("exist") > 0) { this.toastError(i18n.t("alert.server-error-appli-exist"), error); + } else { + this.toastError(error.content.message, error); } } else { this.toastError(i18n.t("alert.server-error"), error); -- GitLab From 20b1ba4f0369d9802bdf9d101a1a43f08a1a71fe Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 8 Oct 2021 10:37:09 +0200 Subject: [PATCH 03/23] fix reference pros yaml --- src/test/resources/data/pros/pro.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index 5ba9eb352..e2e5c2ec9 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -217,8 +217,9 @@ references: Est signataire de la convention ou protocole d'accord (oui/non): Numéro, nom du document, date de signature: Personne ressource: - keyColumns: + keyColumns: [ acbb ] columns: + acbb: Modalité du facteur: keyColumns: [ Libellé du type de facteur,Libellé du facteur,Valeur de la modalité ] columns: @@ -281,8 +282,9 @@ references: Code de la placette: Libellé du statut de la placette: Rôle des personnes ressources par dispositif: - keyColumns: [ ] + keyColumns: [ acbb ] columns: + acbb: Affiliation à un réseau d'essais: keyColumns: [ Code du dispositif (Nom du lieu),Nom du réseau d'essai ] columns: -- GitLab From 19646368a58ce56d51bbca1008f12ba866c1761f Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 8 Oct 2021 10:58:58 +0200 Subject: [PATCH 04/23] internationalisation Pro yaml --- src/test/resources/data/pros/pro.yaml | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index e2e5c2ec9..a24964259 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -1,5 +1,9 @@ version: 0 application: + defaultLanguage: fr + internationalization: + fr: SOERE Pros + en: Pros SOERE name: Pros version: 1 compositeReferences: @@ -12,9 +16,21 @@ compositeReferences: parentKeyColumn: Nom du bloc_code du bloc - reference: placettes parentKeyColumn: Nom de la parcelle élèmentaire + traitements: + components: + - reference: traitements + lieu: + components: - reference: Type de lieu references: dispositifs: + internationalizationName: + fr: Dispositif + en: Dispositif + internationalizedColumns: + raison chgt conduite_fr: + fr: raison chgt conduite_fr + en: raison chgt conduite_en keyColumns: [code (nom court) du dispositif, nom du lieu] columns: nom du dispositif: @@ -35,12 +51,18 @@ references: latitude: longitude: blocs: + internationalizationName: + fr: Blocs + en: Blocs keyColumns: [Code du dispositif_Nom du lieu, Code du bloc] columns: Code du dispositif_Nom du lieu: Nom du bloc: Code du bloc: parcelles_elementaires: + internationalizationName: + fr: Parcelles + en: Parcelles keyColumns: [Code du dispositif_Nom du lieu, Nom du bloc_code du bloc, Nom de la parcelle élémentaire] columns: Code du dispositif_Nom du lieu: @@ -51,6 +73,9 @@ references: Latitude: Longitude: placettes: + internationalizationName: + fr: Placette + en: Placette keyColumns: [Code du dispositif_Nom du lieu, Nom du bloc, Nom de la parcelle élèmentaire, nom de la placette] columns: Code du dispositif_Nom du lieu: @@ -65,6 +90,9 @@ references: Longitude: Commentaire: traitements: + internationalizationName: + fr: Traitement + en: Traitement keyColumns: [Code du dispositif_Nom du lieu, Code du traitement] columns: Code du dispositif_Nom du lieu: @@ -310,9 +338,15 @@ references: Nom du lieu: dataTypes: donnees_prelevement_pro: + internationalizationName: + fr: Données de prélèvement + en: Collection data authorization: dataGroups: all: + internationalizationName: + fr: Toutes les données + en: All data label: "Toutes les données" data: - localization @@ -414,9 +448,15 @@ dataTypes: variable: prelevement component: code prelevement physico_chimie_sols: + internationalizationName: + fr: Physico chimie du sols + en: Soil physical chemistry authorization: dataGroups: all: + internationalizationName: + fr: Toutes les données + en: All data label: "Toutes les données" data: - localization -- GitLab From d61ac6a810e1c71600ca39a65469fe1f57c0ee4c Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 8 Oct 2021 11:23:50 +0200 Subject: [PATCH 05/23] utilisation de l'internationalisation global sur les pages authorization --- .../services/InternationalisationService.js | 34 +++++++++++++++++++ .../DataTypeAuthorizationInfoView.vue | 12 +++++-- .../DataTypeAuthorizationsView.vue | 12 +++++-- 3 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 ui2/src/services/InternationalisationService.js diff --git a/ui2/src/services/InternationalisationService.js b/ui2/src/services/InternationalisationService.js new file mode 100644 index 000000000..30832f6d1 --- /dev/null +++ b/ui2/src/services/InternationalisationService.js @@ -0,0 +1,34 @@ +import { Fetcher, LOCAL_STORAGE_LANG } from "./Fetcher"; + +export class InternationalisationService extends Fetcher { + static INSTANCE = new InternationalisationService(); + + localeApplicationName(application) { + if (application.configuration != null) { + if (application.configuration.application.internationalization != null) { + return application.configuration.application.internationalization[ + localStorage.getItem(LOCAL_STORAGE_LANG) + ]; + } else { + return application.name; + } + } else if (application.internationalization != null) { + return application.internationalization[localStorage.getItem(LOCAL_STORAGE_LANG)]; + } else { + return application.name; + } + } + localeDatatypeName(datatype) { + console.log(datatype); + if (datatype.internationalizationName != null) { + return datatype.internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; + } else { + return datatype.name; + } + } + localeReferenceName(reference) { + if (reference.internationalizationName != null) + return reference.internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; + else return reference.label; + } +} diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue index 246542e17..bb1cdb634 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue @@ -5,7 +5,7 @@ <h1 class="title main-title"> <span v-if="authorizationId === 'new'">{{ $t("titles.data-type-new-authorization", { - dataType: localeDatatypeName(dataTypeId) || dataTypeId, + dataType: application.dataTypeName || dataTypeId, }) }}</span> </h1> @@ -271,6 +271,8 @@ import { UserPreferencesService } from "@/services/UserPreferencesService"; import { ValidationObserver, ValidationProvider } from "vee-validate"; import { Component, Prop, Vue, Watch } from "vue-property-decorator"; import PageView from "../common/PageView.vue"; +import { ApplicationResult } from "@/model/ApplicationResult"; +import { InternationalisationService } from "@/services/InternationalisationService"; @Component({ components: { PageView, SubMenu, CollapsibleTree, ValidationObserver, ValidationProvider }, @@ -283,6 +285,7 @@ export default class DataTypeAuthorizationInfoView extends Vue { authorizationService = AuthorizationService.INSTANCE; alertService = AlertService.INSTANCE; applicationService = ApplicationService.INSTANCE; + internationalisationService = InternationalisationService.INSTANCE; userPreferencesService = UserPreferencesService.INSTANCE; periods = { @@ -293,7 +296,7 @@ export default class DataTypeAuthorizationInfoView extends Vue { }; authorizations = []; - application = {}; + application = new ApplicationResult(); users = []; dataGroups = []; authorizationScopes = []; @@ -347,6 +350,11 @@ export default class DataTypeAuthorizationInfoView extends Vue { async init() { try { this.application = await this.applicationService.getApplication(this.applicationName); + this.application = { + ...this.application, + localName: this.internationalisationService.localeApplicationName(this.application), + dataTypeName: this.internationalisationService.localeDatatypeName(this.application.dataTypes[this.dataTypeId]), + }; const grantableInfos = await this.authorizationService.getAuthorizationGrantableInfos( this.applicationName, this.dataTypeId diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue index 21585bcb1..62389d41f 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue @@ -4,7 +4,7 @@ <h1 class="title main-title"> {{ $t("titles.data-type-authorizations", { - dataType: localeDatatypeName(dataTypeId) || dataTypeId, + dataType: application.dataTypeName || dataTypeId, }) }} </h1> @@ -83,6 +83,8 @@ import { ApplicationService } from "@/services/rest/ApplicationService"; import { AuthorizationService } from "@/services/rest/AuthorizationService"; import { Component, Prop, Vue } from "vue-property-decorator"; import PageView from "../common/PageView.vue"; +import { ApplicationResult } from "@/model/ApplicationResult"; +import { InternationalisationService } from "@/services/InternationalisationService"; @Component({ components: { PageView, SubMenu }, @@ -92,11 +94,12 @@ export default class DataTypeAuthorizationsView extends Vue { @Prop() applicationName; authorizationService = AuthorizationService.INSTANCE; + internationalisationService = InternationalisationService.INSTANCE; alertService = AlertService.INSTANCE; applicationService = ApplicationService.INSTANCE; authorizations = []; - application = {}; + application = new ApplicationResult(); scopes = []; periods = { FROM_DATE: this.$t("dataTypeAuthorizations.from-date"), @@ -137,6 +140,11 @@ export default class DataTypeAuthorizationsView extends Vue { async init() { try { this.application = await this.applicationService.getApplication(this.applicationName); + this.application = { + ...this.application, + localName: this.internationalisationService.localeApplicationName(this.application), + dataTypeName: this.internationalisationService.localeDatatypeName(this.application.dataTypes[this.dataTypeId]), + }; this.authorizations = await this.authorizationService.getDataAuthorizations( this.applicationName, this.dataTypeId -- GitLab From 9af8e68da7e0a68144124b3220af628203a9132d Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 8 Oct 2021 13:35:42 +0200 Subject: [PATCH 06/23] fix bug internationalisation yaml --- src/main/java/fr/inra/oresing/model/Configuration.java | 5 +++-- src/main/java/fr/inra/oresing/rest/OreSiResources.java | 2 +- .../views/authorizations/DataTypeAuthorizationInfoView.vue | 4 +++- ui2/src/views/authorizations/DataTypeAuthorizationsView.vue | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/fr/inra/oresing/model/Configuration.java b/src/main/java/fr/inra/oresing/model/Configuration.java index 0d509a85c..b064d82b1 100644 --- a/src/main/java/fr/inra/oresing/model/Configuration.java +++ b/src/main/java/fr/inra/oresing/model/Configuration.java @@ -16,8 +16,6 @@ import java.util.*; public class Configuration { private int version; - private String defaultLanguage; - private Internationalization internationalization; private ApplicationDescription application; private LinkedHashMap<String, ReferenceDescription> references = new LinkedHashMap<>(); private LinkedHashMap<String, CompositeReferenceDescription> compositeReferences = new LinkedHashMap<>(); @@ -211,6 +209,7 @@ public class Configuration { @Setter @ToString public static class DataGroupDescription { + Internationalization internationalizationName; String label; Set<String> data = new LinkedHashSet<>(); } @@ -221,6 +220,8 @@ public class Configuration { public static class ApplicationDescription { String name; int version; + String defaultLanguage; + Internationalization internationalization; } @Getter diff --git a/src/main/java/fr/inra/oresing/rest/OreSiResources.java b/src/main/java/fr/inra/oresing/rest/OreSiResources.java index 26a4695d1..ec72e020e 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiResources.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiResources.java @@ -132,7 +132,7 @@ public class OreSiResources { Map<String, String> repository = application.getConfiguration().getDataTypes().get(dataType).getRepository(); return new ApplicationResult.DataType(dataType, dataType, dataTypeDescription.getInternationalizationName(), variables, Optional.ofNullable(repository).filter(m -> !m.isEmpty()).orElse(null)); }); - ApplicationResult applicationResult = new ApplicationResult(application.getId().toString(), application.getName(), application.getConfiguration().getApplication().getName(), application.getConfiguration().getInternationalization(), references, dataTypes); + ApplicationResult applicationResult = new ApplicationResult(application.getId().toString(), application.getName(), application.getConfiguration().getApplication().getName(), application.getConfiguration().getApplication().getInternationalization(), references, dataTypes); return ResponseEntity.ok(applicationResult); } diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue index bb1cdb634..005d5134f 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue @@ -353,7 +353,9 @@ export default class DataTypeAuthorizationInfoView extends Vue { this.application = { ...this.application, localName: this.internationalisationService.localeApplicationName(this.application), - dataTypeName: this.internationalisationService.localeDatatypeName(this.application.dataTypes[this.dataTypeId]), + dataTypeName: this.internationalisationService.localeDatatypeName( + this.application.dataTypes[this.dataTypeId] + ), }; const grantableInfos = await this.authorizationService.getAuthorizationGrantableInfos( this.applicationName, diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue index 62389d41f..ec80ba94c 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue @@ -143,7 +143,9 @@ export default class DataTypeAuthorizationsView extends Vue { this.application = { ...this.application, localName: this.internationalisationService.localeApplicationName(this.application), - dataTypeName: this.internationalisationService.localeDatatypeName(this.application.dataTypes[this.dataTypeId]), + dataTypeName: this.internationalisationService.localeDatatypeName( + this.application.dataTypes[this.dataTypeId] + ), }; this.authorizations = await this.authorizationService.getDataAuthorizations( this.applicationName, -- GitLab From 466376a50323ecc3ea409170015916b13b754858 Mon Sep 17 00:00:00 2001 From: Vivianne Yayende <vivianne.koyao-yayende@inrae.fr> Date: Tue, 12 Oct 2021 14:39:53 +0200 Subject: [PATCH 07/23] Modif .yaml + ajout fichier type lieu --- src/test/java/fr/inra/oresing/rest/Fixtures.java | 1 + src/test/resources/data/pros/type_lieu.csv | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 src/test/resources/data/pros/type_lieu.csv diff --git a/src/test/java/fr/inra/oresing/rest/Fixtures.java b/src/test/java/fr/inra/oresing/rest/Fixtures.java index 6c3bb3b32..75441c6db 100644 --- a/src/test/java/fr/inra/oresing/rest/Fixtures.java +++ b/src/test/java/fr/inra/oresing/rest/Fixtures.java @@ -378,6 +378,7 @@ public class Fixtures { referentielFiles.put("parcelles_elementaires", "/data/pros/parcelle_complet.csv"); referentielFiles.put("placettes", "/data/pros/placette_complet.csv"); referentielFiles.put("traitements", "/data/pros/traitement_complet.csv"); + referentielFiles.put("type_lieu", "/data/pros/type_lieu.csv"); return referentielFiles; } diff --git a/src/test/resources/data/pros/type_lieu.csv b/src/test/resources/data/pros/type_lieu.csv new file mode 100644 index 000000000..c58c2112c --- /dev/null +++ b/src/test/resources/data/pros/type_lieu.csv @@ -0,0 +1,8 @@ +Libelle du type de lieu_en,Libelle du type de lieu_fr +Z_Autre,Z_Autre +Garden,Jardin +Agricultural plot,Parcelle agricole +Parcelle forestiere,Parcelle forestiere +Nursery,Pepiniere +Greenhouse,Serre +Roof / terrace,Toits / terrasses -- GitLab From b5942965266af69d45672d0149bf075b6f9640e7 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Tue, 12 Oct 2021 15:28:31 +0200 Subject: [PATCH 08/23] passe test type_lieu --- src/test/resources/data/pros/pro.yaml | 7 ++++--- src/test/resources/data/pros/type_lieu.csv | 16 ++++++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index 607958322..b011ebe41 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -21,7 +21,7 @@ compositeReferences: - reference: traitements lieu: components: - - reference: Type de lieu + - reference: type_lieu references: dispositifs: internationalizationName: @@ -102,9 +102,10 @@ references: Type de traitement: Année de début de validité: Année de fin de validité: - Type_lieu: - keyColumns: [ Libelle du type de lieu_fr ] + type_lieu: + keyColumns: [Libelle du type de lieu_key] columns: + Libelle du type de lieu_key: Libelle du type de lieu_fr: Libelle du type de lieu_en: Système_projection: diff --git a/src/test/resources/data/pros/type_lieu.csv b/src/test/resources/data/pros/type_lieu.csv index c58c2112c..458feff65 100644 --- a/src/test/resources/data/pros/type_lieu.csv +++ b/src/test/resources/data/pros/type_lieu.csv @@ -1,8 +1,8 @@ -Libelle du type de lieu_en,Libelle du type de lieu_fr -Z_Autre,Z_Autre -Garden,Jardin -Agricultural plot,Parcelle agricole -Parcelle forestiere,Parcelle forestiere -Nursery,Pepiniere -Greenhouse,Serre -Roof / terrace,Toits / terrasses +Libelle du type de lieu_key;Libelle du type de lieu_fr;Libelle du type de lieu_en +z_autre;z_autre;Z_Autre +jardin;jardin;Garden +parcelle_agricole;parcelle agricole;Agricultural plot +parcelle_forestiere;parcelle forestiere;Parcelle forestiere +pepiniere;pepiniere;Nursery +serre;serre;Greenhouse +toits__terrasses;toits__terrasses;Roof / terrace -- GitLab From 6476334a9af979f035ea2a41c1760a6ec34f5b7d Mon Sep 17 00:00:00 2001 From: Vivianne Yayende <vivianne.koyao-yayende@inrae.fr> Date: Tue, 12 Oct 2021 15:44:27 +0200 Subject: [PATCH 09/23] Ajout des .csv --- src/test/resources/data/pros/commune.csv | 58 ++++++++++ src/test/resources/data/pros/departement.csv | 108 ++++++++++++++++++ .../data/pros/echelle_de_prelevement.csv | 7 ++ src/test/resources/data/pros/facteur.csv | 12 ++ .../data/pros/liste_de_raisonnement.csv | 4 + src/test/resources/data/pros/pays.csv | 32 ++++++ src/test/resources/data/pros/region.csv | 17 +++ .../pros/reseau_d_essai_ou_observatoire.csv | 5 + .../pros/role_de_la_personne_ressource.csv | 7 ++ .../data/pros/station_experimentale.csv | 25 ++++ .../systeme_de_conduite_d_un_dispositif.csv | 4 + .../data/pros/systeme_de_projection.csv | 3 + .../data/pros/thematique_etudiee.csv | 22 ++++ .../resources/data/pros/type_de_culture.csv | 16 +++ .../data/pros/type_de_dispositif.csv | 9 ++ .../resources/data/pros/type_de_document.csv | 11 ++ .../resources/data/pros/type_de_facteur.csv | 8 ++ .../resources/data/pros/type_de_structure.csv | 11 ++ .../data/pros/type_de_traitement.csv | 5 + .../data/pros/valeur_de_raisonnement.csv | 12 ++ 20 files changed, 376 insertions(+) create mode 100644 src/test/resources/data/pros/commune.csv create mode 100644 src/test/resources/data/pros/departement.csv create mode 100644 src/test/resources/data/pros/echelle_de_prelevement.csv create mode 100644 src/test/resources/data/pros/facteur.csv create mode 100644 src/test/resources/data/pros/liste_de_raisonnement.csv create mode 100644 src/test/resources/data/pros/pays.csv create mode 100644 src/test/resources/data/pros/region.csv create mode 100644 src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv create mode 100644 src/test/resources/data/pros/role_de_la_personne_ressource.csv create mode 100644 src/test/resources/data/pros/station_experimentale.csv create mode 100644 src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv create mode 100644 src/test/resources/data/pros/systeme_de_projection.csv create mode 100644 src/test/resources/data/pros/thematique_etudiee.csv create mode 100644 src/test/resources/data/pros/type_de_culture.csv create mode 100644 src/test/resources/data/pros/type_de_dispositif.csv create mode 100644 src/test/resources/data/pros/type_de_document.csv create mode 100644 src/test/resources/data/pros/type_de_facteur.csv create mode 100644 src/test/resources/data/pros/type_de_structure.csv create mode 100644 src/test/resources/data/pros/type_de_traitement.csv create mode 100644 src/test/resources/data/pros/valeur_de_raisonnement.csv diff --git a/src/test/resources/data/pros/commune.csv b/src/test/resources/data/pros/commune.csv new file mode 100644 index 000000000..3ef55b139 --- /dev/null +++ b/src/test/resources/data/pros/commune.csv @@ -0,0 +1,58 @@ +Nom du département;Code postal;Nom de la commune +Maine et Loire;49000;Angers +Gers;32000;Auch +Sarthe;72430;Avoise +Maine et Loire;49071;Beaucouze +Haut Rhin;68750;Bergheim +Drome;26500;Bourg Les valence +Gironde;33140;Cadaujac +Meurthe et Moselle;54280;Champenoux +Puy de Dome;63000;Clermont-Ferrand +Haut Rhin;68000;Colmar +Dakar;18524;Dakar +Rhone;69570;Dardilly +Gers;32810;Duran +Haut Rhin;68190;Ensisheim +Drome;26800;Etoile sur Rhone +Yvelines;78810;Feucherolles +Tarn;81600;Gaillac +Meurthe et Moselle;54380;Gezoncourt +Aude;11430;Gruissan +Indre;36120;Jeu les Bois +Loire Atlantique;44370;La Chapelle Saint Sauveur +Vendee;85190;La Genétouze +Ille et Vilaine;35650;Le Rheu +Ille et Vilaine;35550;Lieuron +Yvelines;78520;Limay +Tarn;81310;Lisle sur Tarn +Cher;18400;Lunery +Ille et Vilaine;35310;Mordelles +Vaucluse;84100;Orange +Yvelines;78630;Orgeval +Tarn et Garonne;82370;Orgueil +Ille et Vilaine;35380;Paimpont +Vaucluse;84420;Piolenc +Cote d Armor;22170;Plelo +Cote d Armor;22740;Pleumeur Gautier +Morbihan;56930;Plumeliau +Ille et Vilaine;35000;Rennes +Gard;30230;Rodilhan +Ille et Vilaine;35133;Romagne +La Reunion;97408;Saint Denis +La Reunion;97438;Sainte Marie +Rhone;69460;Saint Etienne La Varenne +Ille et Vilaine;35140;Saint Georges de Chesne +Maine et Loire;49320;Saint Jean de Mauvrets +La Reunion;97436;Saint Leu +Ille et Vilaine;35350;Saint Meloire des Ondes +Finistere;29250;Saint Pol de Leon +Gers;32310;Saint puy +Dakar;9999;Sangalkam +Ardennes;8220;Seraincourt +Meuse;55160;St Hilaire en Woevre +Yvelines;78850;Thiverval Grignon +Meurthe et Moselle;54505;Vandoeuvre les Nancy +Gard;30600;Vauvert +Rhone;69661;Villefranche sur Saone +Gironde;33883;Villenave d Ornon +Ardennes;8010;Villiers Semeuse diff --git a/src/test/resources/data/pros/departement.csv b/src/test/resources/data/pros/departement.csv new file mode 100644 index 000000000..c028cc3da --- /dev/null +++ b/src/test/resources/data/pros/departement.csv @@ -0,0 +1,108 @@ +Nom de la région;Nom du département;Numéro du département +Auvergne-Rhone-Alpes;Ain;1 +Hauts-de-France;Aisne;2 +Auvergne-Rhone-Alpes;Allier;3 +Provence Alpes Cote d Azur;Alpes de Haute Provence;4 +Provence Alpes Cote d Azur;Alpes Maritimes;6 +Auvergne-Rhone-Alpes;Ardeche;7 +Grand-Est;Ardennes;8 +Occitanie;Ariege;9 +Grand-Est;Aube;10 +Occitanie;Aude;11 +Occitanie;Aveyron;12 +Grand-Est;Bas Rhin;67 +Provence Alpes Cote d Azur;Bouches du Rhone;13 +Normandie;Calvados;14 +Auvergne-Rhone-Alpes;Cantal;15 +Nouvelle Aquitaine;Charente;16 +Nouvelle Aquitaine;Charente Maritime;17 +Centre-Val-de-Loire;Cher;18 +Nouvelle Aquitaine;Correze;19 +Corse;Corse du sud;2A +Bretagne;Cote d Armor;22 +Bourgogne-Franche Comte;Cote d or;21 +Nouvelle Aquitaine;Creuse;23 +Dakar;Dakar;999 +Nouvelle Aquitaine;Deux Sevres;79 +Nouvelle Aquitaine;Dordogne;24 +Bourgogne-Franche Comte;Doubs;25 +Auvergne-Rhone-Alpes;Drome;26 +Ile de France;Essonne;91 +Normandie;Eure;27 +Centre-Val-de-Loire;Eure et Loir;28 +Bretagne;Finistere;29 +Occitanie;Gard;30 +Occitanie;Gers;32 +Nouvelle Aquitaine;Gironde;33 +DOM TOM (outre mer);Guadeloupe;971 +DOM TOM (outre mer);Guyanne;973 +Ile de France;Haut de Seine;92 +Corse;Haute Corse;2B +Occitanie;Haute Garonne;31 +Auvergne-Rhone-Alpes;Haute Loire;43 +Grand-Est;Haute Marne;52 +Occitanie;Haute Pyrenees;65 +Provence Alpes Cote d Azur;Hautes Alpes;5 +Bourgogne-Franche Comte;Haute Saone;70 +Auvergne-Rhone-Alpes;Haute Savoie;74 +Nouvelle Aquitaine;Haute Vienne;87 +Grand-Est;Haut Rhin;68 +Occitanie;Herault;34 +Bretagne;Ille et Vilaine;35 +Centre-Val-de-Loire;Indre;36 +Centre-Val-de-Loire;Indre et Loire;37 +Auvergne-Rhone-Alpes;Isere;38 +Bourgogne-Franche Comte;Jura;39 +Nouvelle Aquitaine;Landes;40 +DOM TOM (outre mer);La Reunion;974 +Auvergne-Rhone-Alpes;Loire;42 +Pays de la Loire;Loire Atlantique;44 +Centre-Val-de-Loire;Loiret;45 +Centre-Val-de-Loire;Loir et cher;41 +Occitanie;Lot;46 +Nouvelle Aquitaine;Lot et Garonne;47 +Occitanie;Lozere;48 +Pays de la Loire;Maine et Loire;49 +Normandie;Manche;50 +Grand-Est;Marne;51 +DOM TOM (outre mer);Martinique;972 +Pays de la Loire;Mayenne;53 +DOM TOM (outre mer);Mayotte;976 +Grand-Est;Meurthe et Moselle;54 +Grand-Est;Meuse;55 +Bretagne;Morbihan;56 +Grand-Est;Moselle;57 +Bourgogne-Franche Comte;Nievre;58 +Hauts-de-France;Nord;59 +DOM TOM (outre mer);Nouvelle Caledonie;988 +Hauts-de-France;Oise;60 +Normandie;Orne;61 +Ile de France;Paris;75 +Hauts-de-France;Pas de Calais;62 +DOM TOM (outre mer);Polynesie française;987 +Auvergne-Rhone-Alpes;Puy de Dome;63 +Nouvelle Aquitaine;Pyrenees Atlantique;64 +Occitanie;Pyrenees Orientales;66 +Auvergne-Rhone-Alpes;Rhone;69 +DOM TOM (outre mer);Saint Martin;978 +DOM TOM (outre mer);Saint Pierre et Miquelon;975 +Bourgogne-Franche Comte;Saone et Loire;71 +Pays de la Loire;Sarthe;72 +Auvergne-Rhone-Alpes;Savoie;73 +Ile de France;Seine et Marne;77 +Normandie;Seine Maritime;76 +Ile de France;Seine Saint Denis;93 +Hauts-de-France;Somme;80 +Occitanie;Tarn;81 +Occitanie;Tarn et Garonne;82 +Bourgogne-Franche Comte;Territoire de Belfort;90 +Ile de France;Val de Marne;94 +Ile de France;Val d Oise;95 +Provence Alpes Cote d Azur;Var;83 +Provence Alpes Cote d Azur;Vaucluse;84 +Pays de la Loire;Vendee;85 +Nouvelle Aquitaine;Vienne;86 +Grand-Est;Vosges;88 +DOM TOM (outre mer);Wallis et Futuna;986 +Bourgogne-Franche Comte;Yonne;89 +Ile de France;Yvelines;78 diff --git a/src/test/resources/data/pros/echelle_de_prelevement.csv b/src/test/resources/data/pros/echelle_de_prelevement.csv new file mode 100644 index 000000000..e7574eea4 --- /dev/null +++ b/src/test/resources/data/pros/echelle_de_prelevement.csv @@ -0,0 +1,7 @@ +Nom de l'échelle de prélèvement_fr;Nom de l'échelle de prélèvement_en +Bloc;Block +Dispositif;Field experiment +Hors dispositif;Outside of the device +Parcelle elementaire;Elementary plot +Placette;Plot +Traitement;Treatment diff --git a/src/test/resources/data/pros/facteur.csv b/src/test/resources/data/pros/facteur.csv new file mode 100644 index 000000000..80f81b02f --- /dev/null +++ b/src/test/resources/data/pros/facteur.csv @@ -0,0 +1,12 @@ +Libellé du type de facteur;Libellé du facteur_fr;Libellé du facteur_en;Peut être une information générale de conduite des traitements (oui/non);Sera associé à une nomenclature de PRO (non/oui) +PRO;Dose apport PRO;OR input dose;non;non +Fertilisation minerale;Dose N mineral;N mineral fertilization dose;non;non +PRO;Fractionnement apport PRO;Split of the OR input;non;non +PRO;Frequence apport PRO;OR input frequency;oui;non +PRO;Materiel apport PRO;OR spreading equipment;non;non +PRO;Nature PRO;OR nature;oui;oui +PRO;Periode apport PRO;OR input period;oui;non +Itineraire technique;Profondeur travail sol;Soil ploughing depth;oui;non +Rotation cultures;Rotation legumineuses;Legumes in rotatiion;oui;non +Sans objet;Sans;Sans;oui;oui +Type apport fertilisant;Type apport fertilisant;Fertilizer supply type;oui;non diff --git a/src/test/resources/data/pros/liste_de_raisonnement.csv b/src/test/resources/data/pros/liste_de_raisonnement.csv new file mode 100644 index 000000000..0f35dee89 --- /dev/null +++ b/src/test/resources/data/pros/liste_de_raisonnement.csv @@ -0,0 +1,4 @@ +Libellé de la liste de raisonnement_fr;Libellé de la liste de raisonnement_en +Dose apport PRO;OR input dose management +Frequence apport PRO;OR input frequency management +Mode apport PRO;OR input management diff --git a/src/test/resources/data/pros/pays.csv b/src/test/resources/data/pros/pays.csv new file mode 100644 index 000000000..1a8b3fe43 --- /dev/null +++ b/src/test/resources/data/pros/pays.csv @@ -0,0 +1,32 @@ +Nom du pays_fr;Nom du pays_en +Allemagne;Germany +Autriche;Austria +Belgique;Belgium +Bulgarie;Bulgaria +Chypre;Cyprus +Croatie;Croatia +Danemark;Denmark +Espagne;Spain +Estonie;Estonia +Finlande;Finland +France;France +Grece;Greece +Hongrie;Hungary +Irlande;Ireland +Italie;Italy +Lettonie;Latvia +Lituanie;Lithuania +Luxembourg;Luxembourg +Malte;Malta +Pays Bas;Netherlands +Pologne;Poland +Portugal;Portugal +Roumanie;Romania +Royaume Uni;United Kingdom +Republique Tcheque;Czech Republic +Slovenie;Slovenia +Suede;Sweden +Slovaquie;Slovakia +Senegal;Senegal +Cote d Ivoire;Ivory Coast +Canada;Canada diff --git a/src/test/resources/data/pros/region.csv b/src/test/resources/data/pros/region.csv new file mode 100644 index 000000000..7dc0afe8f --- /dev/null +++ b/src/test/resources/data/pros/region.csv @@ -0,0 +1,17 @@ +Nom du pays;Nom de la région +France;Auvergne-Rhone-Alpes +France;Bourgogne-Franche Comte +France;Bretagne +France;Centre-Val-de-Loire +France;Corse +Senegal;Dakar +France;DOM TOM (outre mer) +France;Grand-Est +France;Hauts-de-France +France;Ile de France +France;Normandie +France;Nouvelle Aquitaine +France;Occitanie +France;Pays de la Loire +France;Provence Alpes Cote d Azur +Canada;Quebec diff --git a/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv b/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv new file mode 100644 index 000000000..4c6002181 --- /dev/null +++ b/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv @@ -0,0 +1,5 @@ +Nom de l'observatoire;Définition_fr;Définition_en +ANAEE France;ANAlyses et Experimentations sur les Ecosystemes France;French ANAlysis and Experiment on Ecosystems +Reseau MO;; +Reseau PRO;Reseau operationnel essais au champ etudiant la valeur agronomique et les impacts environnementaux et sanitaires des Produits Résiduaires Organiques recycles en agriculture;French operational network of field experiments devoted to the study of the organic residue recycling in agriculture +SOERE PRO;Systeme Observation et Experimentation pour la Recherche en Environnement sur les impacts environnementaux du recyclage de produits residuaires organiques (PRO) sur les ecosystemes cultives;Long term field experiment network for research on the recycling of organic residues in agriculture diff --git a/src/test/resources/data/pros/role_de_la_personne_ressource.csv b/src/test/resources/data/pros/role_de_la_personne_ressource.csv new file mode 100644 index 000000000..fad0cae3d --- /dev/null +++ b/src/test/resources/data/pros/role_de_la_personne_ressource.csv @@ -0,0 +1,7 @@ +Libellé du rôle de la personne ressource_fr;Libellé du rôle de la personne ressource_en +Coordinateur ou chef de projet;Coordinator +Responsable scientifique;Scientific supervisor +Responsable technique;Technical supervisor +Intervenant;Operator +Gestionnaire dispositif;Device manager +Partenaire scientifique;Scientific partner diff --git a/src/test/resources/data/pros/station_experimentale.csv b/src/test/resources/data/pros/station_experimentale.csv new file mode 100644 index 000000000..a5edf67ac --- /dev/null +++ b/src/test/resources/data/pros/station_experimentale.csv @@ -0,0 +1,25 @@ +Nom de la station expérimentale +Arvalis La Jaillere +CATE +CIRAD La Reunion +CIRAD Les Colimacons +Colombier +Domaine experimental de la Chambre d Agriculture du Vaucluse +Essai Lieuron +Ferme de Chaumontagne +INRA Colmar +INRA Domaine experimental de Couhins +INRA Domaine experimental de La Bouzule +INRA Grignon +INRA Rennes +INRA Rennes / Lycee du Rheu +Pas de station experimentale +Plateforme experimentale de la Hourre +Plumeliau 56 +Site experimental du CREAB +Station du Glazic SECL 22 +Station La Rimbaudais CER 35 +INRA UMR SAS Rennes +INRA Colmar - Domaine expérimental SEAV Colmar +Z_Inconnue +ISRA diff --git a/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv b/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv new file mode 100644 index 000000000..162d778a3 --- /dev/null +++ b/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv @@ -0,0 +1,4 @@ +Libellé du système de conduite de l'essai_fr;Libellé du système de conduite de l'essai_en +Bas niveaux d'intrants;Low levels of inputs +Biologique;Organic farming +Non biologique;Non organic farming diff --git a/src/test/resources/data/pros/systeme_de_projection.csv b/src/test/resources/data/pros/systeme_de_projection.csv new file mode 100644 index 000000000..56ef14f6b --- /dev/null +++ b/src/test/resources/data/pros/systeme_de_projection.csv @@ -0,0 +1,3 @@ +Nom du système de projection;Définition_fr;Définition_en;; +GWS84;Systeme international; latitude et longitude en degres;Systeme international; latitude et longitude en degres +Lambert 93;Systeme français; projection cartographique en m;Systeme français; projection cartographique en m diff --git a/src/test/resources/data/pros/thematique_etudiee.csv b/src/test/resources/data/pros/thematique_etudiee.csv new file mode 100644 index 000000000..534d05f66 --- /dev/null +++ b/src/test/resources/data/pros/thematique_etudiee.csv @@ -0,0 +1,22 @@ +Libellé de la thématique étudiée_fr;Libellé de la thématique étudiée_en;; +Azote : court terme (inferieur a 3 ans);Nitrogen: short term (lower than 3 years);; +Azote : long terme (superieur a 3 ans);Nitrogen: long term (longer than 3 years);; +Phosphore;Phosphorus;; +Potassium;Potassium;; +Magnesium; calcium;Magnesium; calcium +Soufre;Sulphur;; +Matiere organique (C; N);Organic matter (C; N) +Physique du sol;Physical effects;; +pH;pH;; +Salinite;Salinity;; +Elements traces metalliques;Trace elements;; +Contaminants traces organiques;Organic contaminants;; +Pathogenes;Pathogens;; +Qualite productions agricoles;Agricultural production quality;; +Biologie du sol;Soil biology;; +Ecotoxicologie;Ecotoxicology;; +Socio-economie;Socio-economy;; +Qualite eau;Water quality;; +Emissions gazeuses;Gaz emissions;; +Systeme de culture;Crop system;; +Valeur agronomique & impacts environnementaux;Valeur agronomique & impacts environnementaux;; diff --git a/src/test/resources/data/pros/type_de_culture.csv b/src/test/resources/data/pros/type_de_culture.csv new file mode 100644 index 000000000..23dbb353d --- /dev/null +++ b/src/test/resources/data/pros/type_de_culture.csv @@ -0,0 +1,16 @@ +Libellé du type de culture_fr;Libellé du type de culture_en +Arboriculture fruitiere;Fruit growing +Cultures energetiques;Energy crops +Cultures legumieres;Vegetable crops +Cultures tropicales ou exotiques annuelles;Annual tropical or exotic crops +Cultures tropicales ou exotiques perennes / semi-perennes;Perennial / semi-perennial tropical or exotic crops +Grandes cultures;Field crops +Prairie;Prairie +Prairie permanente;Meadow +Rotation a dominante cultures legumieres;Rotation with dominant vegetable crops +Rotation a dominante grandes cultures;Rotation with dominant field crops +Rotation a dominante prairie;Rotation with dominant meadow +Sol nu;Bare soil +Sylviculture;Silviculture +Viticulture;Vine growing +Z_Autre;Z_Autre diff --git a/src/test/resources/data/pros/type_de_dispositif.csv b/src/test/resources/data/pros/type_de_dispositif.csv new file mode 100644 index 000000000..7cfdbbbcc --- /dev/null +++ b/src/test/resources/data/pros/type_de_dispositif.csv @@ -0,0 +1,9 @@ +Libellé du type de dispositif_fr;Libellé du type de dispositif_en +Alpha-plan;Alpha-plan +Blocs;Blocks +Carre latin;Latin square +Criss-cross;Criss-cross +Demonstratif sans repetition;Demonstrative trial +Essai systeme sans repetition;System trial without repetition +Randomisation totale;Randomised +Split-plot;Split-plot diff --git a/src/test/resources/data/pros/type_de_document.csv b/src/test/resources/data/pros/type_de_document.csv new file mode 100644 index 000000000..5e2d9f68e --- /dev/null +++ b/src/test/resources/data/pros/type_de_document.csv @@ -0,0 +1,11 @@ +Libellé du type de document +Compte rendu / rapport experimentation +Fichier compilation donnees SOERE PRO +Fichier saisie Reseau PRO +Guide Methodologique Reseau PRO +Image +Inventaire essais Reseau PRO +Plan dispositif +Protocole conduite dispositif +Rapport stage +Document qualité diff --git a/src/test/resources/data/pros/type_de_facteur.csv b/src/test/resources/data/pros/type_de_facteur.csv new file mode 100644 index 000000000..b3f4208cc --- /dev/null +++ b/src/test/resources/data/pros/type_de_facteur.csv @@ -0,0 +1,8 @@ +Libellé du type de facteur_fr;Libellé du type de facteur_en +Fertilisation minerale;Mineral fertilization +Itineraire technique;Technical operations +Plantation plantes perennes / semi-perenne;Planting factors of perennial and semi-perennial crops +PRO;Organic residue +Rotation cultures;Crop rotation +Sans objet;Sans objet +Type apport fertilisant;Fertilizer supply type diff --git a/src/test/resources/data/pros/type_de_structure.csv b/src/test/resources/data/pros/type_de_structure.csv new file mode 100644 index 000000000..d57f884b6 --- /dev/null +++ b/src/test/resources/data/pros/type_de_structure.csv @@ -0,0 +1,11 @@ +Libellé du type de structure_fr;Libellé du type de structure_en +Agriculteur;Farmer +Autre structure;Autre structure +Chambre agriculture;Agriculture chamber +Collectivite territoriale;Territorial community +Etablissement enseignement secondaire;Secondary education establishment +Etablissement enseignement superieur;University +Industriel;Research and development industry +Institut recherche;Research institute +Institut technique;Technical institute +Organisme transfert;Transfert structure diff --git a/src/test/resources/data/pros/type_de_traitement.csv b/src/test/resources/data/pros/type_de_traitement.csv new file mode 100644 index 000000000..837cb62c4 --- /dev/null +++ b/src/test/resources/data/pros/type_de_traitement.csv @@ -0,0 +1,5 @@ +Libellé du type de traitement_fr;Libellé du type de traitement_en +Fixe;Fix +Fixe exterieur du dispositif;Fix outside the device +Tournant;Turning +Tournant exterieur du dispositif;Turning outside the device diff --git a/src/test/resources/data/pros/valeur_de_raisonnement.csv b/src/test/resources/data/pros/valeur_de_raisonnement.csv new file mode 100644 index 000000000..ee05eef3c --- /dev/null +++ b/src/test/resources/data/pros/valeur_de_raisonnement.csv @@ -0,0 +1,12 @@ +Libellé de la liste de raisonnement;Libellé du raisonnement_fr;Libellé du raisonnement_en +Dose apport PRO;Dose de carbone;Carbon input dose +Dose apport PRO;Dose de potassium;Potassium input dose +Dose apport PRO;Dose en matiere brute;Content in raw materiel +Dose apport PRO;Dose en matiere seche;Content in dry matter +Dose apport PRO;Dose azote;Nitrogen input dose +Dose apport PRO;Dose de phosphore;Phosphorus input dose +Frequence apport PRO;Frequence apport PRO;Organic residue input frequency +Mode apport PRO;Materiel epandage;Spreading equipment +Mode apport PRO;Mode enfouissement;Incorporation mode +Mode apport PRO;Fractionnement apport;Input splitting +Mode apport PRO;Localisation apport;Input location -- GitLab From 10facfb458f26400cac61347b4b3eaa9dfdb101a Mon Sep 17 00:00:00 2001 From: Vivianne Yayende <vivianne.koyao-yayende@inrae.fr> Date: Tue, 12 Oct 2021 15:53:03 +0200 Subject: [PATCH 10/23] Modif de type_lieu.csv --- src/test/resources/data/pros/type_lieu.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/resources/data/pros/type_lieu.csv b/src/test/resources/data/pros/type_lieu.csv index 458feff65..9693adb42 100644 --- a/src/test/resources/data/pros/type_lieu.csv +++ b/src/test/resources/data/pros/type_lieu.csv @@ -5,4 +5,4 @@ parcelle_agricole;parcelle agricole;Agricultural plot parcelle_forestiere;parcelle forestiere;Parcelle forestiere pepiniere;pepiniere;Nursery serre;serre;Greenhouse -toits__terrasses;toits__terrasses;Roof / terrace +toits_terrasses;toits_terrasses;Roof / terrace -- GitLab From 1bd153b57140660596e6c098beb882a663f0cfdb Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Tue, 19 Oct 2021 10:04:31 +0200 Subject: [PATCH 11/23] modification de certain fichiers de Ref et ajout dans les tests de ceux ci. Ajout de la condition NaturalKey est vide pour les erreus serveur --- Documentation_fichier_Yaml.md | 5 +++-- src/main/java/fr/inra/oresing/rest/OreSiService.java | 5 ++++- src/test/java/fr/inra/oresing/rest/Fixtures.java | 8 ++++++++ src/test/resources/data/pros/departement.csv | 4 ++-- src/test/resources/data/pros/echelle_de_prelevement.csv | 2 +- src/test/resources/data/pros/facteur.csv | 2 +- src/test/resources/data/pros/liste_de_raisonnement.csv | 2 +- src/test/resources/data/pros/pro.yaml | 8 ++++---- src/test/resources/data/pros/region.csv | 2 +- ui2/src/views/datatype/DataTypeTableView.vue | 4 +++- ui2/src/views/references/ReferenceTableView.vue | 8 +++++--- 11 files changed, 33 insertions(+), 17 deletions(-) diff --git a/Documentation_fichier_Yaml.md b/Documentation_fichier_Yaml.md index 90cb2edbf..b392c242d 100644 --- a/Documentation_fichier_Yaml.md +++ b/Documentation_fichier_Yaml.md @@ -523,12 +523,13 @@ dataTypes: * cocher lors de l'enregistrement du fichier * Éditer les paramètre du filtre * Sélectionner le point virgule -* dans les données qui se trouve dans les colonnes contenant des clés naturels ne pas mettre +* dans les données qui se trouve dans les colonnes contenant des clés naturels on attend : * pas d'accents * pas de majuscules * pas de caratères spéciaux () , - : - * autorisé _ et . + * autorisé les _ et les . * le nom des colonnes doivent être le plus court possible +* le fichier doit être en UTF8 pour que les colonnes soient lisible (les caractères spéciaux ne passe pas sinon. ex : é, è, ç) ## lors de l'ouverture du fichier csv via libre office: diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java index 83f5dfce8..ffe709dbe 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -401,7 +401,10 @@ public class OreSiService { } private void checkNaturalKeySyntax(String keyComponent) { - Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"), keyComponent + " n'est pas un élément valide pour une clé naturelle"); + if (!keyComponent.isEmpty()) + Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"), keyComponent + " n'est pas un élément valide pour une clé naturelle"); + else + Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"),"Impossible de trouver une clé naturelle valide car la colonne n'existe pas."); } private void checkHierarchicalKeySyntax(String compositeKey) { diff --git a/src/test/java/fr/inra/oresing/rest/Fixtures.java b/src/test/java/fr/inra/oresing/rest/Fixtures.java index 75441c6db..4f2b83209 100644 --- a/src/test/java/fr/inra/oresing/rest/Fixtures.java +++ b/src/test/java/fr/inra/oresing/rest/Fixtures.java @@ -379,6 +379,14 @@ public class Fixtures { referentielFiles.put("placettes", "/data/pros/placette_complet.csv"); referentielFiles.put("traitements", "/data/pros/traitement_complet.csv"); referentielFiles.put("type_lieu", "/data/pros/type_lieu.csv"); + referentielFiles.put("Pays", "/data/pros/pays.csv"); + referentielFiles.put("Region", "/data/pros/region.csv"); + referentielFiles.put("Commune", "/data/pros/commune.csv"); + referentielFiles.put("Departement", "/data/pros/departement.csv"); + referentielFiles.put("Echelle_prélèvement", "/data/pros/echelle_de_prelevement.csv"); + referentielFiles.put("Facteur", "/data/pros/facteur.csv"); + referentielFiles.put("Liste raisonnement", "/data/pros/liste_de_raisonnement.csv"); + referentielFiles.put("Réseau essai ou Observatoire", "/data/pros/reseau_d_essai_ou_observatoire.csv"); return referentielFiles; } diff --git a/src/test/resources/data/pros/departement.csv b/src/test/resources/data/pros/departement.csv index c028cc3da..2629718e3 100644 --- a/src/test/resources/data/pros/departement.csv +++ b/src/test/resources/data/pros/departement.csv @@ -1,4 +1,4 @@ -Nom de la région;Nom du département;Numéro du département +Nom de la région;Nom du département;Numéro du département Auvergne-Rhone-Alpes;Ain;1 Hauts-de-France;Aisne;2 Auvergne-Rhone-Alpes;Allier;3 @@ -79,7 +79,7 @@ Hauts-de-France;Oise;60 Normandie;Orne;61 Ile de France;Paris;75 Hauts-de-France;Pas de Calais;62 -DOM TOM (outre mer);Polynesie française;987 +DOM TOM (outre mer);Polynesie française;987 Auvergne-Rhone-Alpes;Puy de Dome;63 Nouvelle Aquitaine;Pyrenees Atlantique;64 Occitanie;Pyrenees Orientales;66 diff --git a/src/test/resources/data/pros/echelle_de_prelevement.csv b/src/test/resources/data/pros/echelle_de_prelevement.csv index e7574eea4..a57bccbb0 100644 --- a/src/test/resources/data/pros/echelle_de_prelevement.csv +++ b/src/test/resources/data/pros/echelle_de_prelevement.csv @@ -1,4 +1,4 @@ -Nom de l'échelle de prélèvement_fr;Nom de l'échelle de prélèvement_en +Nom de l'échelle de prélèvement_fr;Nom de l'échelle de prélèvement_en Bloc;Block Dispositif;Field experiment Hors dispositif;Outside of the device diff --git a/src/test/resources/data/pros/facteur.csv b/src/test/resources/data/pros/facteur.csv index 80f81b02f..e6c860409 100644 --- a/src/test/resources/data/pros/facteur.csv +++ b/src/test/resources/data/pros/facteur.csv @@ -1,4 +1,4 @@ -Libellé du type de facteur;Libellé du facteur_fr;Libellé du facteur_en;Peut être une information générale de conduite des traitements (oui/non);Sera associé à une nomenclature de PRO (non/oui) +Libellé du type de facteur;Libellé du facteur_fr;Libellé du facteur_en;Peut être une information générale de conduite des traitements (oui/non);Sera associé à une nomenclature de PRO (non/oui) PRO;Dose apport PRO;OR input dose;non;non Fertilisation minerale;Dose N mineral;N mineral fertilization dose;non;non PRO;Fractionnement apport PRO;Split of the OR input;non;non diff --git a/src/test/resources/data/pros/liste_de_raisonnement.csv b/src/test/resources/data/pros/liste_de_raisonnement.csv index 0f35dee89..828b65be1 100644 --- a/src/test/resources/data/pros/liste_de_raisonnement.csv +++ b/src/test/resources/data/pros/liste_de_raisonnement.csv @@ -1,4 +1,4 @@ -Libellé de la liste de raisonnement_fr;Libellé de la liste de raisonnement_en +Libellé de la liste de raisonnement_fr;Libellé de la liste de raisonnement_en Dose apport PRO;OR input dose management Frequence apport PRO;OR input frequency management Mode apport PRO;OR input management diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index b011ebe41..633b25827 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -120,10 +120,10 @@ references: Libelle du type de dispositif_fr: Libelle du type de dispositif_en: Echelle_prélèvement: - keyColumns: [ Nom de l'échèlle de prélèvement_fr ] + keyColumns: [ Nom de l'échelle de prélèvement_fr ] columns: - Nom de l'échèlle de prélèvement_fr: - Nom de l'échèlle de prélèvement_en: + Nom de l'échelle de prélèvement_fr: + Nom de l'échelle de prélèvement_en: Type_culture: keyColumns: [ Libellé du type culture_fr ] columns: @@ -216,7 +216,7 @@ references: columns: Nom du pays: Nom de la région: - Département: + Departement: keyColumns: [ Nom de la région,Nom du département ] columns: Nom de la région: diff --git a/src/test/resources/data/pros/region.csv b/src/test/resources/data/pros/region.csv index 7dc0afe8f..04fab9695 100644 --- a/src/test/resources/data/pros/region.csv +++ b/src/test/resources/data/pros/region.csv @@ -1,4 +1,4 @@ -Nom du pays;Nom de la région +Nom du pays;Nom de la région France;Auvergne-Rhone-Alpes France;Bourgogne-Franche Comte France;Bretagne diff --git a/ui2/src/views/datatype/DataTypeTableView.vue b/ui2/src/views/datatype/DataTypeTableView.vue index f4b8b21f1..03800f54e 100644 --- a/ui2/src/views/datatype/DataTypeTableView.vue +++ b/ui2/src/views/datatype/DataTypeTableView.vue @@ -518,7 +518,9 @@ export default class DataTypeTableView extends Vue { this.application = { ...this.application, localName: this.internationalisationService.localeApplicationName(this.application), - localDatatypeName : this.internationalisationService.localeDatatypeName(this.application.dataTypes[this.dataTypeId]) + localDatatypeName: this.internationalisationService.localeDatatypeName( + this.application.dataTypes[this.dataTypeId] + ), }; await this.initDatatype(); } diff --git a/ui2/src/views/references/ReferenceTableView.vue b/ui2/src/views/references/ReferenceTableView.vue index 9da116ab8..a77b9a5dc 100644 --- a/ui2/src/views/references/ReferenceTableView.vue +++ b/ui2/src/views/references/ReferenceTableView.vue @@ -2,7 +2,7 @@ <PageView class="with-submenu"> <SubMenu :root="application.localName || application.title" :paths="subMenuPaths" /> <h1 class="title main-title"> - {{ $t("titles.references-data", { refName: application.localRefName ||reference.label }) }} + {{ $t("titles.references-data", { refName: application.localRefName || reference.label }) }} </h1> <div v-if="reference && columns"> @@ -84,11 +84,13 @@ export default class ReferenceTableView extends Vue { this.application = { ...this.application, localName: this.internationalisationService.localeApplicationName(this.application), - localRefName: this.internationalisationService.localeReferenceName(this.application.references[this.refId]), + localRefName: this.internationalisationService.localeReferenceName( + this.application.references[this.refId] + ), }; const references = await this.referenceService.getReferenceValues( this.applicationName, - this.refId, + this.refId ); if (references) { this.referenceValues = references.referenceValues; -- GitLab From 8fc3d33e6cf686408eb084358e8d35e373cf54e6 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Tue, 19 Oct 2021 10:42:38 +0200 Subject: [PATCH 12/23] modification de la doc --- Documentation_fichier_Yaml.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Documentation_fichier_Yaml.md b/Documentation_fichier_Yaml.md index b392c242d..b54032baa 100644 --- a/Documentation_fichier_Yaml.md +++ b/Documentation_fichier_Yaml.md @@ -516,21 +516,25 @@ dataTypes: - commentaire ``` -# Aide fichier .csv +# Aide fichier .csv + +## lors de l'ouverture du fichier csv via libre office: + +<span style="color: red">* sélectionner le séparateur en ";"</span> -## lors de la création du fichier csv : +## lors de la création du fichier csv de Référence et de donnée : * cocher lors de l'enregistrement du fichier * Éditer les paramètre du filtre * Sélectionner le point virgule -* dans les données qui se trouve dans les colonnes contenant des clés naturels on attend : +* dans les données qui se trouvent dans les colonnes contenant des clés naturelles on attend : * pas d'accents * pas de majuscules * pas de caratères spéciaux () , - : * autorisé les _ et les . -* le nom des colonnes doivent être le plus court possible -* le fichier doit être en UTF8 pour que les colonnes soient lisible (les caractères spéciaux ne passe pas sinon. ex : é, è, ç) +* le nom des colonnes doive être le plus court possible +* le fichier doit être en UTF8 pour que les colonnes soient lisible (les caractères spéciaux ne passe pas sinon. ex : é, è, ç) -## lors de l'ouverture du fichier csv via libre office: - -* sélectionner le séparateur en ";" +## lors de l'importation de fichier csv dans l'application: + +* ouvrer la console avec F12 dans votre navigateur pour voir l'erreur de téléversement (erreur serveur) plus en détail. \ No newline at end of file -- GitLab From 50c472ef9f15eff93fe2b63ea0eadda864e3a72a Mon Sep 17 00:00:00 2001 From: Vivianne Yayende <vivianne.koyao-yayende@inrae.fr> Date: Tue, 19 Oct 2021 15:44:04 +0200 Subject: [PATCH 13/23] =?UTF-8?q?Tests=20fichiers=20donn=C3=A9es=20de=20re?= =?UTF-8?q?fernce=20PRO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/fr/inra/oresing/rest/Fixtures.java | 14 +- .../data/pros/echelle_de_prelevement.csv | 14 +- .../resources/data/pros/itk_autres_listes.csv | 118 +++++++ src/test/resources/data/pros/itk_cultures.csv | 211 +++++++++++++ src/test/resources/data/pros/itk_espece.csv | 116 +++++++ src/test/resources/data/pros/itk_famille.csv | 25 ++ .../resources/data/pros/itk_intervention.csv | 51 +++ .../data/pros/itk_liste_intrants.csv | 21 ++ src/test/resources/data/pros/itk_materiel.csv | 85 +++++ .../data/pros/itk_observation_qualitative.csv | 70 +++++ .../data/pros/itk_type_intervention.csv | 9 + .../pros/itk_type_observation_qualitative.csv | 12 + .../data/pros/liste_de_raisonnement.csv | 8 +- .../resources/data/pros/parcelle_complet.csv | 2 +- src/test/resources/data/pros/pays.csv | 64 ++-- src/test/resources/data/pros/pro.yaml | 292 +++++++++--------- src/test/resources/data/pros/region.csv | 2 +- .../pros/reseau_d_essai_ou_observatoire.csv | 4 +- .../pros/role_de_la_personne_ressource.csv | 14 +- .../data/pros/station_experimentale.csv | 50 +-- .../systeme_de_conduite_d_un_dispositif.csv | 8 +- .../data/pros/systeme_de_projection.csv | 6 +- .../data/pros/thematique_etudiee.csv | 44 +-- .../resources/data/pros/type_de_culture.csv | 28 +- .../data/pros/type_de_dispositif.csv | 18 +- .../resources/data/pros/type_de_document.csv | 22 +- .../resources/data/pros/type_de_facteur.csv | 16 +- .../resources/data/pros/type_de_structure.csv | 22 +- .../data/pros/type_de_traitement.csv | 10 +- .../data/pros/valeur_de_raisonnement.csv | 2 +- 30 files changed, 1042 insertions(+), 316 deletions(-) create mode 100644 src/test/resources/data/pros/itk_autres_listes.csv create mode 100644 src/test/resources/data/pros/itk_cultures.csv create mode 100644 src/test/resources/data/pros/itk_espece.csv create mode 100644 src/test/resources/data/pros/itk_famille.csv create mode 100644 src/test/resources/data/pros/itk_intervention.csv create mode 100644 src/test/resources/data/pros/itk_liste_intrants.csv create mode 100644 src/test/resources/data/pros/itk_materiel.csv create mode 100644 src/test/resources/data/pros/itk_observation_qualitative.csv create mode 100644 src/test/resources/data/pros/itk_type_intervention.csv create mode 100644 src/test/resources/data/pros/itk_type_observation_qualitative.csv diff --git a/src/test/java/fr/inra/oresing/rest/Fixtures.java b/src/test/java/fr/inra/oresing/rest/Fixtures.java index 4f2b83209..779e97377 100644 --- a/src/test/java/fr/inra/oresing/rest/Fixtures.java +++ b/src/test/java/fr/inra/oresing/rest/Fixtures.java @@ -379,14 +379,12 @@ public class Fixtures { referentielFiles.put("placettes", "/data/pros/placette_complet.csv"); referentielFiles.put("traitements", "/data/pros/traitement_complet.csv"); referentielFiles.put("type_lieu", "/data/pros/type_lieu.csv"); - referentielFiles.put("Pays", "/data/pros/pays.csv"); - referentielFiles.put("Region", "/data/pros/region.csv"); - referentielFiles.put("Commune", "/data/pros/commune.csv"); - referentielFiles.put("Departement", "/data/pros/departement.csv"); - referentielFiles.put("Echelle_prélèvement", "/data/pros/echelle_de_prelevement.csv"); - referentielFiles.put("Facteur", "/data/pros/facteur.csv"); - referentielFiles.put("Liste raisonnement", "/data/pros/liste_de_raisonnement.csv"); - referentielFiles.put("Réseau essai ou Observatoire", "/data/pros/reseau_d_essai_ou_observatoire.csv"); + referentielFiles.put("type_culture", "/data/pros/type_de_culture.csv"); + referentielFiles.put("type_document", "/data/pros/type_de_document.csv"); + referentielFiles.put("type_dispositif", "/data/pros/type_de_dispositif.csv"); + referentielFiles.put("type_facteur", "/data/pros/type_de_facteur.csv"); + referentielFiles.put("type_traitement", "/data/pros/type_de_traitement.csv"); + referentielFiles.put("echelle_prelevement", "/data/pros/echelle_de_prelevement.csv"); return referentielFiles; } diff --git a/src/test/resources/data/pros/echelle_de_prelevement.csv b/src/test/resources/data/pros/echelle_de_prelevement.csv index a57bccbb0..9e2baa014 100644 --- a/src/test/resources/data/pros/echelle_de_prelevement.csv +++ b/src/test/resources/data/pros/echelle_de_prelevement.csv @@ -1,7 +1,7 @@ -Nom de l'échelle de prélèvement_fr;Nom de l'échelle de prélèvement_en -Bloc;Block -Dispositif;Field experiment -Hors dispositif;Outside of the device -Parcelle elementaire;Elementary plot -Placette;Plot -Traitement;Treatment +Nom echelle de prelevement_key;Nom echelle de prelevement_fr;Nom echelle de prelevement_en +bloc;Bloc;Block +dispositif;Dispositif;Field experiment +hors_dispositif;Hors dispositif;Outside of the device +parcelle_elementaire;Parcelle elementaire;Elementary plot +placette;Placette;Plot +traitement;Traitement;Treatment diff --git a/src/test/resources/data/pros/itk_autres_listes.csv b/src/test/resources/data/pros/itk_autres_listes.csv new file mode 100644 index 000000000..6741af659 --- /dev/null +++ b/src/test/resources/data/pros/itk_autres_listes.csv @@ -0,0 +1,118 @@ +Autres listes_fr;Autres listes_en;Valeur_fr;Valeur_en;Commentaire_fr;Commentaire_en +Objet culture;Objet culture;Culture_intermediaire;Culture_intermediaire;; +Objet culture;Objet culture;Culture_principale;Culture_principale;; +Filiere de destination;Filiere de destination;Alimentation animale;Alimentation animale;; +Filiere de destination;Filiere de destination;Alimentation humaine;Alimentation humaine;; +Filiere de destination;Filiere de destination;Filiere methanisation;Filiere methanisation;; +Filiere de destination;Filiere de destination;Filiere biomasse biocarburants;Filiere biomasse biocarburants;; +Filiere de destination;Filiere de destination;Non concerne;Non concerne;; +Localisation precise;Localisation precise;Rang;Rang;; +Localisation precise;Localisation precise;Interrang;Interrang;; +Localisation precise;Localisation precise;Non concerne;Non concerne;; +Conditions humidite air;Conditions humidite air;Tres sec;Tres sec;; +Conditions humidite air;Conditions humidite air;Sec;Sec;; +Conditions humidite air;Conditions humidite air;Humide;Humide;; +Conditions humidite air;Conditions humidite air;Tres humide;Tres humide;; +Conditions temperature (en °C);Conditions temperature (en °C);< 0;< 0;; +Conditions temperature (en °C);Conditions temperature (en °C);0-5;0-5;; +Conditions temperature (en °C);Conditions temperature (en °C);5-10;5-10;; +Conditions temperature (en °C);Conditions temperature (en °C);10-15;10-15;; +Conditions temperature (en °C);Conditions temperature (en °C);15-20;15-20;; +Conditions temperature (en °C);Conditions temperature (en °C);20-25;20-25;; +Conditions temperature (en °C);Conditions temperature (en °C);25-30;25-30;; +Conditions temperature (en °C);Conditions temperature (en °C);30-35;30-35;; +Conditions temperature (en °C);Conditions temperature (en °C);35-40;35-40;; +Conditions temperature (en °C);Conditions temperature (en °C);40-45;40-45;; +Vitesse du vent;Vitesse du vent;Faible;Faible;; +Vitesse du vent;Vitesse du vent;Moyen;Moyen;; +Vitesse du vent;Vitesse du vent;Fort;Fort;; +Profondeur apport;Profondeur apport;5 cm;5 cm;; +Profondeur apport;Profondeur apport;8 cm;8 cm;; +Profondeur apport;Profondeur apport;10 cm;10 cm;; +Profondeur apport;Profondeur apport;15 cm;15 cm;; +Profondeur apport;Profondeur apport;20 cm;20 cm;; +Profondeur apport;Profondeur apport;25 cm;25 cm;; +Profondeur apport;Profondeur apport;28 cm;28 cm;; +Profondeur apport;Profondeur apport;30 cm;30 cm;; +Profondeur apport;Profondeur apport;Pas incorporation;Pas incorporation;; +Profondeur travail sol;Profondeur travail sol;5 cm;5 cm;; +Profondeur travail sol;Profondeur travail sol;8 cm;8 cm;; +Profondeur travail sol;Profondeur travail sol;10 cm;10 cm;; +Profondeur travail sol;Profondeur travail sol;15 cm;15 cm;; +Profondeur travail sol;Profondeur travail sol;20 cm;20 cm;; +Profondeur travail sol;Profondeur travail sol;25 cm;25 cm;; +Profondeur travail sol;Profondeur travail sol;28 cm;28 cm;; +Profondeur travail sol;Profondeur travail sol;30 cm;30 cm;; +Profondeur travail sol;Profondeur travail sol;30-40 cm;30-40 cm;; +Profondeur travail sol;Profondeur travail sol;40-50 cm;40-50 cm;; +Profondeur travail sol;Profondeur travail sol;50-60 cm;50-60 cm;; +Profondeur travail sol;Profondeur travail sol;60-70 cm;60-70 cm;; +Profondeur travail sol;Profondeur travail sol;70-80 cm;70-80 cm;; +Profondeur travail sol;Profondeur travail sol;80-90 cm;80-90 cm;; +Profondeur travail sol;Profondeur travail sol;90 cm;90 cm;; +Profondeur travail sol;Profondeur travail sol;Superieur a 80 cm;Superieur a 80 cm;; +Niveau atteinte;Niveau atteinte;0 - 25 %;0 - 25 %;; +Niveau atteinte;Niveau atteinte;25 - 50 %;25 - 50 %;; +Niveau atteinte;Niveau atteinte;50 - 75 %;50 - 75 %;; +Niveau atteinte;Niveau atteinte;75 - 100 %;75 - 100 %;; +Mode apport;Mode apport;Enfoui;Enfoui;; +Mode apport;Mode apport;Foliaire;Foliaire;; +Mode apport;Mode apport;Apport au sol;Apport au sol;; +Mode apport;Mode apport;Apport sur culture;Apport sur culture;; +Mode apport;Mode apport;Irrigation;Irrigation;; +Composition des engrais;Composition des engrais;Majeur_Azote;Majeur_Azote;; +Composition des engrais;Composition des engrais;Majeur_Azote-phosphate;Majeur_Azote-phosphate;; +Composition des engrais;Composition des engrais;Majeur_Azote-phosphate-potassium;Majeur_Azote-phosphate-potassium;; +Composition des engrais;Composition des engrais;Majeur_Azote-potassium;Majeur_Azote-potassium;; +Composition des engrais;Composition des engrais;Majeur_Phosphate;Majeur_Phosphate;; +Composition des engrais;Composition des engrais;Majeur_Phosphate-potassium;Majeur_Phosphate-potassium;; +Composition des engrais;Composition des engrais;Majeur_Potassium;Majeur_Potassium;; +Composition des engrais;Composition des engrais;Multi-elements_Azote-magnesium;Multi-elements_Azote-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_Azote-phosphate-magnesium;Multi-elements_Azote-phosphate-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_Azote-phosphate-potasse-magnesium;Multi-elements_Azote-phosphate-potasse-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_Azote-potasse-magnesium;Multi-elements_Azote-potasse-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_Phosphate-magnesium;Multi-elements_Phosphate-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_Phosphate-potasse-magnesium;Multi-elements_Phosphate-potasse-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_Potasse-magnesium;Multi-elements_Potasse-magnesium;; +Composition des engrais;Composition des engrais;Multi-elements_majeurs_secondaires;Multi-elements_majeurs_secondaires;; +Composition des engrais;Composition des engrais;Multi-elements_majeurs_oligo-elements;Multi-elements_majeurs_oligo-elements;; +Composition des engrais;Composition des engrais;Multi-elements_majeurs_secondaires_oligo-elements;Multi-elements_majeurs_secondaires_oligo-elements;; +Composition des engrais;Composition des engrais;Multi-elements_secondaires_oligo-elements;Multi-elements_secondaires_oligo-elements;; +Composition des engrais;Composition des engrais;Oligo-element_bore;Oligo-element_bore;; +Composition des engrais;Composition des engrais;Oligo-element_cuivre;Oligo-element_cuivre;; +Composition des engrais;Composition des engrais;Oligo-element_fer;Oligo-element_fer;; +Composition des engrais;Composition des engrais;Oligo-element_molybdene;Oligo-element_molybdene;; +Composition des engrais;Composition des engrais;Oligo-element_manganese;Oligo-element_manganese;; +Composition des engrais;Composition des engrais;Oligo-element_zinc;Oligo-element_zinc;; +Composition des engrais;Composition des engrais;Oligo-element_multi elements;Oligo-element_multi elements;; +Composition des engrais;Composition des engrais;Secondaire_Calcium;Secondaire_Calcium;; +Composition des engrais;Composition des engrais;Secondaire_Magnesium;Secondaire_Magnesium;; +Composition des engrais;Composition des engrais;Secondaire_Sodium;Secondaire_Sodium;; +Composition des engrais;Composition des engrais;Secondaire_Soufre;Secondaire_Soufre;; +Composition des engrais;Composition des engrais;Z_Element_Autre;Z_Element_Autre;; +Conditions temperature;Conditions temperature;Inferieur 0;Inferieur 0;; +Conditions temperature;Conditions temperature;0 a 5;0 a 5;; +Conditions temperature;Conditions temperature;5 a 10;5 a 10;; +Conditions temperature;Conditions temperature;10 a 15;10 a 15;; +Conditions temperature;Conditions temperature;15 a 20;15 a 20;; +Conditions temperature;Conditions temperature;20 a 25;20 a 25;; +Conditions temperature;Conditions temperature;25 a 30;25 a 30;; +Conditions temperature;Conditions temperature;30 a 35;30 a 35;; +Conditions temperature;Conditions temperature;35 a 40;35 a 40;; +Conditions temperature;Conditions temperature;40 a 45;40 a 45;; +Profondeur de travail;Profondeur de travail;5 cm;5 cm;; +Profondeur de travail;Profondeur de travail;8 cm;8 cm;; +Profondeur de travail;Profondeur de travail;10 cm;10 cm;; +Profondeur de travail;Profondeur de travail;15 cm;15 cm;; +Profondeur de travail;Profondeur de travail;20 cm;20 cm;; +Profondeur de travail;Profondeur de travail;25 cm;25 cm;; +Profondeur de travail;Profondeur de travail;28 cm;28 cm;; +Profondeur de travail;Profondeur de travail;30 cm;30 cm;; +Profondeur de travail;Profondeur de travail;30-40 cm;30-40 cm;; +Profondeur de travail;Profondeur de travail;40-50 cm;40-50 cm;; +Profondeur de travail;Profondeur de travail;50-60 cm;50-60 cm;; +Profondeur de travail;Profondeur de travail;60-70 cm;60-70 cm;; +Profondeur de travail;Profondeur de travail;70-80 cm;70-80 cm;; +Profondeur de travail;Profondeur de travail;80-90 cm;80-90 cm;; +Profondeur de travail;Profondeur de travail;90 cm;90 cm;; +Profondeur de travail;Profondeur de travail;Superieur a 80 cm;Superieur a 80 cm;; diff --git a/src/test/resources/data/pros/itk_cultures.csv b/src/test/resources/data/pros/itk_cultures.csv new file mode 100644 index 000000000..d44f73d19 --- /dev/null +++ b/src/test/resources/data/pros/itk_cultures.csv @@ -0,0 +1,211 @@ +Code Culture;Nom Culture;Type Culture;Espece1;Espece2;Espece3;Espece4;Espece5;Espece6;Periode Semis;Periode Recolte;Duree de Vegetation(mois);Commentaire_fr;Commentaire_en +Abricotier;Abricotier;Arboriculture fruitiere;Abricotier;;;;;;;;9999;nc;nc +Ail;Ail;Cultures legumieres;Ail;;;;;;;;9999;nc;nc +Alpiste_canaries;Alpiste_canaries;Grandes cultures;Alpiste_canaries;;;;;;;;9999;nc;nc +Artichaut;Artichaut;Cultures legumieres;Artichaut;;;;;;;;9999;nc;nc +Asperges;Asperges;Cultures legumieres;Asperges;;;;;;;;9999;nc;nc +Association_avoine_vesce;Association_avoine_vesce;Grandes cultures;Avoine;Vesce;;;;;;;9999;nc;nc +Association_ble dur_feverole;Association_ble dur_feverole;Grandes cultures;Ble dur;Feverole;;;;;;;9999;nc;nc +Association_ble dur_pois fourrager;Association_ble dur_pois fourrager;Grandes cultures;Ble dur;Pois fourrager;;;;;;;9999;nc;nc +Association_ble tendre_feverole;Association_ble tendre_feverole;Grandes cultures;Ble tendre;Feverole;;;;;;;9999;nc;nc +Association_ble tendre_pois fourrager;Association_ble tendre_pois fourrager;Grandes cultures;Ble tendre;Pois fourrager;;;;;;;9999;nc;nc +Association_cereale_legumineuse;Association_cereale_legumineuse;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Association_cereale_proteagineux;Association_cereale_proteagineux;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Association_cereales;Association_cereales;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Association_cereales ete;Association_cereales ete;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Association_epeautre_lentillon;Association_epeautre_lentillon;Grandes cultures;Epeautre;Lentillon;;;;;;;9999;nc;nc +Association_graminee_legumineuse;Association_graminee_legumineuse;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Association_graminee_proteagineux;Association_graminee_proteagineux;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Association_meteil;Association_meteil;Grandes cultures;Ble tendre;Seigle;;;;;;;9999;nc;nc +Association_orge_pois fourrager;Association_orge_pois fourrager;Grandes cultures;Orge;Pois fourrager;;;;;;;9999;nc;nc +Association_triticale_feverole;Association_triticale_feverole;Grandes cultures;Triticale;Feverole;;;;;;;9999;nc;nc +Association_triticale_orge_feverole;Association_triticale_orge_feverole;Grandes cultures;Triticale;Orge;Feverole;;;;;;9999;nc;nc +Association_triticale_pois chiche;Association_triticale_pois chiche;Grandes cultures;Triticale;Pois chiche;;;;;;;9999;nc;nc +Association_triticale_pois fourrager;Association_triticale_pois fourrager;Grandes cultures;Triticale;Pois fourrager;;;;;;;9999;nc;nc +Aubergine;Aubergine;Cultures legumieres;Aubergine;;;;;;;;9999;nc;nc +Avoine;Avoine;Grandes cultures;Avoine;;;;;;;;9999;nc;nc +Avoine hiver;Avoine hiver;Grandes cultures;Avoine;;;;;;;;9999;nc;nc +Avoine printemps;Avoine printemps;Grandes cultures;Avoine;;;;;;;;9999;nc;nc +Avoine rude;Avoine rude;Grandes cultures;Avoine;;;;;;;;9999;nc;nc +Betterave;Betterave;Grandes cultures;Betterave;;;;;;;;9999;nc;nc +Betterave fourragere;Betterave fourragere;Grandes cultures;Betterave;;;;;;;;9999;nc;nc +Betterave sucriere;Betterave sucriere;Grandes cultures;Betterave;;;;;;;;9999;nc;nc +Bettes;Bettes;Cultures legumieres;Bettes;;;;;;;;9999;nc;nc +Ble dur;Ble dur;Grandes cultures;Ble dur;;;;;;;;9999;nc;nc +Ble dur hiver;Ble dur hiver;Grandes cultures;Ble dur;;;;;;;;9999;nc;nc +Ble tendre;Ble tendre;Grandes cultures;Ble tendre;;;;;;;;9999;nc;nc +Ble tendre hiver;Ble tendre hiver;Grandes cultures;Ble tendre;;;;;;;;9999;nc;nc +Ble tendre printemps;Ble tendre printemps;Grandes cultures;Ble tendre;;;;;;;;9999;nc;nc +Brocolis;Brocolis;Cultures legumieres;Brocolis;;;;;;;;9999;nc;nc +Brome cathartique;Brome cathartique;Prairie permanente;Brome;;;;;;;;9999;nc;nc +Brome sitchensis;Brome sitchensis;Prairie permanente;Brome;;;;;;;;9999;nc;nc +Cameline;Cameline;Grandes cultures;Cameline;;;;;;;;9999;nc;nc +Canne sucre;Canne sucre;Grandes cultures;Canne a sucre;;;;;;;;9999;nc;nc +Carotte;Carotte;Cultures legumieres;Carotte;;;;;;;;9999;nc;nc +Carotte automne;Carotte automne;Cultures legumieres;Carotte;;;;;;;;9999;nc;nc +Carotte grosse;Carotte grosse;Cultures legumieres;Carotte;;;;;;;;9999;nc;nc +Carotte nantaise;Carotte nantaise;Cultures legumieres;Carotte;;;;;;;;9999;nc;nc +Carotte petite;Carotte petite;Cultures legumieres;Carotte;;;;;;;;9999;nc;nc +Carotte printemps;Carotte printemps;Cultures legumieres;Carotte;;;;;;;;9999;nc;nc +Celeri;Celeri;Cultures legumieres;Celeri;;;;;;;;9999;nc;nc +Celeri rave;Celeri rave;Cultures legumieres;Celeri;;;;;;;;9999;nc;nc +Cerfeuil;Cerfeuil;Cultures legumieres;Cerfeuil;;;;;;;;9999;nc;nc +Cerisier;Cerisier;Arboriculture fruitiere;Bananier;;;;;;;;9999;nc;nc +Chanvre;Chanvre;Grandes cultures;Chanvre;;;;;;;;9999;nc;nc +Chanvre grain;Chanvre grain;Grandes cultures;Chanvre;;;;;;;;9999;nc;nc +Chanvre paille;Chanvre paille;Grandes cultures;Chanvre;;;;;;;;9999;nc;nc +Chaumes;Chaumes;Z_Autre;Z_Non connu;;;;;;;;9999;nc;nc +Chicoree;Chicoree;Cultures legumieres;Chicoree;;;;;;;;9999;nc;nc +Choux;Choux;Cultures legumieres;Choux;;;;;;;;9999;nc;nc +Choux de Bruxelle;Choux de Bruxelle;Cultures legumieres;Choux de Bruxelle;;;;;;;;9999;nc;nc +Choux fleur;Choux fleur;Cultures legumieres;Choux fleur;;;;;;;;9999;nc;nc +Choux fleur automne;Choux fleur automne;Cultures legumieres;Choux fleur;;;;;;;;9999;nc;nc +Choux fleur printemps;Choux fleur printemps;Cultures legumieres;Choux fleur;;;;;;;;9999;nc;nc +Choux pomme;Choux pomme;Cultures legumieres;Choux pomme;;;;;;;;9999;nc;nc +Ciboulette;Ciboulette;Cultures legumieres;Ciboulette;;;;;;;;9999;nc;nc +Clementinier;Clementinier;Arboriculture fruitiere;Cerisier;;;;;;;;9999;nc;nc +Cognassier;Cognassier;Arboriculture fruitiere;Clementinier;;;;;;;;9999;nc;nc +Colza;Colza;Grandes cultures;Colza;;;;;;;;9999;nc;nc +Colza fourrager;Colza fourrager;Grandes cultures;Colza_fourrager;;;;;;;;9999;nc;nc +Colza hiver;Colza hiver;Grandes cultures;Colza;;;;;;;;9999;nc;nc +Colza printemps;Colza printemps;Grandes cultures;Colza;;;;;;;;9999;nc;nc +Concombre;Concombre;Cultures legumieres;Concombre;;;;;;;;9999;nc;nc +Courgette;Courgette;Cultures legumieres;Courgette;;;;;;;;9999;nc;nc +Cresson;Cresson;Cultures legumieres;Cresson;;;;;;;;9999;nc;nc +Dactyle;Dactyle;Prairie permanente;Dactyle;;;;;;;;9999;nc;nc +Echalote;Echalote;Cultures legumieres;Echalote;;;;;;;;9999;nc;nc +Epeautre;Epeautre;Grandes cultures;Epeautre;;;;;;;;9999;nc;nc +Epinard;Epinard;Cultures legumieres;Epinard;;;;;;;;9999;nc;nc +Escourgeon;Escourgeon;Grandes cultures;Escourgeon;;;;;;;;9999;nc;nc +Eucalyptus;Eucalyptus;Cultures energetiques;Eucalyptus;;;;;;;;9999;nc;nc +Fenugrec;Fenugrec;Grandes cultures;Fenugrec;;;;;;;;9999;nc;nc +Festulolium;Festulolium;Prairie permanente;Festulolium;;;;;;;;9999;nc;nc +Fetuque;Fetuque;Grandes cultures;Fetuque;;;;;;;;9999;nc;nc +Fetuque des pres;Fetuque des pres;Prairie permanente;Fetuque;;;;;;;;9999;nc;nc +Fetuque elevee;Fetuque elevee;Prairie permanente;Fetuque;;;;;;;;9999;nc;nc +Fetuque ovine;Fetuque ovine;Prairie permanente;Fetuque;;;;;;;;9999;nc;nc +Fetuque rouge;Fetuque rouge;Prairie permanente;Fetuque;;;;;;;;9999;nc;nc +Feve;Feve;Grandes cultures;Feve;;;;;;;;9999;nc;nc +Feverole;Feverole;Grandes cultures;Feverole;;;;;;;;9999;nc;nc +Feverole hiver;Feverole hiver;Grandes cultures;Feverole;;;;;;;;9999;nc;nc +Feverole printemps;Feverole printemps;Grandes cultures;Feverole;;;;;;;;9999;nc;nc +Flageolet;Flageolet;Cultures legumieres;Flageolet;;;;;;;;9999;nc;nc +Fleole des pres;Fleole des pres;Prairie permanente;Fleole des pres;;;;;;;;9999;nc;nc +Fraise;Fraise;Cultures legumieres;Fraise;;;;;;;;9999;nc;nc +Gesse cultivee;Gesse cultivee;Grandes cultures;Gesse cultivee;;;;;;;;9999;nc;nc +Graminee fourragere;Graminee fourragere;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Graminee semence;Graminee semence;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Haricot extra fin;Haricot extra fin;Cultures legumieres;Haricot vert;;;;;;;;9999;nc;nc +Haricot flageolet;Haricot flageolet;Cultures legumieres;Haricot flageolet;;;;;;;;9999;nc;nc +Haricot mangetout;Haricot mangetout;Cultures legumieres;Haricot mangetout;;;;;;;;9999;nc;nc +Haricot vert;Haricot vert;Cultures legumieres;Haricot vert;;;;;;;;9999;nc;nc +Houblon;Houblon;Grandes cultures;Houblon;;;;;;;;9999;nc;nc +Lentille;Lentille;Grandes cultures;Lentille;;;;;;;;9999;nc;nc +Lentille noiratre;Lentille noiratre;Grandes cultures;Lentille;;;;;;;;9999;nc;nc +Lentillon;Lentillon;Grandes cultures;Lentillon;;;;;;;;9999;nc;nc +Lin;Lin;Grandes cultures;Lin;;;;;;;;9999;nc;nc +Lin fibre;Lin fibre;Grandes cultures;Lin;;;;;;;;9999;nc;nc +Lin fibre printemps;Lin fibre printemps;Grandes cultures;Lin;;;;;;;;9999;nc;nc +Lin graine printemps;Lin graine printemps;Grandes cultures;Lin;;;;;;;;9999;nc;nc +Lin hiver;Lin hiver;Grandes cultures;Lin;;;;;;;;9999;nc;nc +Lotier;Lotier;Prairie;Lotier;;;;;;;;9999;nc;nc +Lotier cornicule;Lotier cornicule;Prairie permanente;Lotier;;;;;;;;9999;nc;nc +Lupin;Lupin;Grandes cultures;Lupin;;;;;;;;9999;nc;nc +Lupin doux;Lupin doux;Grandes cultures;Lupin;;;;;;;;9999;nc;nc +Luzerne;Luzerne;Grandes cultures;Luzerne;;;;;;;;9999;nc;nc +Luzerne lupuline;Luzerne lupuline;Prairie permanente;Luzerne;;;;;;;;9999;nc;nc +Mais;Mais;Grandes cultures;Mais;;;;;;;;9999;nc;nc +Mais doux;Mais doux;Cultures legumieres;Mais doux;;;;;;;;9999;nc;nc +Mais fourrage;Mais fourrage;Grandes cultures;Mais;;;;;;;;9999;nc;nc +Mais grain;Mais grain;Grandes cultures;Mais;;;;;;;;9999;nc;nc +Mais semence;Mais semence;Grandes cultures;Mais;;;;;;;;9999;nc;nc +Mandarinier;Mandarinier;Arboriculture fruitiere;Cognassier;;;;;;;;9999;nc;nc +Melon;Melon;Cultures legumieres;Melon;;;;;;;;9999;nc;nc +Melon plein champ;Melon plein champ;Cultures legumieres;Melon;;;;;;;;9999;nc;nc +Melon sous abri;Melon sous abri;Cultures legumieres;Melon;;;;;;;;9999;nc;nc +Mirabellier;Mirabellier;Arboriculture fruitiere;Mandarinier;;;;;;;;9999;nc;nc +Miscanthus;Miscanthus;Cultures energetiques;Miscanthus;;;;;;;;9999;nc;nc +Moha;Moha;Grandes cultures;Moha;;;;;;;;9999;nc;nc +Moutarde;Moutarde;Grandes cultures;Moutarde;;;;;;;;9999;nc;nc +Moutarde Abyssinie;Moutarde Abyssinie;Grandes cultures;Moutarde;;;;;;;;9999;nc;nc +Moutarde blanche;Moutarde blanche;Grandes cultures;Moutarde;;;;;;;;9999;nc;nc +Moutarde brune;Moutarde brune;Grandes cultures;Moutarde;;;;;;;;9999;nc;nc +Moutarde jaune;Moutarde jaune;Grandes cultures;Moutarde;;;;;;;;9999;nc;nc +Multi especes;Multi especes;Prairie permanente;Z_Non connu;;;;;;;;9999;nc;nc +Navet;Navet;Cultures legumieres;Navet;;;;;;;;9999;nc;nc +Navette fourragere;Navette fourragere;Grandes cultures;Navette_fourragere;;;;;;;;9999;nc;nc +Nectarinier;Nectarinier;Arboriculture fruitiere;Mirabellier;;;;;;;;9999;nc;nc +Niger;Niger;Grandes cultures;Niger;;;;;;;;9999;nc;nc +Oignon;Oignon;Cultures legumieres;Oignon;;;;;;;;9999;nc;nc +Oranger;Oranger;Arboriculture fruitiere;Nectarinier;;;;;;;;9999;nc;nc +Orge;Orge;Grandes cultures;Orge;;;;;;;;9999;nc;nc +Orge hiver;Orge hiver;Grandes cultures;Orge;;;;;;;;9999;nc;nc +Orge printemps;Orge printemps;Grandes cultures;Orge;;;;;;;;9999;nc;nc +Paturin des pres;Paturin des pres;Prairie permanente;Paturin des pres;;;;;;;;9999;nc;nc +Pecher;Pecher;Arboriculture fruitiere;Oranger;;;;;;;;9999;nc;nc +Persil;Persil;Cultures legumieres;Persil;;;;;;;;9999;nc;nc +Petit pois;Petit pois;Cultures legumieres;Petit pois;;;;;;;;9999;nc;nc +Peuplier;Peuplier;Cultures energetiques;Peuplier;;;;;;;;9999;nc;nc +Phacelie;Phacelie;Grandes cultures;Phacelie;;;;;;;;9999;nc;nc +Poireau;Poireau;Cultures legumieres;Poireau;;;;;;;;9999;nc;nc +Poirier;Poirier;Arboriculture fruitiere;Pecher;;;;;;;;9999;nc;nc +Pois chiche;Pois chiche;Grandes cultures;Pois chiche;;;;;;;;9999;nc;nc +Pois conserve;Pois conserve;Grandes cultures;Z_Non connu;;;;;;;;9999;nc;nc +Pois fourrager;Pois fourrager;Grandes cultures;Pois fourrager;;;;;;;;9999;nc;nc +Pois fourrager hiver;Pois fourrager hiver;Grandes cultures;Pois fourrager;;;;;;;;9999;nc;nc +Pois fourrager printemps;Pois fourrager printemps;Grandes cultures;Pois fourrager;;;;;;;;9999;nc;nc +Poivron;Poivron;Cultures legumieres;Poivron;;;;;;;;9999;nc;nc +Pomelo;Pomelo;Arboriculture fruitiere;Poirier;;;;;;;;9999;nc;nc +Pomme de terre;Pomme de terre;Grandes cultures;Pomme de terre;;;;;;;;9999;nc;nc +Pomme de terre conservation transformation;Pomme de terre conservation transformation;Grandes cultures;Pomme de terre;;;;;;;;9999;nc;nc +Pomme de terre consommation;Pomme de terre consommation;Cultures legumieres;Pomme de terre;;;;;;;;9999;nc;nc +Pomme de terre feculerie;Pomme de terre feculerie;Grandes cultures;Pomme de terre;;;;;;;;9999;nc;nc +Pomme de terre plant;Pomme de terre plant;Grandes cultures;Pomme de terre;;;;;;;;9999;nc;nc +Pomme de terre plant primeur;Pomme de terre plant primeur;Cultures legumieres;Pomme de terre;;;;;;;;9999;nc;nc +Pomme de terre primeur nouvelle;Pomme de terre primeur nouvelle;Grandes cultures;Pomme de terre;;;;;;;;9999;nc;nc +Pommier;Pommier;Arboriculture fruitiere;Pommier;;;;;;;;9999;nc;nc +Prunier;Prunier;Arboriculture fruitiere;Prunier;;;;;;;;9999;nc;nc +RGA;RGA;Grandes cultures;Ray-Grass;;;;;;;;9999;nc;nc +RGH;RGH;Grandes cultures;Ray-Grass;;;;;;;;9999;nc;nc +RGI;RGI;Grandes cultures;Ray-Grass;;;;;;;;9999;nc;nc +Radis;Radis;Grandes cultures;Radis;;;;;;;;9999;nc;nc +Radis chinois;Radis chinois;Grandes cultures;Radis;;;;;;;;9999;nc;nc +Radis fourrager;Radis fourrager;Grandes cultures;Radis;;;;;;;;9999;nc;nc +Ray-Grass;Ray-Grass;Grandes cultures;Ray-Grass;;;;;;;;9999;nc;nc +Residus precedent;Residus precedent;Z_Autre;Z_Non connu;;;;;;;;9999;nc;nc +Ricin;Ricin;Grandes cultures;Ricin;;;;;;;;9999;nc;nc +Riz;Riz;Grandes cultures;Riz;;;;;;;;9999;nc;nc +Robinier faux acacia;Robinier faux acacia;Cultures energetiques;Robinier faux acacia;;;;;;;;9999;nc;nc +Sainfoin;Sainfoin;Prairie permanente;Sainfoin;;;;;;;;9999;nc;nc +Salade autre;Salade autre;Cultures legumieres;Salade autre;;;;;;;;9999;nc;nc +Salade chicoree;Salade chicoree;Cultures legumieres;Salade chicoree;;;;;;;;9999;nc;nc +Salade laitue;Salade laitue;Cultures legumieres;Salade laitue;;;;;;;;9999;nc;nc +Salade laitue plein champ;Salade laitue plein champ;Cultures legumieres;Salade laitue;;;;;;;;9999;nc;nc +Salade laitue sous abri;Salade laitue sous abri;Cultures legumieres;Salade laitue;;;;;;;;9999;nc;nc +Salade mache;Salade mache;Cultures legumieres;Salade mache;;;;;;;;9999;nc;nc +Sarrasin;Sarrasin;Grandes cultures;Sarrasin;;;;;;;;9999;nc;nc +Saule;Saule;Cultures energetiques;Saule;;;;;;;;9999;nc;nc +Seigle;Seigle;Grandes cultures;Seigle;;;;;;;;9999;nc;nc +Sequoia;Sequoia;Cultures energetiques;Sequoia;;;;;;;;9999;nc;nc +Soja;Soja;Grandes cultures;Soja;;;;;;;;9999;nc;nc +Sol nu;Sol nu;Sol nu;Z_Non connu;;;;;;;;9999;nc;nc +Sorgho;Sorgho;Grandes cultures;Sorgho;;;;;;;;9999;nc;nc +Sorgho fourrager;Sorgho fourrager;Grandes cultures;Sorgho;;;;;;;;9999;nc;nc +Sorgho grain;Sorgho grain;Grandes cultures;Sorgho;;;;;;;;9999;nc;nc +Switchgrass;Switchgrass;Cultures energetiques;Switchgrass;;;;;;;;9999;nc;nc +Tabac;Tabac;Grandes cultures;Tabac;;;;;;;;9999;nc;nc +Tomate;Tomate;Cultures legumieres;Tomate;;;;;;;;9999;nc;nc +Tournesol;Tournesol;Grandes cultures;Tournesol;;;;;;;;9999;nc;nc +Trefle;Trefle;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Trefle Alexandrie;Trefle Alexandrie;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Trefle blanc;Trefle blanc;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Trefle de Perse;Trefle de Perse;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Trefle hybride;Trefle hybride;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Trefle incarnat;Trefle incarnat;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Trefle souterrain;Trefle souterrain;Prairie permanente;Trefle;;;;;;;;9999;nc;nc +Trefle violet;Trefle violet;Grandes cultures;Trefle;;;;;;;;9999;nc;nc +Triticale;Triticale;Grandes cultures;Triticale;;;;;;;;9999;nc;nc +Vesce;Vesce;Grandes cultures;Vesce;;;;;;;;9999;nc;nc +Vesce hiver;Vesce hiver;Grandes cultures;Vesce;;;;;;;;9999;nc;nc +Vesce printemps;Vesce printemps;Grandes cultures;Vesce;;;;;;;;9999;nc;nc +Vigne;Vigne;Viticulture;Vigne;;;;;;;;9999;nc;nc diff --git a/src/test/resources/data/pros/itk_espece.csv b/src/test/resources/data/pros/itk_espece.csv new file mode 100644 index 000000000..aa6860be6 --- /dev/null +++ b/src/test/resources/data/pros/itk_espece.csv @@ -0,0 +1,116 @@ +Nom Espece Plante_fr;Nom Espece Plante_en;Nom famille;Descriptif;source;Commentaire_fr;Commentaire_en +Abricotier;Abricotier;Rosaceae;Arbre fruitier;;; +Ail;Ail;Alliaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Alpiste_canaries;Alpiste_canaries;Poaceae;Graminee;http://www.fiches.arvalis-infos.fr/couverts;; +Artichaut;Artichaut;Asteraceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Asperges;Asperges;Asparagaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Aubergine;Aubergine;Solanaceae;Legume;Alimentation humaine;; +Avoine;Avoine;Poaceae;Cereale;Graminee;Chambres Agriculture, n° 1032;Chambres Agriculture, n° 1032 +Bananier;Bananier;Musaceae;Herbacee;;; +Betterave;Betterave;Chenopodiaceae;Legume;Alimentation humaine;; +Bettes;Bettes;Chenopodiaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Ble dur;Ble dur;Poaceae;Cereale;Graminee;; +Ble tendre;Ble tendre;Poaceae;Cereale;Graminee;; +Brocolis;Brocolis;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;; +Brome;Brome;Poaceae;Graminee;Fourrage;http://www.herbe-book.org/;http://www.herbe-book.org/ +Cameline;Cameline;Brassicaceae (ou Crucifere);CIPAN;http://www.centre.chambagri.fr/cd_ibis;; +Canne a sucre;Canne a sucre;Poaceae;Herbacee;Graminee;RICA - AGRESTE;RICA - AGRESTE +Carotte;Carotte;Apiaceae;Legume;Alimentation humaine;; +Celeri;Celeri;Apiaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Cerfeuil;Cerfeuil;Apiaceae;Legume;Alimentation humaine;; +Cerisier;Cerisier;Rosaceae;Arbre fruitier;;; +Chanvre;Chanvre;Cannabaceae;Culture industrielle non alimentaire, plante a fibre textile;AGRESTE, Primeur n° 298, 2013;; +Chicoree;Chicoree;Asteraceae;Legume;Alimentation humaine;; +Choux;Choux;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;; +Choux de Bruxelle;Choux de Bruxelle;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;; +Choux fleur;Choux fleur;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Choux pomme;Choux pomme;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;; +Ciboulette;Ciboulette;Alliaceae;Legume;Alimentation humaine;; +Clementinier;Clementinier;Rutaceae;Arbre fruitier;;; +Cognassier;Cognassier;Rosaceae;Arbre fruitier;;; +Colza;Colza;Brassicaceae (ou Crucifere);Oleagineux;;; +Colza_fourrager;Colza_fourrager;Brassicaceae (ou Crucifere);CIPAN;http://www.landes.chambagri.fr/;; +Concombre;Concombre;Cucurbitaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Courgette;Courgette;Cucurbitaceae;Legume;Alimentation humaine;; +Cresson;Cresson;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Dactyle;Dactyle;Poaceae;Graminee;Fourrage;la plus riche en proteines, adapte a nombres types de sol et climats;http://www.herbe-book.org/ +Echalote;Echalote;Alliaceae;Legume;Alimentation humaine;; +Epeautre;Epeautre;Poaceae;Cereale;Graminee;; +Epinard;Epinard;Chenopodiaceae;Legume;Alimentation humaine;; +Escourgeon;Escourgeon;Poaceae;Cereale;Graminee;; +Eucalyptus;Eucalyptus;Myrtaceae;Arbre;Culture energetique perenne;TTCR ou TCR;RMT Biomasse +Fenugrec;Fenugrec;Fabaceae;Legumineuse - Proteagineux;http://www.fiches.arvalis-infos.fr/;; +Festulolium;Festulolium;Poaceae;Graminee;Fourrage;http://www.herbe-book.org/;http://www.herbe-book.org/ +Fetuque;Fetuque;Fabaceae;Legumineuse - Proteagineux;Fourrage;valorisation energetique (combustion et methanisation);RMT Biomasse +Feve;Feve;Fabaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Feverole;Feverole;Fabaceae;Legumineuse - Proteagineux;Fourrage;Ministere Agriculture, Les grandes cultures, 2006;Ministere Agriculture, Les grandes cultures, 2006 +Flageolet;Flageolet;Fabaceae;Legume;Alimentation humaine;; +Fleole des pres;Fleole des pres;Poaceae;Graminee;Fourrage;http://www.herbe-book.org/;http://www.herbe-book.org/ +Fraise;Fraise;Rosaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Gesse cultivee;Gesse cultivee;Fabaceae;Legumineuse - Proteagineux;Fourrage;http://www.fiches.arvalis-infos.fr/;http://www.fiches.arvalis-infos.fr/ +Haricot flageolet;Haricot flageolet;Fabaceae;Legume;Alimentation humaine;; +Haricot mangetout;Haricot mangetout;Fabaceae;Legume;Alimentation humaine;; +Haricot vert;Haricot vert;Fabaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Houblon;Houblon;Cannabaceae;;RICA - AGRESTE;; +Lentille;Lentille;Fabaceae;Legumineuse - Proteagineux;Alimentation humaine;; +Lentillon;Lentillon;Fabaceae;Legumineuse - Proteagineux;;; +Lin;Lin;Linaceae;Oleagineux;Agrocarburants, huile, et plante industrielle pour fibre textile;; +Lotier;Lotier;Fabaceae;Legumineuse - Proteagineux;Fourrage;; +Lupin;Lupin;Fabaceae;Legumineuse - Proteagineux;Fourrage;Ministere Agriculture, Les grandes cultures, 2006;Ministere Agriculture, Les grandes cultures, 2006 +Luzerne;Luzerne;Fabaceae;Legumineuse - Proteagineux;Fourrage;candidate interessante pour biocarburants et methanisation;RMT Biomasse +Mais;Mais;Poaceae;Cereale;Graminee;; +Mais doux;Mais doux;Poaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Mandarinier;Mandarinier;Rutaceae;Arbre fruitier;;; +Melon;Melon;Cucurbitaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Mirabellier;Mirabellier;Rosaceae;Arbre fruitier;;; +Miscanthus;Miscanthus;Poaceae;Graminee;Culture energetique perenne;AGRESTE, Primeur n° 298, 2013;RMT Biomasse +Moha;Moha;Poaceae;CIPAN;Graminee;http://www.centre.chambagri.fr/cd_ibis;http://www.centre.chambagri.fr/cd_ibis +Moutarde;Moutarde;Brassicaceae (ou Crucifere);CIPAN;http://www.centre.chambagri.fr/cd_ibis;; +Navet;Navet;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;; +Navette_fourragere;Navette_fourragere;Brassicaceae (ou Crucifere);Fourrage, CIPAN;http://www.centre.chambagri.fr/cd_ibis;http://www.fiches.arvalis-infos.fr/;http://www.fiches.arvalis-infos.fr/ +Nectarinier;Nectarinier;Rosaceae;Arbre fruitier;;; +Niger;Niger;Asteraceae;Herbacee;;; +Oignon;Oignon;Apiaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Oranger;Oranger;Rutaceae;Arbre fruitier;;; +Orge;Orge;Poaceae;Cereale;Graminee;Chambres Agriculture, n° 1032;Chambres Agriculture, n° 1032 +Paturin des pres;Paturin des pres;Poaceae;Graminee;Fourrage;; +Pecher;Pecher;Rosaceae;Arbre fruitier;;; +Persil;Persil;Apiaceae;Legume;Alimentation humaine;; +Petit pois;Petit pois;Fabaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Peuplier;Peuplier;Salicaceae;Arbre;Culture energetique perenne;TTCR ou TCR;RMT Biomasse +Phacelie;Phacelie;Hydrophyllaceae;Herbacee;Engrais vert;CIPAN;http://www.centre.chambagri.fr/cd_ibis +Poireau;Poireau;Alliaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Poirier;Poirier;Rosaceae;Arbre fruitier;;; +Pois chiche;Pois chiche;Fabaceae;Legumineuse - Proteagineux;RICA - AGRESTE;; +Pois conserve;Pois conserve;Fabaceae;Legumineuse - Proteagineux;;; +Pois fourrager;Pois fourrager;Fabaceae;Legumineuse - Proteagineux;Fourrage aussi appele pois proteagineux;http://www.fiches.arvalis-infos.fr/couverts/;http://www.fiches.arvalis-infos.fr/couverts/ +Poivron;Poivron;Solanaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Pomme de terre;Pomme de terre;Solanaceae;Legume;Alimentation humaine;; +Pommier;Pommier;Rosaceae;Arbre fruitier;;; +Prunier;Prunier;Rosaceae;Arbre fruitier;;; +Radis;Radis;Brassicaceae (ou Crucifere);Legume;Alimentation humaine;; +Ray-Grass;Ray-Grass;Poaceae;Fourrage;Graminee;; +Ricin;Ricin;Euphorbiaceae;;RICA - AGRESTE;; +Riz;Riz;Poaceae;Cereale;Graminee;; +Robinier faux acacia;Robinier faux acacia;Fabaceae;Legumineuse - Proteagineux;Culture energetique perenne;TTCR ou TCR;RMT Biomasse +Sainfoin;Sainfoin;Fabaceae;Legumineuse - Proteagineux;Fourrage;tres rustique;web-agri.fr +Salade autre;Salade autre;Asteraceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Salade chicoree;Salade chicoree;Asteraceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Salade endive;Salade endive;Asteraceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Salade laitue;Salade laitue;Asteraceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Salade mache;Salade mache;Caprifoliaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Sarrasin;Sarrasin;Poaceae;Cereale;Graminee;; +Saule;Saule;Salicaceae;Arbre;Culture energetique perenne;TTCR;RMT Biomasse +Seigle;Seigle;Poaceae;Cereale;Graminee;Chambres Agriculture, n° 1032;Chambres Agriculture, n° 1032 +Sequoia;Sequoia;Taxodiaceae;Arbre;Culture energetique perenne;TTCR ou TCR;RMT Biomasse +Soja;Soja;Fabaceae;Legumineuse - Proteagineux;;; +Sorgho;Sorgho;Poaceae;Cereale (sans gluten);;; +Switchgrass;Switchgrass;Poaceae;Graminee;Culture energetique perenne;aussi appele Panic erige ou Panicum virgatum);AGRESTE, Primeur n° 298, 2013 +Tabac;Tabac;Solanaceae;;RICA - AGRESTE;; +Tomate;Tomate;Solanaceae;Legume;Alimentation humaine;RICA - AGRESTE;RICA - AGRESTE +Tournesol;Tournesol;Asteraceae;Oleagineux;;; +Trefle;Trefle;Fabaceae;Legumineuse - Proteagineux;Fourrage;; +Triticale;Triticale;Poaceae;Cereale;Graminee;; +Vesce;Vesce;Fabaceae;Legumineuse - Proteagineux;Fourrage;engrais vert;engrais vert +Vigne;Vigne;Vitaceae;Viticulture;;; +Z_Non connu;Z_Non connu;Z_non connu;;;; diff --git a/src/test/resources/data/pros/itk_famille.csv b/src/test/resources/data/pros/itk_famille.csv new file mode 100644 index 000000000..bf6eeaa09 --- /dev/null +++ b/src/test/resources/data/pros/itk_famille.csv @@ -0,0 +1,25 @@ +nom famille_key;nom famille +alliaceae;Alliaceae +amaranthaceae;Amaranthaceae +apiaceae;Apiaceae +asparagaceae;Asparagaceae +asteraceae;Asteraceae +brassicaceae (ou Crucifere);Brassicaceae (ou Crucifere) +cannabaceae;Cannabaceae +caprifoliaceae;Caprifoliaceae +chenopodiaceae;Chenopodiaceae +cucurbitaceae;Cucurbitaceae +euphorbiaceae;Euphorbiaceae +fabaceae;Fabaceae +hydrophyllaceae;Hydrophyllaceae +linaceae;Linaceae +musaceae;Musaceae +myrtaceae;Myrtaceae +poaceae;Poaceae +rosaceae;Rosaceae +rutaceae;Rutaceae +salicaceae;Salicaceae +solanaceae;Solanaceae +taxodiaceae;Taxodiaceae +vitaceae;Vitaceae +z_non connu;Z_non connu diff --git a/src/test/resources/data/pros/itk_intervention.csv b/src/test/resources/data/pros/itk_intervention.csv new file mode 100644 index 000000000..3088c15bf --- /dev/null +++ b/src/test/resources/data/pros/itk_intervention.csv @@ -0,0 +1,51 @@ +Libelle intervention_fr;Libelle intervention_en;Type intervention;Description;Commentaire_fr;Commentaire_en +Amendement mineral basique;Amendement mineral basique;Apport_PRO et amendement;[Les produits destinés à améliorer les propriétés du sol sont des amendements];NFU 44-001;[Matieres fertilisantes contenant des carbonates, des oxydes, des hydroxydes et/ou des silicates, generalement associes a du calcium et/ou du magnesium, et destinees principalement a maintenir ou a elever le pH du sol et a en ameliorer les proprietes.] (NFU 44-001 UNIFA) +Biostimulant;Biostimulant;Apport_engrais_phytosanitaires_autres;[Les biostimulants de la plante ciblent la plante, le sol et/ou les matieres fertilisantes et supports de culture et favorisent la croissance, le developpement et la nutrition des plantes. Sont compris dans les biostimulants une diversite de termes qui ne sont pas tout a fait semblables du point de vue des cibles visees, mais dont le but est bien de stimuler les plantes et/ou d activer le sol pour ameliorer la croissance des plantes a un niveau d apport de matieres fertilisantes donne.] (;; +Z_Amendement_Autre;Z_Amendement_Autre;Apport_PRO et amendement;;nc;nc +Phytosanitaire_Fongicide;Phytosanitaire_Fongicide;Apport_engrais_phytosanitaires_autres;;nc;nc +Phytosanitaire_Herbicide;Phytosanitaire_Herbicide;Apport_engrais_phytosanitaires_autres;;nc;nc +Phytosanitaire_Insecticide;Phytosanitaire_Insecticide;Apport_engrais_phytosanitaires_autres;;nc;nc +Phytosanitaire_Molluscicide;Phytosanitaire_Molluscicide;Apport_engrais_phytosanitaires_autres;;nc;nc +Phytosanitaire_Regulateur de croissance;Phytosanitaire_Regulateur de croissance;Apport_engrais_phytosanitaires_autres;;nc;nc +Phytosanitaire_Z_Autres;Phytosanitaire_Z_Autres;Apport_engrais_phytosanitaires_autres;Autre produit phytosanitaire, exemple nematicide, taupicide, rodenticide, repulsif oiseau gibier, …;nc;nc +Z_Apport_Autre;Z_Apport_Autre;Apport_engrais_phytosanitaires_autres;;nc;nc +Irrigation eau;Irrigation eau;Irrigation;;nc;nc +Irrigation engrais mineral;Irrigation engrais mineral;Irrigation;;nc;nc +Irrigation engrais organique;Irrigation engrais organique;Irrigation;;nc;nc +Irrigation engrais organo mineral;Irrigation engrais organo mineral;Irrigation;;nc;nc +Broyage;Broyage;Z_Intervention_Autre;;nc;nc +Coupe;Coupe;Recolte;Coupe, concerne le fourrage en prairie ou non.;nc;nc +Exportation residus;Exportation residus;Recolte;L exportation des residus consiste a l exportation des residus de recolte de la parcelle agricole.;nc;nc +Paturage;Paturage;Recolte;Paturage par des animaux.;nc;nc +Restitution residus;Restitution residus;Recolte;;nc;nc +Plantation;Plantation;Plantation;La plantation correspond a l operation d implantation de cultures perennes (ex. vigne) ou semi-perenne (ex. canne a sucre).;nc;nc +Enfouissement residus;Enfouissement residus;Travail du sol;L enfouissement des residus de recolte est realise apres la recolte par dechaumage par exemple.;nc;nc +Enfouissement matieres organiques;Enfouissement matieres organiques;Travail du sol;;nc;nc +Labour_reprise;Labour_reprise;Travail du sol;;nc;nc +Preparation lit semence;Preparation lit semence;Travail du sol;La preparation du lit de semence est un travail superficiel du sol (5-10 cm) realise avec des outils atteles a dents (cultivateurs legers), a pointes (herse) ou a disques (pulverisateurs) ou des outils animes par la prise de force du tracteur (ex. houe rotative, machine a becher, herse alternative, herse rotative). L objectif premier est de rendre la couche superficielle du sol favorable a la germination des graines et a la levee, en emiettant les 5-10 premiers centimetres du sol, en favorisant le contact sol/graine, en nivellant la surface, en eliminant les adventices et les debris vegetaux. Cette operation limite aussi les risques de battance en triant mottes/terre fine. (Fiches AgroParisTech 2005;Fiche technique n°3 Les outils a dents, pool machinisme Midi Pyrenees 2007);nc +Sillonnage;Sillonnage;Travail du sol;;nc;nc +Z_Travail sol_Autre;Z_Travail sol_Autre;Travail du sol;;nc;nc +Amendement organique;Amendement organique;Apport_PRO et amendement;[Les produits destinés à améliorer les proprietes du sol sont des amendements];[Matieres fertilisantes composees principalement de combinaisons carbonees d origine vegetale ou animale et vegetales en melange, destinees a l entretien ou a la reconstitution du stock de matiere organique du sol et a l amelioration de ses proprietes physiques et/ou chimiques et/ou biologiques] (NFU 44-051;UNIFA) +Biocontrole;Biocontrole;Apport_engrais_phytosanitaires_autres;;nc;nc +Retournement (Prairie);Retournement (Prairie);Recolte;;nc;nc +Engrais_organo mineral;Engrais_organo mineral;Apport_engrais_phytosanitaires_autres;Matieres fertilisantes d'origine organo-minerale [dont la fonction principale est d apporter aux plantes des elements directement utiles a leur nutrition (elements nutritifs majeurs, elements nutritifs secondaires et oligo-elements];[Melange d engrais organiques et d engrais mineraux. Ce melange doit contenir au minimum un pour cent d azote d origine organique] (Adaptation de NFU 42-001);nc +Engrais_mineral;Engrais_mineral;Apport_engrais_phytosanitaires_autres;Matieres fertilisantes d'origine minerale [dont la fonction principale est d apporter aux plantes des elements directement utiles a leur nutrition (elements nutritifs majeurs, elements nutritifs secondaires et oligo-elements] (Adaptation de NFU 42-001);nc;nc +Destruction (CIPAN);Destruction (CIPAN);Recolte;La destruction d une culture intermediaire piege a nitrates (CIPAN) consiste en sa desctrution par differentes techniques mecaniques, chimiques ou thermiques.;nc;nc +Engrais_organique;Engrais_organique;Apport_engrais_phytosanitaires_autres;Matieres fertilisantes d'origine organique vegetale et/ou animale [dont la fonction principale est d apporter aux plantes des elements directement utiles a leur nutrition (elements nutritifs majeurs, elements nutritifs secondaires et oligo-elements];[Engrais dont la totalite des elements fertilisants a une origine organique, animale ou vegetale] (Adaptation de NFU 42-001 );nc +Recolte;Recolte;Recolte;La recolte est l [Action de recueillir, sur le champ, les produits agricoles ;nc;nc +Rognage_taille;Rognage_taille;Recolte;La taille est l [Action de couper methodiquement une partie des branches, des pousses d un arbre, d un arbrisseau, d un cep de vigne, afin de lui imposer une forme determinee, de controler la fructification.];nc;nc +Z_Recolte_Autre;Z_Recolte_Autre;Recolte;Autres interventions sur les plantes, comme ebourgeonnage, eclaircissage, effeuillage, fanage;nc;nc +Binage;Binage;Travail du sol;Le binage est une technique de travail du sol superficielle qui est realise au cours de la culture en place, avec pour objectif de detruire mecaniquement les mauvaises herbes sur le range de la culture et entre les rangs. (Fiches AgroParisTech 2005);nc;nc +Dechaumage;Dechaumage;Travail du sol;Le dechaumage est une operation superficielle de preparation du sol qui vise a arracher et enfouir les plantes levees, les graines tombees au sol et les chaumes du precedent cultive. Le dechaumage est un melange terre/paille permettant d accelerer la degradation des residus. (Fiches AgroParisTech 2005;nc;nc +Decompactage;Decompactage;Travail du sol;Le decompactage est une technique de travail du sol en profondeur, sans retournement. La profondeur de travail qui est plus faible que pour un sous-solage peut atteindre 30 cm. Le decompactage est effectue avec des outils non animes a dents (cultivateur lourd) ou a disques (charrue a disques). (Fiches AgroParisTech 2005);nc;nc +Faux semis;Faux semis;Travail du sol;Le faux-semis est une operation d emiettement des 5 premiers centimetres de sol pour favoriser la lever des adventices. (Fiche technique n°3 Les outils a dents, pool machinisme Midi Pyrenees 2007);nc;nc +Griffage_Hersage;Griffage_Hersage;Travail du sol;Le griffage est un [Ameublissement du sol, realise par la griffe placee a l arriere de la charrue.] Le hersage est un travail de la couche superficielle du sol realise avec la herse et consistant a briser les mottes et a egaliser la surface. (Larousse.fr);nc;nc +Labour;Labour;Travail du sol;Le labour est une technique de travail profond (en moyenne 25 cm) qui consiste a decouper et retourner une bande de terre (le sillon). Cette technique est en 2017 encore la principale preparation du sol, correspondant a un travail profond avec retournement du sol et melange des horisons, dont les objectifs multiples sont : amelioration de la structure du sol, enfouissement des matieres organiques, destruction des adventices et des repousses, enfouissement de leurs graines, enfouissement des engrais de fond et des residus de persticides, amelioration de la circulation d eau. (Fiches AgroParisTech 2005;nc;nc +Pseudo labour;Pseudo labour;Travail du sol;Le pseudo-labour est une operation de travail profond avec melange des horizons et enfouissement partiel des residus qui sert a melanger les residus en surface avec le sol et a ameublir les 15-30 premiers centimetres sans retournement. Aussi appele labour agronomique, le pseudo-labour est un travail du sol profond avec melange des horizons sans retournement, a une profondeur equivalente a celle du labour. Il a ameublit le sol et a les memes objectifs que le labour, le cultivateur lourd est l outil principalement employe. (dicoagroecologie.fr 2016;nc;nc +Roulage;Roulage;Travail du sol;Le roulage est une operation destine principalement a tasser le sol en surface, a reduire les cavites entre mottes (rappuyage) et a ameublir superficiellement le sol par ecrasement des mottes. Les rouleaux sont utilises a cet effet. (Fiches AgroParisTech 2005);nc;nc +Semis;Semis;Travail du sol;Le semis consiste a mettre les graines de la culture visee en terre, a une profondeur adaptee a leur germination et levee. Un semoir est utilise comme outil, combine ou non a d autres outils.;nc;nc +Semis-direct;Semis-direct;Travail du sol;Le semis-direct est une technique d implantation des cultures base sur un travail du sol localise sur la ligne de smis sans travail profond. (Guide pratique Techniques culturales sans labour en Bretagne 2008);nc;nc +Sous-solage;Sous-solage;Travail du sol;Le sous-solage est une operation dont le but est de regenerer la structure des horizons de sol situes sous le fond de labour. Realise avec un outil a dents droites (sous-soleuse), avec pour buts d ameliorer la croissance en profondeur des racines et favoriser le drainage de l eau en exces. La profondeur de travail varie entre 50 et 85 cm. (Fiches AgroParisTech 2005);nc;nc +Strip-till;Strip-till;Travail du sol;Le strip-till est une technique reposant sur l implantation d une culture dans une bande de terre travaillee sur 15-23 cm, technique utilisee pour le mais. (dicoagroecologie.fr 2016);nc;nc +TCSL - travail profond;TCSL - travail profond;Travail du sol;Le travail simplifie sans labour - travail profond est un travail profond jusqu'au fond de labour (15-30 cm) qui restructure le sol en le fissurant sans perturber la disposition des couches de sol. Les outils utilises sont a lames droites ou obliques equipees de socs (ex. chisel, cover-crop). (Guide pratique Techniques culturales sans labour en Bretagne 2008);nc;nc +TCSL - travail superficiel;TCSL - travail superficiel;Travail du sol;Le travail simplifie sans labour - travail superficiel est une technique permettant de melanger les residus de culture tout en en laissant parfois en surface pour limiter l erosion, sans retournement. Cette technique est un pseudo-labour a une profondeur inferieure a 15 cm. (dicoagroecologie.fr 2016;Guide pratique Techniques culturales sans labour en Bretagne 2008);Guide pratique Techniques culturales sans labour en Bretagne 2008) diff --git a/src/test/resources/data/pros/itk_liste_intrants.csv b/src/test/resources/data/pros/itk_liste_intrants.csv new file mode 100644 index 000000000..4f064425b --- /dev/null +++ b/src/test/resources/data/pros/itk_liste_intrants.csv @@ -0,0 +1,21 @@ +Nom commercial produit;Nom element ou matiere active;Concentration element ou matiere active;Unite +Amistar;Azoxystrobine;250;g.L-1 +Atrazine;Atrazine;9999; +Axe N+P bio;N;6;% MS +Axe N+P bio;P;9999; +Basamais;Bentazone;480;g.L-1 +Best Y;Pyrimicarbe;100;g.L-1 +Best Y;Deltamethrine;5;g.L-1 +Cykocel C5;chlormequat-chlorure;460;g.L-1 +Cypermethrine;Cypermethrine;9999; +Decis;Deltamethrine;100;g.L-1 +Foxpro D;Bifenox;300;g.L-1 +Foxpro D;Ioxynil;92;g.L-1 +Foxpro D;MCPP-P;260;g.L-1 +Horizon EW;Tebuconazole;250;g.L-1 +Lentagrand;Pyridate;9999; +Moddus;Trinexapac-ethyl;250;g.L-1 +Ogam;Kresoximethyl;9999; +Ogam;Epoxiconazole;9999; +Quintil;Isoproturon;500;g.L-1 +Solution 39;N;9999; diff --git a/src/test/resources/data/pros/itk_materiel.csv b/src/test/resources/data/pros/itk_materiel.csv new file mode 100644 index 000000000..e964f4fbe --- /dev/null +++ b/src/test/resources/data/pros/itk_materiel.csv @@ -0,0 +1,85 @@ +Nom du materiel_fr;Nom du materiel_en;Nom du type intervention;Description;Source;Commentaire_fr;Commentaire_en +Distributeur engrais;nc;Apport_engrais_phytosanitaires_autres;Le distributeur d engrais est un materiel permettant d epandre une quantite determinee d engrais solides.;Fiches AgroParisTech 2005;; +Epandeur centrifuge;nc;Apport_engrais_phytosanitaires_autres;;;; +Manuel;nc;Apport_engrais_phytosanitaires_autres;ex. arrosoir;;; +Pulverisateur;nc;Apport_engrais_phytosanitaires_autres;Le pulverisateur est un outil servant a epandre une certaine dose de produit phytosanitaire ou d engrais liquide sous forme de fines gouttel;Fiches AgroParisTech 2005;; +Z_Apport_engrais_phytosanitaires_Autre;nc;Apport_engrais_phytosanitaires_autres;;;; +Epandeur herissons horizontaux;nc;Apport_PRO et amendement;L epandeur a herissons horizontaux est un materiel utilise pour epandre des produits organiques solides. Avantages : rapidite, fort tonnage;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;; +Epandeur herissons horizontaux et table epandage;nc;Apport_PRO et amendement;L epandeur a herissons horizontaux equipe d une table d epandage est un materiel utilise pour epandre des produits organiques solides. Epand;Les bonnes pratiques d epandage du fumier, 2007;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre +Epandeur herissons verticaux;nc;Apport_PRO et amendement;L epandeur a herissons verticaux est un materiel utilise pour épandre des produits organiques solides. Epandeur a deux herissons verticaux b;Les bonnes pratiques d epandage du fumier, 2007;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre +Epandeur herissons verticaux et poussoir et guillo;nc;Apport_PRO et amendement;L epandeur a herissons verticaux equipe d un poussoir et d une guillotine est un materiel pour epandre les produits organiques solides. Avan;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;; +Epandeur herissons verticaux et table epandage;nc;Apport_PRO et amendement;L epandeur a herissons verticaux equipe d une table d epandage est un materiel utilise pour epandre les produits organiques solides. Avantag;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;; +Manuel;nc;Apport_PRO et amendement;ex. fourche;;; +Rampes a pandillard sans tonne;nc;Apport_PRO et amendement;[Pour produits organiques liquides. L'épandage sans tonne permet des epandages en sortie hiver sur culture sans abimer la culture];[Les pe;Les bonnes pratiques d epandage du lisier, 2007;Guide des bonnes pratiques environnementales d elevage 2010. +Tonne a liser a injecteur a rainures ouvertes;nc;Apport_PRO et amendement;La tonne a lisier injecteur a rainures ouvertes (ou sillon ouvert) est un materiel utilise pour epandre les produits organiques liquides et;Guide des bonnes pratiques environnementales d elevage 2010;BREF 2017;BREF 2017 +Tonne a lisier a enfouisseur a rainures fermees;nc;Apport_PRO et amendement;La tonne a lisier enfouisseur a rainures fermees (ou sillon ferme) est un materiel utilise pour epandre les produits organiques liquides et;Guide des bonnes pratiques environnementales d elevage 2010;BREF 2017;BREF 2017 +Tonne a lisier a enfouisseur ou injecteur;nc;Apport_PRO et amendement;[La tonne a lisier enfouisseur est un materiel utilise pour epandre les produits organiques liquides et les enfouir en meme temps. Avantage;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;Gu;Gu +Tonne a lisier a pandillard (ou rampe a pandillard;nc;Apport_PRO et amendement;[La tonne a lisier a pandillard est un materiel utilise pour epandre les produits organiques liquides. Avantage : regularite apport, grande;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;Gu;Gu +Tonne a lisier buse pallette;nc;Apport_PRO et amendement;[La tonne a lisier a palette est un materiel utilise pour epandre les produits organiques liquides. Avantage : simple, rapidite, differents;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;Gu;Gu +Tonne a lisier rampe a buses pallette;nc;Apport_PRO et amendement;La tonne a lisier rampe a buses pallette est un materiel utilise pour epandre les produits organiques liquides;[Les rampes d epandages dep;Guide des bonnes pratiques environnementales d elevage 2010.;Guide des bonnes pratiques environnementales d elevage 2010. +Z_Apport_PRO et amendement_Autre;nc;Apport_PRO et amendement;;;; +Canon;nc;Irrigation;Un canon est un materiel employe en irrigation;;; +Goutte a goutte;nc;Irrigation;Materiel utilise en irrigation;;; +Microaspertion;nc;Irrigation;Materiel utilise en irrigation;;; +Rampe irrigation;nc;Irrigation;Materiel utilise en irrigation;;; +Sprinkler;nc;Irrigation;Materiel utilise en irrigation;;; +Z_Irrigation_Autre;nc;Irrigation;;;; +Arracheuse;nc;Recolte;L arracheuse est un outil recoltant les tubercules.;Fiches AgroParisTech 2005;ex. Betterave, pomme de terre;ex. Betterave, pomme de terre +Arracheuse effeuilleuse decolleteuse;nc;Recolte;L arracheuse effeuilleuse decolleteuse est un outil recoltant les betteraves, qui permet de faire l effeuillage, le decolletage et l arrache;Fiches AgroParisTech 2005;; +Broyeur;nc;Recolte;;;; +Ensileuse;nc;Recolte;L ensileuse aussi appele recolteuse-hacheuse-chargeuse, est utilisee pour la recolte du fourrage vert (ex. graminees, legumineuses, mais) ou;Fiches AgroParisTech 2005;; +Faucheuse;nc;Recolte;la faucheuse est un outil qui realise la premiere etape de la recolte des fourrages : la coupe. Elle coupe le fourrage a la base de la tige;Fiches AgroParisTech 2005;; +Faucheuse conditionneuse;nc;Recolte;La faucheuse conditionneuse est un outil qui realise en un seul passage, le fauchage (ou coupe) et le conditionnement (conditionner les tige;Fiches AgroParisTech 2005;; +Faucheuse conditionneuse andaineuse;nc;Recolte;La faucheuse conditionneuse andaineuse est un outil qui realise en un seul passage, le fauchage (ou coupe), le conditionnement et l andainag;Fiches AgroParisTech 2005;; +Machine a vendanger;nc;Recolte;;;; +Manuel;nc;Recolte;Ex. secateur;;; +Moisonneuse-Batteuse;nc;Recolte;La moissonneuse batteuse sert a recolter les cereales et les oleoproteagineux. Elle effectue simultanement et automatiquement la coupe des i;Fiches AgroParisTech 2005;; +Tonne a lisier;Tonne a lisier;Apport_PRO et amendement;L epandeur ou la tonne a lisier est un materiel utilise pour epandre du lisier (et autres produits liquides), aussi appele tonne a lisier. M xxx;Fiches AgroParisTech 2005;; +Planteuse;nc;Recolte;La planteuse de pommes de terre est un outil permettant la mise en terre de plants de differents calibres, a distance et profondeur regulier;Fiches AgroParisTech 2005;Ex. pomme de terre;Ex. pomme de terre +Ramasseuse presse;nc;Recolte;La ramasseuse presse est un outil permettant le ramassage et le pressage consiste a rammaser le fourrage andaine et le comprimer sous forme;Fiches AgroParisTech 2005;; +Z_Recolte_Autre;nc;Recolte;Ex. faneuse, endaineuse, enrhubaneuse, repiqueuse;;; +Semoir;nc;Semis;;;; +Semoir a disques;nc;Semis;;;; +Semoir a la volee;nc;Semis;;;; +Semoir classique en ligne;nc;Semis;Le semoir classique en ligne, aussi appele semoir multigraines ou semoir a cereales, est un outil permettant le semis regulier en lignes equ;Fiches AgroParisTech 2005;; +Semoir monograine;nc;Semis;Le semoir monograine, ou semoir de precision, permet de disposer les graines une a une en ligne a un espacement regulier prealablement defin;Fiches AgroParisTech 2005;; +Semoir semis-direct;nc;Semis;Le semoir 'direct' utilise en semis direct est equipe de disques ou de dents capables de positionner la graine au contact du sol en decoupan;References Agriculture et Environnement ADEME, 2015;dicoagroecologie.fr 2017;Guide pratique Techniques cultirales sans labour en Bretagn +Z_Semis_Autre;nc;Semis;;;; +Beche;nc;Travail du sol;La beche est utilisee principalement pour les operations de dechaumage. Permet de travailler rapidement en assurant un bon melange de la ter;Fiches AgroParisTech 2005;; +Bineuse;nc;Travail du sol;La bineuse est utilisee pour un travail tres superficiel d entretien du sol et de binage dans des cultures disposees en ligne (ex. betterave;Fiches AgroParisTech 2005;; +Charrue;nc;Travail du sol;La charrue est utilisee pour realiser le labour. Outil employe pour realiser un travail du sol profond avec melange et retournement des couc;Guide pratique Techniques culturales sans labour En Bretagne 2008;; +Charrue a disques;nc;Travail du sol;La charrue a disques est utilisee en sols superficiels et caillouteux en conditions de travail generalement seches. Generalement utilisee en;Fiches AgroParisTech 2005;; +Charrue a versoir/socs;nc;Travail du sol;La charrue a versoir est aussi appelee charrue a socs ([Piece travaillante de la charrue, qui decoupe horizontalement la bande de terre et e;Livre les machines agricoles, 2015;Fiches AgroParisTech 2005;Fiches AgroParisTech 2005 +Charrue butteuse;nc;Travail du sol;La charrue butteuse est aussi appelee billonneuse, rigoleuse, fossoyeuse;avec un corps butteur (comme pour les charrues vigneronnes).;Fiches AgroParisTech 2005;Fiches AgroParisTech 2005 +Charrue de viticulture;nc;Travail du sol;La charrue de viticulture est aussi appelee charrue vigneronne ou charrue decavaillonneuse;Fiches AgroParisTech 2005;; +Charrue dechaumeuse;nc;Travail du sol;La charrue dechaumeuse permet de realiser un labour tres peu profond (10-15 cm) pour une operation de dechaumage ou pour un pseudo-labour (o;Fiches AgroParisTech 2005;; +Charrue defonceuse;nc;Travail du sol;La charrue defonceuse, aussi appelee defonceuse, realise un travail tres profond (40-80 cm) pour preparer l implantation d une culture peren;Fiches AgroParisTech 2005;Larousse.fr;Larousse.fr +Chisel;nc;Travail du sol;Le chisel est un outil possedant des lames droites ou obliques equipees de socs ([Piece travaillante de la charrue, qui decoupe horizontalem;Guide pratique Techniques culturales sans labour En Bretagne 2008;; +Cover-crop;nc;Travail du sol;Le cover-crop est un outil possedant des lames droites ou obliques equipees de socs ([Piece travaillante de la charrue, qui decoupe horizont;Guide pratique Techniques culturales sans labour En Bretagne 2008;; +Cultivateur;nc;Travail du sol;Le cultivateur est une famille d outils a dents qui fendillent la terre sur leur passage. Les mottes projetees lateralement s entrechoquent,;Livre les machines agricoles 2015;; +Cultivateur leger;nc;Travail du sol;Le cultivateur leger est aussi appele canadien ou vibroculteur. Il est utilise pour preparer le lit de semence.;Fiches AgroParisTech 2005;; +Cultivateur lourd;nc;Travail du sol;Le cultivateur lourd est aussi appele canadien ou chisel. Il est utilise pour dechaumer voire decompacter. Outil utilise pour realiser un tr;Fiches AgroParisTech 2005;Guide pratique Techniques culturales sans labour En Bretagne 2008;Guide pratique Techniques culturales sans labour En Bretagne 2008 +Cultivateur rotatif;nc;Travail du sol;Le cultivateur rotatif est un outil tres utilise en maraichage, puis en grandes cultures depuis les annees 1970. Realise un travail d emiett;Fiches AgroParisTech 2005;; +Cultivateur rotatif avec axe horizontal;nc;Travail du sol;Le cultivateur rotatif avec axe horizontal est aussi appele rotalabour. Cet outil sert a realiser un TCSL - travail simplifie. C est un outi;Guide pratique Techniques culturales sans labour En Bretagne 2008;; +Dechaumeur a dents;nc;Travail du sol;Le dechaumeur a dents est utilise pour dechaumer.;lafranceagricole.fr;; +Dechaumeur a disques;nc;Travail du sol;Le dechaumeur a disques est utilise pour ameublir le sol et detruire les mauvaises herbes. Aussi appele dechaumeuse a disques ou pulverisate;Fiches AgroParisTech 2005;; +Dechaumeur dit neo dechaumeur;nc;Travail du sol;;;; +Decompacteur;nc;Travail du sol;Le decompacteur permet de realiser un decompactage, c est a dire un travail du sol profond (25-40 cm) sans retournement. Utile quand necessi;Fiches AgroParisTech 2005;; +Decompacteur rotatif;nc;Travail du sol;Le decompacteur rotatif est un outil de travail profond, le decompactage profond, anime par la prise de force du tracteur, dont les dents to;Fiches AgroParisTech 2005;; +Herse;nc;Travail du sol;La herse est un outil utilise pour les operation de preparation du lit de semence. La herce permet d ameublir superficiellement le sol, de n;Fiches AgroParisTech 2005;; +Herse alternative;nc;Travail du sol;La herse alternative, ou herse a barres oscillantes, est un outil de reprise surperficielle de labour et preparation du lit de semence, peu;Fiches AgroParisTech 2005;; +Herse etrille;nc;Travail du sol;La herse etrille est une herse equipe de panneaux articules et independants sur lesquels sont fixes de longues dents souples montees sur res;Les fiches techniques du reseau GAB/FRAB Cultures et desherbage fiche n2 herse etrille;; +Herse rotative;nc;Travail du sol;La herse rotative est un outil de preparation du lit de semence, peu encombrant qui peut etre associe a d autres outils. Permet de realiser;Fiches AgroParisTech 2005;; +Houe rotative;nc;Travail du sol;La houe rotative est un outil simple d'utilisation qui nécessite peu de réglages. La houe est à privilégier en sols battants pour sa fonctio;Arvalis.fr;; +Machine a becher;nc;Travail du sol;La machine a becher, aussi appelee charrue a beches rotatives ou roto-beche, est un outil mecanique tracte qui effectue un travail du sol pr;Fiches AgroParisTech 2005;; +Motoculteur;nc;Travail du sol;Le motoculteur est [Engin automoteur a un seul essieu pour realiser diverses façons culturales, utilise en jardinage, en culture maraichere;Larousse.fr;; +Planche niveleuse;nc;Travail du sol;;;; +Preleveur_geonor;nc;Travail du sol;;;; +Pulverisateur a disques;nc;Travail du sol;Le pulverisateur a disques est un outil equipe de dents qui sert a ameublir le sol et a detruire les mauvaises herves, pour preparer le lit;Livre les machines agricoles 2015;cecema.ma;cecema.ma +Rouleaux;nc;Travail du sol;rouleaux qui servent a preparer le lit de semence, a niveler le sol;;; +Rouleaux crosskill;nc;Travail du sol;;;; +Sous-soleuse;nc;Travail du sol;La sous-soleuse, aussi appelee decompacteur lourd, est un instrument de sous-solage et assouchement;profondeur de travail allant a 75-110;Livre les machines agricoles 2015;Fiches AgroParisTech 2005 +Strip-tiller;nc;Travail du sol;Le strip-tiller est un outil pour realiser du travail du sol simplifie en agriculture de conservation, visant a preparer une ligne de semis;Reference Agriculture & Environnement ADEME 2015;Agroequipement, Perspectives agricoles 2013;Agroequipement, Perspectives agricoles 2013 +Vibroculteur;nc;Travail du sol;Reprise de labour;;; +Z_Travail du sol_Autre;nc;Travail du sol;ex. rouleaux qui servent a preparer le lit de semence, a niveler le sol;;; +Epandeur_produits granule ou poudre;Epandeur_produits granule ou poudre;Apport_engrais_phytosanitaires_autres;L epandeur a chaux est un materiel utilise pour epandre les produits organiques sous forme de granules ou de poudre. Adapte a produit pulver xxx;Guide Les produits organiques utilisables en agriculture en LR, Tome 1, Chapitre 7 Epandre les produits organiques avec le bon materiel;; diff --git a/src/test/resources/data/pros/itk_observation_qualitative.csv b/src/test/resources/data/pros/itk_observation_qualitative.csv new file mode 100644 index 000000000..a1bc2d957 --- /dev/null +++ b/src/test/resources/data/pros/itk_observation_qualitative.csv @@ -0,0 +1,70 @@ +Libelle observation qualitative_key;Libelle observation qualitative_fr;Libelle observation qualitative_en;Type observation qualitative +chenopode;Chenopode;Chenopode;Adventices +coquelicot;Coquelicot;Coquelicot;Adventices +folle_avoine;Folle avoine;Folle avoine;Adventices +gaillet;Gaillet;Gaillet;Adventices +myosotis;Myosotis;Myosotis;Adventices +renoncule_des_champs;Renoncule des champs;Renoncule des champs;Adventices +renouee;Renouee;Renouee;Adventices +repousse_de_betteraves;Repousse de betteraves;Repousse de betteraves;Adventices +repousse_de_cereales;Repousse de cereales;Repousse de cereales;Adventices +repousse_de_pomme_de_terre;Repousse de pomme de terre;Repousse de pomme de terre;Adventices +rumex;Rumex;Rumex;Adventices +liseron;Liseron;Liseron;Adventices +morelle;Morelle;Morelle;Adventices +amarante;Amarante;Amarante;Adventices +setaire_digitaire;Setaire_Digitaire;Setaire_Digitaire;Adventices +senecon;Senecon;Senecon;Adventices +vulpin;Vulpin;Vulpin;Adventices +z_adventices_autre;Z_Adventices_Autre;Z_Adventices_Autre;Adventices +corbeaux;Corbeaux;Corbeaux;Gibier +sanglier;Sanglier;Sanglier;Gibier +z_gibier_autre;Z_Gibier_Autre;Z_Gibier_Autre;Gibier +azote;Azote;Azote;Carence +phosphore;Phosphore;Phosphore;Carence +potassium;Potassium;Potassium;Carence +magnesium;Magnesium;Magnesium;Carence +calcium;Calcium;Calcium;Carence +fer;Fer;Fer;Carence +bore;Bore;Bore;Carence +manganese;Manganese;Manganese;Carence +z_carence_autre;Z_Carence_Autre;Z_Carence_Autre;Carence +aluminium;Aluminium;Aluminium;Phyto-toxicite_element trace mineral +cuivre;Cuivre;Cuivre;Phyto-toxicite_element trace mineral +z_phytotoxicite_trace_mineral_Autre;Z_Phytotoxicite_trace mineral_Autre;Z_Phytotoxicite_trace mineral_Autre;Phyto-toxicite_element trace mineral +z_phytotoxicite_compose_organique_Autre;Z_Phytotoxicite_compose organique_Autre;Z_Phytotoxicite_compose organique_Autre;Phyto-toxicite_compose organique +grele;Grele;Grele;Intemperies +foudre;Foudre;Foudre;Intemperies +gel;Gel;Gel;Intemperies +hydromorphie_saisonniere;Hydromorphie saisonniere;Hydromorphie saisonniere;Intemperies +innondation;Innondation;Innondation;Intemperies +secheresse;Secheresse;Secheresse;Intemperies +z_Intemperies_Autre;Z_Intemperies_Autre;Z_Intemperies_Autre;Intemperies +black-rot;Black-rot;Black-rot;Maladie cryptogamique +mildiou;Mildiou;Mildiou;Maladie cryptogamique +oidium;Oidium;Oidium;Maladie cryptogamique +pietin-echaudage;Pietin-echaudage;Pietin-echaudage;Maladie cryptogamique +pietin-verse;Pietin-verse;Pietin-verse;Maladie cryptogamique +rouille_noire;Rouille noire;Rouille noire;Maladie cryptogamique +septoriose;Septoriose;Septoriose;Maladie cryptogamique +tavelure;Tavelure;Tavelure;Maladie cryptogamique +eutypiose;Eutypiose;Eutypiose;Maladie cryptogamique +esca/bda;Esca/BDA;Esca/BDA;Maladie cryptogamique +z_maladie_cryptogamique_autre;Z_Maladie cryptogamique_Autre;Z_Maladie cryptogamique_Autre;Maladie cryptogamique +anguillule;Anguillule;Anguillule;Ravageur parasite +cecydomie;Cecydomie;Cecydomie;Ravageur parasite +cicadelle;Cicadelle;Cicadelle;Ravageur parasite +chrysomele;Chrysomele;Chrysomele;Ravageur parasite +doryphore;Doryphore;Doryphore;Ravageur parasite +lema;Lema;Lema;Ravageur parasite +mouche_grise;Mouche grise;Mouche grise;Ravageur parasite +nematode;Nematode;Nematode;Ravageur parasite +puceron;Puceron;Puceron;Ravageur parasite +tordeuses_de_la_grappe;Tordeuses de la grappe;Tordeuses de la grappe;Ravageur parasite +acariens;Acariens;Acariens;Ravageur parasite +pyrale;Pyrale;Pyrale;Ravageur parasite +z_ravageur_parasite_autre;Z_Ravageur parasite_Autre;Z_Ravageur parasite_Autre;Ravageur parasite +court-noue;Court-noue;Court-noue;Virose +enroulement;Enroulement;Enroulement;Virose +z_virose_autre;Z_Virose_Autre;Z_Virose_Autre;Virose +flavescence_doree;Flavescence doree;Flavescence doree;Phytoplasme diff --git a/src/test/resources/data/pros/itk_type_intervention.csv b/src/test/resources/data/pros/itk_type_intervention.csv new file mode 100644 index 000000000..4090690b2 --- /dev/null +++ b/src/test/resources/data/pros/itk_type_intervention.csv @@ -0,0 +1,9 @@ +Libelle type intervention_key;Libelle type intervention_fr;Libelle type intervention_en;Description;Source;Commentaire_fr;Commentaire_en +apport_pro_et_amendement;Apport_PRO et amendement;Apport_PRO et amendement;;;; +apport_engrais_phytosanitaires_autres;Apport_engrais_phytosanitaires_autres;Apport_engrais_phytosanitaires_autres;[Les produits destinés à améliorer les propriétés du sol sont des amendements];UNIFA;; +irrigation;Irrigation;Irrigation;;;; +plantation;Plantation;Plantation;;;; +recolte;Recolte;Recolte;;;; +semis;Semis;Semis;;;; +travail_du_sol;Travail du sol;Travail du sol;;;; +z_intervention_autre;Z_Intervention_Autre;Z_Intervention_Autre;;;; diff --git a/src/test/resources/data/pros/itk_type_observation_qualitative.csv b/src/test/resources/data/pros/itk_type_observation_qualitative.csv new file mode 100644 index 000000000..e71c7fe89 --- /dev/null +++ b/src/test/resources/data/pros/itk_type_observation_qualitative.csv @@ -0,0 +1,12 @@ +Libelle type observation qualitative_key;Libelle type observation qualitative_fr;Libelle type observation qualitative_en +adventices;Adventices;Adventices +carence;Carence;Carence +gibier;Gibier;Gibier +intemperies;Intemperies;Intemperies +maladie_cryptogamique;Maladie cryptogamique;Maladie cryptogamique +ravageur_parasite;Ravageur parasite;Ravageur parasite +phyto-toxicite_element_trace_mineral;Phyto-toxicite_element trace mineral;Phyto-toxicite_element trace mineral +phyto-toxicite_compose_organique;Phyto-toxicite_compose organique;Phyto-toxicite_compose organique +virose;Virose;Virose +z_Autre;Z_Autre;Z_Autre +phytoplasme;Phytoplasme;Phytoplasme diff --git a/src/test/resources/data/pros/liste_de_raisonnement.csv b/src/test/resources/data/pros/liste_de_raisonnement.csv index 828b65be1..f8c39d310 100644 --- a/src/test/resources/data/pros/liste_de_raisonnement.csv +++ b/src/test/resources/data/pros/liste_de_raisonnement.csv @@ -1,4 +1,4 @@ -Libellé de la liste de raisonnement_fr;Libellé de la liste de raisonnement_en -Dose apport PRO;OR input dose management -Frequence apport PRO;OR input frequency management -Mode apport PRO;OR input management +Libelle de la liste de raisonnement_key;Libelle de la liste de raisonnement_fr;Libelle de la liste de raisonnement_en +dose_apport_pro;Dose apport PRO;OR input dose management +frequence_apport_pro;Frequence apport PRO;OR input frequency management +mode_apport_pro;Mode apport PRO;OR input management diff --git a/src/test/resources/data/pros/parcelle_complet.csv b/src/test/resources/data/pros/parcelle_complet.csv index 8820df36f..40a798043 100644 --- a/src/test/resources/data/pros/parcelle_complet.csv +++ b/src/test/resources/data/pros/parcelle_complet.csv @@ -1,4 +1,4 @@ -Code du dispositif_Nom du lieu;Nom du bloc_code du bloc;Nom de la parcelle élémentaire;Code de la parcelle élémentaire;Système de projection;Latitude;Longitude +Code du dispositif_Nom du lieu;Nom du bloc_code du bloc;Nom de la parcelle elementaire;Code de la parcelle elementaire;Systeme de projection;Latitude;Longitude qa_feucherolles;bloc_1_bloc_1;101;101;;; qa_feucherolles;bloc_1_bloc_1;102;102;;; qa_feucherolles;bloc_1_bloc_1;103;103;;; diff --git a/src/test/resources/data/pros/pays.csv b/src/test/resources/data/pros/pays.csv index 1a8b3fe43..90c46b95b 100644 --- a/src/test/resources/data/pros/pays.csv +++ b/src/test/resources/data/pros/pays.csv @@ -1,32 +1,32 @@ -Nom du pays_fr;Nom du pays_en -Allemagne;Germany -Autriche;Austria -Belgique;Belgium -Bulgarie;Bulgaria -Chypre;Cyprus -Croatie;Croatia -Danemark;Denmark -Espagne;Spain -Estonie;Estonia -Finlande;Finland -France;France -Grece;Greece -Hongrie;Hungary -Irlande;Ireland -Italie;Italy -Lettonie;Latvia -Lituanie;Lithuania -Luxembourg;Luxembourg -Malte;Malta -Pays Bas;Netherlands -Pologne;Poland -Portugal;Portugal -Roumanie;Romania -Royaume Uni;United Kingdom -Republique Tcheque;Czech Republic -Slovenie;Slovenia -Suede;Sweden -Slovaquie;Slovakia -Senegal;Senegal -Cote d Ivoire;Ivory Coast -Canada;Canada +Nom du pays_key;Nom du pays_fr;Nom du pays_en +allemagne;Allemagne;Germany +autriche;Autriche;Austria +belgique;Belgique;Belgium +bulgarie;Bulgarie;Bulgaria +chypre;Chypre;Cyprus +croatie;Croatie;Croatia +danemark;Danemark;Denmark +espagne;Espagne;Spain +estonie;Estonie;Estonia +finlande;Finlande;Finland +france;France;France +grece;Grece;Greece +hongrie;Hongrie;Hungary +irlande;Irlande;Ireland +italie;Italie;Italy +lLettonie;Lettonie;Latvia +lituanie;Lituanie;Lithuania +luxembourg;Luxembourg;Luxembourg +malte;Malte;Malta +pays_bas;Pays Bas;Netherlands +pologne;Pologne;Poland +portugal;Portugal;Portugal +coumanie;Roumanie;Romania +coyaume_cni;Royaume Uni;United Kingdom +republique_ccheque;Republique Tcheque;Czech Republic +slovenie;Slovenie;Slovenia +suede;Suede;Sweden +slovaquie;Slovaquie;Slovakia +senegal;Senegal;Senegal +cote_d_Ivoire;Cote d Ivoire;Ivory Coast +canada;Canada;Canada diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index 633b25827..7734192a9 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -108,130 +108,144 @@ references: Libelle du type de lieu_key: Libelle du type de lieu_fr: Libelle du type de lieu_en: - Système_projection: - keyColumns: [ Nom du systeme de projection ] + systeme_projection: + keyColumns: [ Nom du systeme de projection_key ] columns: + Nom du systeme de projection_key: Nom du systeme de projection: Definition_fr: Definition_En: - Type_dispositif: - keyColumns: [ Libelle du type de dispositif_fr ] + type_dispositif: + keyColumns: [ Libelle du type de dispositif_key ] columns: + Libelle du type de dispositif_key: Libelle du type de dispositif_fr: Libelle du type de dispositif_en: - Echelle_prélèvement: - keyColumns: [ Nom de l'échelle de prélèvement_fr ] - columns: - Nom de l'échelle de prélèvement_fr: - Nom de l'échelle de prélèvement_en: - Type_culture: - keyColumns: [ Libellé du type culture_fr ] - columns: - Libellé du type culture_fr: - Libellé du type culture_en: - Type_document: - keyColumns: [ Libellé du type de document ] - columns: - Libellé du type de document: - Système conduite dispositif: - keyColumns: [ Libellé du système de conduite de l'éssai_fr ] - columns: - Libellé du système de conduite de l'éssai_fr: - Libellé du système de conduite de l'éssai_en: - Liste raisonnement: - keyColumns: [ Libellé de la liste de raisonnement_fr ] - columns: - Libellé de la liste de raisonnement_fr: - Libellé de la liste de raisonnement_en: - Valeur raisonnement: - keyColumns: [ Libellé de la liste de raisonnement_fr, Libellé du raisonnement_fr ] - columns: - Libellé de la liste de raisonnement_fr: - Libellé du raisonnement_fr: - Libellé du raisonnement_en: - Thématique étudiée: - keyColumns: [ Libellé de la thématique étudiée_fr ] - columns: - Libellé de la thématique étudiée_fr: - Libellé de la thématique étudiée_en: + echelle_prelevement: + keyColumns: [ Nom echelle de prelevement_key ] + columns: + Nom echelle de prelevement_key: + Nom echelle de prelevement_fr: + Nom echelle de prelevement_en: + type_culture: + keyColumns: [ Libelle du type de culture_key ] + columns: + Libelle du type de culture_key: + Libelle du type de culture_fr: + Libelle du type de culture_en: + type_document: + keyColumns: [ Libelle du type de document_key ] + columns: + Libelle du type de document_key: + Libelle du type de document: + systeme_conduite_dispositif: + keyColumns: [ Libelle du systeme de conduite essai_key ] + columns: + Libelle du systeme de conduite essai_key: + Libelle du systeme de conduite essai_fr: + Libelle du systeme de conduite essai_en: + liste_raisonnement: + keyColumns: [ Libelle de la liste de raisonnement_key ] + columns: + Libelle de la liste de raisonnement_key: + Libelle de la liste de raisonnement_fr: + Libelle de la liste de raisonnement_en: + valeur_raisonnement: + keyColumns: [ Libelle de la liste de raisonnement, Libelle du raisonnement_fr,Libelle du raisonnement_en ] + columns: + Libelle de la liste de raisonnement: + Libelle du raisonnement_fr: + Libelle du raisonnement_en: + thematique_etudiee: + keyColumns: [ Libelle de la thematique etudiee_key ] + columns: + Libelle de la thematique etudiee_key: + Libelle de la thematique etudiee_fr: + Libelle de la thematique etudiee_en: Code_bloc: keyColumns: [ Code du bloc ] columns: Code du bloc: - Code de la parcelle élémentaire: - keyColumns: [ Code de la parcelle élémentaire ] + Code_parcelle_elementaire: + keyColumns: [ Code de la parcelle elementaire ] columns: - Code de la parcelle élémentaire: + Code de la parcelle elementaire: Statut_placette: - keyColumns: [ Libellé du statut de la placette_fr ] - columns: - Libellé du statut de la placette_fr: - Libellé du statut de la placette_en: - Réseau essai ou Observatoire: - keyColumns: [ Nom de l'observatoire ] - columns: - Nom de l'observatoire: - Définition_fr: - Définition_en: - Type_traitement: - keyColumns: [ Libellé du type de traitement_fr ] - columns: - Libellé du type de traitement_fr: - Libellé du type de traitement_en: - Type_facteur: - keyColumns: [ Libellé du type de facteur_fr ] - columns: - Libellé du type de facteur_fr: - Libellé du type de facteur_en: - Facteur: - keyColumns: [ Libellé du type de facteur,Libellé du facteur_fr ] - columns: - Libellé du type de facteur: - Libellé du facteur_fr: - Libellé du facteur_en: - Peut être une information générale de conduite des traitements (oui/non): - Sera associé à une nomenclature de PRO (non/oui): - Role de la personne ressource: - keyColumns: [ Libellé du rôle de la personne ressource_fr ] + keyColumns: [ Libelle du statut de la placette_fr ] columns: - Libellé du rôle de la personne ressource_fr: - Libellé du rôle de la personne ressource_en: - Type_structure: - keyColumns: [ Libellé du type de structure_fr ] - columns: - Libellé du type de structure_fr: - Libellé du type de structure_en: - Role_structure: - keyColumns: [ Libellé du rôle de la structure_fr ] - columns: - Libellé du rôle de la structure_fr: - Libellé du rôle de la structure_en: - Pays: - keyColumns: [ Nom du pays_fr ] + Libelle du statut de la placette_fr: + Libelle du statut de la placette_en: + reseau_essai_ou_observatoire: + keyColumns: [ Nom observatoire ] columns: + Nom observatoire: + Definition_fr: + Definition_en: + type_traitement: + keyColumns: [ Libelle du type de traitement_key] + columns: + Libelle du type de traitement_key: + Libelle du type de traitement_fr: + Libelle du type de traitement_en: + type_facteur: + keyColumns: [ Libelle du type de facteur_key ] + columns: + Libelle du type de facteur_key: + Libelle du type de facteur_fr: + Libelle du type de facteur_en: + facteur: + keyColumns: [ Libelle du type de facteur,Libelle du facteur_fr ] + columns: + Libelle du type de facteur: + Libelle du facteur_fr: + Libelle du facteur_en: + Peut être une information générale de conduite des traitements (oui/non): + Sera associé à une nomenclature de PRO (non/oui): + role_personne_ressource: + keyColumns: [ Libelle du role de la personne ressource_key ] + columns: + Libelle du role de la personne ressource_key: + Libelle du role de la personne ressource_fr: + Libelle du role de la personne ressource_en: + type_structure: + keyColumns: [ Libelle du type de structure_key ] + columns: + Libelle du type de structure_key: + Libelle du type de structure_fr: + Libelle du type de structure_en: + role_structure: + keyColumns: [ Libelle du role de la structure_fr ] + columns: + Libelle du role de la structure_fr: + Libelle du role de la structure_en: + pays: + keyColumns: [ Nom du pays_key ] + columns: + Nom du pays_key: Nom du pays_fr: Nom du pays_en: - Region: - keyColumns: [ Nom du pays,Nom de la région ] + region: + keyColumns: [ Nom du pays_fr,Nom de la region ] columns: - Nom du pays: - Nom de la région: - Departement: - keyColumns: [ Nom de la région,Nom du département ] + Nom du pays_fr: + Nom de la region: + departement: + keyColumns: [ Nom de la region,Nom du departement ] columns: - Nom de la région: - Nom du département: - Numéro du département: - Commune: - keyColumns: [ Nom du département,Code postal,Nom de la commune ] + Nom de la region: + Nom du departement: + Numéro du departement: + commune: + keyColumns: [ Nom du departement,Code postal,Nom de la commune ] columns: - Nom du département: + Nom du departement: Code postal: Nom de la commune: - Station expérimentale: - keyColumns: [ Nom de la station expérimentale ] + station_experimentale: + keyColumns: [ Nom de la station experimentale_key ] columns: - Nom de la station expérimentale: + Nom de la station experimentale_key: + Nom de la station experimentale: Structure: keyColumns: [ Nom de la structure,Equipe et/ou service ] columns: @@ -249,14 +263,14 @@ references: keyColumns: [ acbb ] columns: acbb: - Modalité du facteur: - keyColumns: [ Libellé du type de facteur,Libellé du facteur,Valeur de la modalité ] + Modalite_facteur: + keyColumns: [ Libelle du type de facteur,Libelle du facteur,Valeur de la modalite ] columns: - Libellé du type de facteur: - Libellé du facteur: - Valeur de la modalité: + Libelle du type de facteur: + Libelle du facteur: + Valeur de la modalite: Commentaire: - Lieu implantation: + lieu_implantation: keyColumns: [ Nom du lieu ] columns: Nom du lieu: @@ -267,75 +281,75 @@ references: Système de projection: Latitude: Longitude: - Application traitements Nom lieu sur parcelles: - keyColumns: [ Code du dispositif (Nom du lieu),Code de la parcelle élémentaire,Code du traitement ] + application_traitements_sur_parcelles: + keyColumns: [ Code du dispositif (Nom du lieu),Code de la parcelle elementaire,Code du traitement ] columns: Code du dispositif (Nom du lieu): - Code de la parcelle élémentaire: + Code de la parcelle elementaire: Code du traitement: Numéro de répétition: Libellé du Facteur: Valeur de la Modalité: Année de début d'application du traitement: Année de fin d'application du traitement: - Protocole général: - keyColumns: [ Nom protocole général ] + protocole_general: + keyColumns: [ Nom protocole general ] columns: - Nom protocole général: + Nom protocole general: Année de début d'application du protocole général: Année de fin d'application du protocole général: Utilisation du guide méthodologique Réseau PRO après 2015 (oui/non): - Raisonnements par protocole: + raisonnements_par_protocole: keyColumns: [ Nom du protocole,Libellé de la liste de raisonnement,Valeur du raisonnement ] columns: Nom du protocole: - Libellé de la liste de raisonnement: + Libelle de la liste de raisonnement: Valeur du raisonnement: Commentaire: - Objectif des thématiques étudiées par protocoles: - keyColumns: [ Nom du protocole,Libellé de la thématique étudiée,Objectif de la thématique_fr ] + objectif_des_thematiques_etudiees_par_protocoles: + keyColumns: [ Nom du protocole,Libelle de la thématique etudiee,Objectif de la thematique_fr ] columns: Nom du protocole: - Libellé de la thématique étudiée: - Objectif de la thématique_fr: - Objectif de la thématique_en: - Protocoles des dispositifs: + Libelle de la thématique etudiee: + Objectif de la thematique_fr: + Objectif de la thematique_en: + protocoles_des_dispositifs: keyColumns: [ Code du dispositif (Nom du lieu),Nom du protocole ] columns: Code du dispositif (Nom du lieu): Nom du protocole: - Association des statuts de placettes aux placettes: - keyColumns: [ Code de la parcelle élémentaire - Code du dispositif (Nom du lieu),Code de la placette,Libellé du statut de la placette ] + association_des_statuts_de_placettes_aux_placettes: + keyColumns: [ Code de la parcelle elementaire - Code du dispositif (Nom du lieu),Code de la placette,Libelle du statut de la placette ] columns: - Code de la parcelle élémentaire - Code du dispositif (Nom du lieu): + Code de la parcelle elementaire - Code du dispositif (Nom du lieu): Code de la placette: - Libellé du statut de la placette: - Rôle des personnes ressources par dispositif: + Libelle du statut de la placette: + role_des_personnes_ressources_par_dispositif: keyColumns: [ acbb ] columns: acbb: - Affiliation à un réseau d essais: - keyColumns: [ Code du dispositif (Nom du lieu),Nom du réseau d'essai ] + affiliation_reseau_essais: + keyColumns: [ Code du dispositif (Nom du lieu),Nom du reseau essai ] columns: Code du dispositif (Nom du lieu): - Nom du réseau d'essai: - Structures des stations expérimentales: - keyColumns: [ Nom de la structure,Précision (pôle et/ou unité et/ou équipe),Nom de la station expérimentale ] + Nom du reseau essai: + structures_des_stations_experimentales: + keyColumns: [ Nom de la structure,Precision (pole et/ou unite et/ou equipe),Nom de la station experimentale ] columns: Nom de la structure: - Précision (pôle et/ou unité et/ou équipe): - Nom de la station expérimentale: - Structures des observatoires: - keyColumns: [ Nom de la structure,Précision (pôle et/ou unité et/ou équipe),Observatoire ] + Precision (pole et/ou unite et/ou equipe): + Nom de la station experimentale: + structures_des_observatoires: + keyColumns: [ Nom de la structure,Precision (pole et/ou unite et/ou equipe),Observatoire ] columns: Nom de la structure: - Précision (pôle et/ou unité et/ou équipe): + Precision (pole et/ou unite et/ou equipe): Observatoire: - Structures des lieux: - keyColumns: [ Nom de la structure,Précision (pôle et/ou unité et/ou équipe),Nom du lieu ] + structures_des_lieux: + keyColumns: [ Nom de la structure,Precision (pole et/ou unito et/ou oquipe),Nom du lieu ] columns: Nom de la structure: - Précision (pôle et/ou unité et/ou équipe): + Precision (pole et/ou unito et/ou oquipe): Nom du lieu: dataTypes: donnees_prelevement_pro: diff --git a/src/test/resources/data/pros/region.csv b/src/test/resources/data/pros/region.csv index 04fab9695..fa674080d 100644 --- a/src/test/resources/data/pros/region.csv +++ b/src/test/resources/data/pros/region.csv @@ -1,4 +1,4 @@ -Nom du pays;Nom de la région +Nom du pays_fr;Nom de la region France;Auvergne-Rhone-Alpes France;Bourgogne-Franche Comte France;Bretagne diff --git a/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv b/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv index 4c6002181..d7d35e1fd 100644 --- a/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv +++ b/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv @@ -1,5 +1,5 @@ -Nom de l'observatoire;Définition_fr;Définition_en +Nom observatoire;Definition_fr;Definition_en ANAEE France;ANAlyses et Experimentations sur les Ecosystemes France;French ANAlysis and Experiment on Ecosystems Reseau MO;; -Reseau PRO;Reseau operationnel essais au champ etudiant la valeur agronomique et les impacts environnementaux et sanitaires des Produits Résiduaires Organiques recycles en agriculture;French operational network of field experiments devoted to the study of the organic residue recycling in agriculture +Reseau PRO;Reseau operationnel essais au champ etudiant la valeur agronomique et les impacts environnementaux et sanitaires des Produits Résiduaires Organiques recycles en agriculture;French operational network of field experiments devoted to the study of the organic residue recycling in agriculture SOERE PRO;Systeme Observation et Experimentation pour la Recherche en Environnement sur les impacts environnementaux du recyclage de produits residuaires organiques (PRO) sur les ecosystemes cultives;Long term field experiment network for research on the recycling of organic residues in agriculture diff --git a/src/test/resources/data/pros/role_de_la_personne_ressource.csv b/src/test/resources/data/pros/role_de_la_personne_ressource.csv index fad0cae3d..767f24001 100644 --- a/src/test/resources/data/pros/role_de_la_personne_ressource.csv +++ b/src/test/resources/data/pros/role_de_la_personne_ressource.csv @@ -1,7 +1,7 @@ -Libellé du rôle de la personne ressource_fr;Libellé du rôle de la personne ressource_en -Coordinateur ou chef de projet;Coordinator -Responsable scientifique;Scientific supervisor -Responsable technique;Technical supervisor -Intervenant;Operator -Gestionnaire dispositif;Device manager -Partenaire scientifique;Scientific partner +Libelle du role de la personne ressource_key;Libelle du role de la personne ressource_fr;Libelle du role de la personne ressource_en +coordinateur_ou_chef_de_projet;Coordinateur ou chef de projet;Coordinator +responsable_scientifique;Responsable scientifique;Scientific supervisor +responsable_technique;Responsable technique;Technical supervisor +intervenant;Intervenant;Operator +gestionnaire_dispositif;Gestionnaire dispositif;Device manager +partenaire_scientifique;Partenaire scientifique;Scientific partner diff --git a/src/test/resources/data/pros/station_experimentale.csv b/src/test/resources/data/pros/station_experimentale.csv index a5edf67ac..6ca9c3e0c 100644 --- a/src/test/resources/data/pros/station_experimentale.csv +++ b/src/test/resources/data/pros/station_experimentale.csv @@ -1,25 +1,25 @@ -Nom de la station expérimentale -Arvalis La Jaillere -CATE -CIRAD La Reunion -CIRAD Les Colimacons -Colombier -Domaine experimental de la Chambre d Agriculture du Vaucluse -Essai Lieuron -Ferme de Chaumontagne -INRA Colmar -INRA Domaine experimental de Couhins -INRA Domaine experimental de La Bouzule -INRA Grignon -INRA Rennes -INRA Rennes / Lycee du Rheu -Pas de station experimentale -Plateforme experimentale de la Hourre -Plumeliau 56 -Site experimental du CREAB -Station du Glazic SECL 22 -Station La Rimbaudais CER 35 -INRA UMR SAS Rennes -INRA Colmar - Domaine expérimental SEAV Colmar -Z_Inconnue -ISRA +Nom de la station experimentale_key;Nom de la station experimentale +arvalis_la_jaillere;Arvalis La Jaillere +cate;CATE +cirad_la_reunion;CIRAD La Reunion +cirad_les_colimacons;CIRAD Les Colimacons +colombier;Colombier +Domaine_experimental_de_la_chambre_d_cgriculture_du_vaucluse;Domaine experimental de la Chambre d Agriculture du Vaucluse +essai_lieuron;Essai Lieuron +ferme_de_fhaumontagne;Ferme de Chaumontagne +inra_folmar;INRA Colmar +inra_domaine_experimental_de_couhins;INRA Domaine experimental de Couhins +inra_domaine_experimental_de_la_bouzule;INRA Domaine experimental de La Bouzule +inra_grignon;INRA Grignon +inra_rennes;INRA Rennes +inra_rennes_lycee_du_rheu;INRA Rennes / Lycee du Rheu +pas_de_station_experimentale;Pas de station experimentale +Plateforme_experimentale_de_la_hourre;Plateforme experimentale de la Hourre +plumeliau_56;Plumeliau 56 +site_experimental_du_creab;Site experimental du CREAB +station_du_glazic_secl_22;Station du Glazic SECL 22 +station_la_rimbaudais_cer_35;Station La Rimbaudais CER 35 +inra_umr_sas_rennes;INRA UMR SAS Rennes +inra_colmar_domaine_expérimental_seav_colmar;INRA Colmar - Domaine expérimental SEAV Colmar +z_Inconnue;Z_Inconnue +isra;ISRA diff --git a/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv b/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv index 162d778a3..a6c30b728 100644 --- a/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv +++ b/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv @@ -1,4 +1,4 @@ -Libellé du système de conduite de l'essai_fr;Libellé du système de conduite de l'essai_en -Bas niveaux d'intrants;Low levels of inputs -Biologique;Organic farming -Non biologique;Non organic farming +Libelle du systeme de conduite essai_key;Libelle du systeme de conduite essai_fr;Libelle du systeme de conduite essai_en +bas_niveaux_d'intrants;Bas niveaux d'intrants;Low levels of inputs +biologique;Biologique;Organic farming +non_biologique;Non biologique;Non organic farming diff --git a/src/test/resources/data/pros/systeme_de_projection.csv b/src/test/resources/data/pros/systeme_de_projection.csv index 56ef14f6b..d543c1528 100644 --- a/src/test/resources/data/pros/systeme_de_projection.csv +++ b/src/test/resources/data/pros/systeme_de_projection.csv @@ -1,3 +1,3 @@ -Nom du système de projection;Définition_fr;Définition_en;; -GWS84;Systeme international; latitude et longitude en degres;Systeme international; latitude et longitude en degres -Lambert 93;Systeme français; projection cartographique en m;Systeme français; projection cartographique en m +Nom du systeme de projection_key;Nom du systeme de projection;Définition_fr;Définition_en +GWS84;GWS84;Systeme international; latitude et longitude en degres +Lambert_93;Lambert 93;Systeme français; projection cartographique en m diff --git a/src/test/resources/data/pros/thematique_etudiee.csv b/src/test/resources/data/pros/thematique_etudiee.csv index 534d05f66..fcf4f4e74 100644 --- a/src/test/resources/data/pros/thematique_etudiee.csv +++ b/src/test/resources/data/pros/thematique_etudiee.csv @@ -1,22 +1,22 @@ -Libellé de la thématique étudiée_fr;Libellé de la thématique étudiée_en;; -Azote : court terme (inferieur a 3 ans);Nitrogen: short term (lower than 3 years);; -Azote : long terme (superieur a 3 ans);Nitrogen: long term (longer than 3 years);; -Phosphore;Phosphorus;; -Potassium;Potassium;; -Magnesium; calcium;Magnesium; calcium -Soufre;Sulphur;; -Matiere organique (C; N);Organic matter (C; N) -Physique du sol;Physical effects;; -pH;pH;; -Salinite;Salinity;; -Elements traces metalliques;Trace elements;; -Contaminants traces organiques;Organic contaminants;; -Pathogenes;Pathogens;; -Qualite productions agricoles;Agricultural production quality;; -Biologie du sol;Soil biology;; -Ecotoxicologie;Ecotoxicology;; -Socio-economie;Socio-economy;; -Qualite eau;Water quality;; -Emissions gazeuses;Gaz emissions;; -Systeme de culture;Crop system;; -Valeur agronomique & impacts environnementaux;Valeur agronomique & impacts environnementaux;; +Libelle de la thematique etudiee_key;Libelle de la th�matique etudiee_fr;Libelle de la thematique etudiee_en;; +azote_court_terme_(inferieur_a_3_ans);Azote : court terme (inferieur a 3 ans);Nitrogen: short term (lower than 3 years);; +azote_long_terme_(superieur_a_3_ans);Azote : long terme (superieur a 3 ans);Nitrogen: long term (longer than 3 years);; +phosphore;Phosphore;Phosphorus;; +potassium;Potassium;Potassium;; +magnesium;Magnesium; calcium;Magnesium; calcium +soufre;Soufre;Sulphur;; +matiere_organique_(C);Matiere organique (C; N);Organic matter (C; N) +physique_du_sol;Physique du sol;Physical effects;; +phosphore;pH;pH;; +salinite;Salinite;Salinity;; +elements_traces_metalliques;Elements traces metalliques;Trace elements;; +contaminants_traces_organiques;Contaminants traces organiques;Organic contaminants;; +pathogenes;Pathogenes;Pathogens;; +qualite_productions_agricoles;Qualite productions agricoles;Agricultural production quality;; +biologie_du_sol;Biologie du sol;Soil biology;; +ecotoxicologie;Ecotoxicologie;Ecotoxicology;; +socio-economie;Socio-economie;Socio-economy;; +qualite_eau;Qualite eau;Water quality;; +emissions_gazeuses;Emissions gazeuses;Gaz emissions;; +systeme_de_culture;Systeme de culture;Crop system;; +valeur_agronomique_impacts_environnementaux;Valeur agronomique & impacts environnementaux;Valeur agronomique & impacts environnementaux;; diff --git a/src/test/resources/data/pros/type_de_culture.csv b/src/test/resources/data/pros/type_de_culture.csv index 23dbb353d..1b616bb2d 100644 --- a/src/test/resources/data/pros/type_de_culture.csv +++ b/src/test/resources/data/pros/type_de_culture.csv @@ -1,16 +1,12 @@ -Libellé du type de culture_fr;Libellé du type de culture_en -Arboriculture fruitiere;Fruit growing -Cultures energetiques;Energy crops -Cultures legumieres;Vegetable crops -Cultures tropicales ou exotiques annuelles;Annual tropical or exotic crops -Cultures tropicales ou exotiques perennes / semi-perennes;Perennial / semi-perennial tropical or exotic crops -Grandes cultures;Field crops -Prairie;Prairie -Prairie permanente;Meadow -Rotation a dominante cultures legumieres;Rotation with dominant vegetable crops -Rotation a dominante grandes cultures;Rotation with dominant field crops -Rotation a dominante prairie;Rotation with dominant meadow -Sol nu;Bare soil -Sylviculture;Silviculture -Viticulture;Vine growing -Z_Autre;Z_Autre +Libelle du type de culture_key;Libelle du type de culture_fr;Libelle du type de culture_en +arboriculture_fruitiere;Arboriculture fruitiere;Fruit growing +cultures_energetiques;Cultures energetiques;Energy crops +cultures_legumieres;Cultures legumieres;Vegetable crops +grandes_cultures;Grandes cultures;Field crops +prairie;Prairie;Prairie +prairie_permanente;Prairie permanente;Meadow +rotation_a_dominante_prairie;Rotation a dominante prairie;Rotation with dominant meadow +sol_nu;Sol nu;Bare soil +sylviculture;Sylviculture;Silviculture +viticulture;Viticulture;Vine growing +z_Autre;Z_Autre;Z_Autre diff --git a/src/test/resources/data/pros/type_de_dispositif.csv b/src/test/resources/data/pros/type_de_dispositif.csv index 7cfdbbbcc..f961fc3e6 100644 --- a/src/test/resources/data/pros/type_de_dispositif.csv +++ b/src/test/resources/data/pros/type_de_dispositif.csv @@ -1,9 +1,9 @@ -Libellé du type de dispositif_fr;Libellé du type de dispositif_en -Alpha-plan;Alpha-plan -Blocs;Blocks -Carre latin;Latin square -Criss-cross;Criss-cross -Demonstratif sans repetition;Demonstrative trial -Essai systeme sans repetition;System trial without repetition -Randomisation totale;Randomised -Split-plot;Split-plot +Libelle du type de dispositif_key;Libelle du type de dispositif_fr;Libelle du type de dispositif_en +alpha-plan;Alpha-plan;Alpha-plan +blocs;Blocs;Blocks +carre_latin;Carre latin;Latin square +criss-cross;Criss-cross;Criss-cross +demonstratif_sans_repetition;Demonstratif sans repetition;Demonstrative trial +essai_systeme_sans_repetition;Essai systeme sans repetition;System trial without repetition +randomisation_totale;Randomisation totale;Randomised +split-plot;Split-plot;Split-plot diff --git a/src/test/resources/data/pros/type_de_document.csv b/src/test/resources/data/pros/type_de_document.csv index 5e2d9f68e..2ef2c72da 100644 --- a/src/test/resources/data/pros/type_de_document.csv +++ b/src/test/resources/data/pros/type_de_document.csv @@ -1,11 +1,11 @@ -Libellé du type de document -Compte rendu / rapport experimentation -Fichier compilation donnees SOERE PRO -Fichier saisie Reseau PRO -Guide Methodologique Reseau PRO -Image -Inventaire essais Reseau PRO -Plan dispositif -Protocole conduite dispositif -Rapport stage -Document qualité +Libelle du type de document_key;Libelle du type de document +compte_rendu_rapport_experimentation;Compte rendu / rapport experimentation +fichier_compilation_donnees_soere_pro;Fichier compilation donnees SOERE PRO +fichier_saisie_reseau_pro;Fichier saisie Reseau PRO +guide_methodologique_reseau_pro;Guide Methodologique Reseau PRO +image;Image +inventaire_essais_reseau_pro;Inventaire essais Reseau PRO +plan_dispositif;Plan dispositif +protocole_conduite_dispositif;Protocole conduite dispositif +rapport_stage;Rapport stage +document_qualité;Document qualité diff --git a/src/test/resources/data/pros/type_de_facteur.csv b/src/test/resources/data/pros/type_de_facteur.csv index b3f4208cc..684a269b3 100644 --- a/src/test/resources/data/pros/type_de_facteur.csv +++ b/src/test/resources/data/pros/type_de_facteur.csv @@ -1,8 +1,8 @@ -Libellé du type de facteur_fr;Libellé du type de facteur_en -Fertilisation minerale;Mineral fertilization -Itineraire technique;Technical operations -Plantation plantes perennes / semi-perenne;Planting factors of perennial and semi-perennial crops -PRO;Organic residue -Rotation cultures;Crop rotation -Sans objet;Sans objet -Type apport fertilisant;Fertilizer supply type +Libelle du type de facteur_key;Libelle du type de facteur_fr;Libelle du type de facteur_en +fertilisation_minerale;Fertilisation minerale;Mineral fertilization +itineraire_technique;Itineraire technique;Technical operations +plantation_plantes_perennes_/_semi-perenne;Plantation plantes perennes / semi-perenne;Planting factors of perennial and semi-perennial crops +pro;PRO;Organic residue +rotation_cultures;Rotation cultures;Crop rotation +sans_objet;Sans objet;Sans objet +type_apport_fertilisant;Type apport fertilisant;Fertilizer supply type diff --git a/src/test/resources/data/pros/type_de_structure.csv b/src/test/resources/data/pros/type_de_structure.csv index d57f884b6..1b7167dc9 100644 --- a/src/test/resources/data/pros/type_de_structure.csv +++ b/src/test/resources/data/pros/type_de_structure.csv @@ -1,11 +1,11 @@ -Libellé du type de structure_fr;Libellé du type de structure_en -Agriculteur;Farmer -Autre structure;Autre structure -Chambre agriculture;Agriculture chamber -Collectivite territoriale;Territorial community -Etablissement enseignement secondaire;Secondary education establishment -Etablissement enseignement superieur;University -Industriel;Research and development industry -Institut recherche;Research institute -Institut technique;Technical institute -Organisme transfert;Transfert structure +Libelle du type de structure_key;Libelle du type de structure_fr;Libelle du type de structure_en +agriculteur;Agriculteur;Farmer +autre_structure;Autre structure;Autre structure +chambre_agriculture;Chambre agriculture;Agriculture chamber +collectivite_territoriale;Collectivite territoriale;Territorial community +etablissement_enseignement_secondaire;Etablissement enseignement secondaire;Secondary education establishment +etablissement_enseignement_superieur;Etablissement enseignement superieur;University +industriel;Industriel;Research and development industry +institut_recherche;Institut recherche;Research institute +institut_technique;Institut technique;Technical institute +organisme_transfert;Organisme transfert;Transfert structure diff --git a/src/test/resources/data/pros/type_de_traitement.csv b/src/test/resources/data/pros/type_de_traitement.csv index 837cb62c4..77dc99346 100644 --- a/src/test/resources/data/pros/type_de_traitement.csv +++ b/src/test/resources/data/pros/type_de_traitement.csv @@ -1,5 +1,5 @@ -Libellé du type de traitement_fr;Libellé du type de traitement_en -Fixe;Fix -Fixe exterieur du dispositif;Fix outside the device -Tournant;Turning -Tournant exterieur du dispositif;Turning outside the device +Libelle du type de traitement_key;Libelle du type de traitement_fr;Libelle du type de traitement_en +fixe;Fixe;Fix +fixe_exterieur_du_dispositif;Fixe exterieur du dispositif;Fix outside the device +tournant;Tournant;Turning +tournant_exterieur_du_dispositif;Tournant exterieur du dispositif;Turning outside the device diff --git a/src/test/resources/data/pros/valeur_de_raisonnement.csv b/src/test/resources/data/pros/valeur_de_raisonnement.csv index ee05eef3c..695e22518 100644 --- a/src/test/resources/data/pros/valeur_de_raisonnement.csv +++ b/src/test/resources/data/pros/valeur_de_raisonnement.csv @@ -1,4 +1,4 @@ -Libellé de la liste de raisonnement;Libellé du raisonnement_fr;Libellé du raisonnement_en +Libelle de la liste de raisonnement;Libelle du raisonnement_fr;Libelle du raisonnement_en Dose apport PRO;Dose de carbone;Carbon input dose Dose apport PRO;Dose de potassium;Potassium input dose Dose apport PRO;Dose en matiere brute;Content in raw materiel -- GitLab From 70f09c9593e127d68d72eeebad71eec307318932 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Wed, 20 Oct 2021 10:11:59 +0200 Subject: [PATCH 14/23] =?UTF-8?q?ajout=20test=20back=20d'erreur=20syntaxt?= =?UTF-8?q?=20des=20nom=20de=20colonne=20servant=20de=20cl=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oresing/rest/ConfigurationParsingResult.java | 4 ---- .../rest/ApplicationConfigurationServiceTest.java | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/fr/inra/oresing/rest/ConfigurationParsingResult.java b/src/main/java/fr/inra/oresing/rest/ConfigurationParsingResult.java index 61b912c70..f5fe33e1f 100644 --- a/src/main/java/fr/inra/oresing/rest/ConfigurationParsingResult.java +++ b/src/main/java/fr/inra/oresing/rest/ConfigurationParsingResult.java @@ -139,8 +139,6 @@ public class ConfigurationParsingResult { return recordError("authorizationScopeVariableComponentKeyUnknownVariable", ImmutableMap.of("variable", timeScopeVariableComponentKey.getVariable(), "knownVariables", knownVariables)); } - - public Builder recordTimeVariableComponentKeyMissingComponent(String dataType, String variable, Set<String> knownComponents) { return recordError("timeVariableComponentKeyMissingComponent", ImmutableMap.of( "dataType", dataType, @@ -149,8 +147,6 @@ public class ConfigurationParsingResult { )); } - - public Builder recordAuthorizationVariableComponentKeyMissingComponent(String dataType, String authorizationName, String variable, Set<String> knownComponents) { return recordError("authorizationVariableComponentKeyMissingComponent", ImmutableMap.of( "dataType", dataType, diff --git a/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java b/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java index ef187745a..ee0a1dfad 100644 --- a/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java +++ b/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java @@ -160,6 +160,20 @@ public class ApplicationConfigurationServiceTest { Assert.assertEquals("variableInMultipleDataGroup", onlyError.getMessage()); } + @Test + public void testRecordInvalidKeyColumns() { + ConfigurationParsingResult configurationParsingResult = parseYaml("columns:\n" + + " nom du projet_key:","columns:\n" + + " nom du Projet_key:"); + Assert.assertFalse(configurationParsingResult.isValid()); + long count = configurationParsingResult.getValidationCheckResults() + .stream() + .map(ValidationCheckResult::getMessage) + .filter(mes -> mes.equals("invalidInternationalizedColumns") || mes.equals("invalidKeyColumns")) + .count(); + Assert.assertEquals(2, count); + } + @Test public void testMissingTimeScopeVariableComponentKey() { ConfigurationParsingResult configurationParsingResult = parseYaml("component: site\n" + -- GitLab From 85a60d8e12a7c7b24de7ddae052c9422dc0788b1 Mon Sep 17 00:00:00 2001 From: Vivianne Yayende <vivianne.koyao-yayende@inrae.fr> Date: Wed, 20 Oct 2021 16:07:49 +0200 Subject: [PATCH 15/23] Fichier .yaml suite --- src/test/resources/data/pros/itk_famille.csv | 4 +- .../data/pros/itk_observation_qualitative.csv | 140 +++++++++--------- src/test/resources/data/pros/pro.yaml | 89 ++++++++++- 3 files changed, 160 insertions(+), 73 deletions(-) diff --git a/src/test/resources/data/pros/itk_famille.csv b/src/test/resources/data/pros/itk_famille.csv index bf6eeaa09..bcb15d0da 100644 --- a/src/test/resources/data/pros/itk_famille.csv +++ b/src/test/resources/data/pros/itk_famille.csv @@ -4,7 +4,7 @@ amaranthaceae;Amaranthaceae apiaceae;Apiaceae asparagaceae;Asparagaceae asteraceae;Asteraceae -brassicaceae (ou Crucifere);Brassicaceae (ou Crucifere) +brassicaceae_(ou_Crucifere);Brassicaceae (ou Crucifere) cannabaceae;Cannabaceae caprifoliaceae;Caprifoliaceae chenopodiaceae;Chenopodiaceae @@ -22,4 +22,4 @@ salicaceae;Salicaceae solanaceae;Solanaceae taxodiaceae;Taxodiaceae vitaceae;Vitaceae -z_non connu;Z_non connu +z_non_connu;Z_non connu diff --git a/src/test/resources/data/pros/itk_observation_qualitative.csv b/src/test/resources/data/pros/itk_observation_qualitative.csv index a1bc2d957..f19b4c9be 100644 --- a/src/test/resources/data/pros/itk_observation_qualitative.csv +++ b/src/test/resources/data/pros/itk_observation_qualitative.csv @@ -1,70 +1,70 @@ -Libelle observation qualitative_key;Libelle observation qualitative_fr;Libelle observation qualitative_en;Type observation qualitative -chenopode;Chenopode;Chenopode;Adventices -coquelicot;Coquelicot;Coquelicot;Adventices -folle_avoine;Folle avoine;Folle avoine;Adventices -gaillet;Gaillet;Gaillet;Adventices -myosotis;Myosotis;Myosotis;Adventices -renoncule_des_champs;Renoncule des champs;Renoncule des champs;Adventices -renouee;Renouee;Renouee;Adventices -repousse_de_betteraves;Repousse de betteraves;Repousse de betteraves;Adventices -repousse_de_cereales;Repousse de cereales;Repousse de cereales;Adventices -repousse_de_pomme_de_terre;Repousse de pomme de terre;Repousse de pomme de terre;Adventices -rumex;Rumex;Rumex;Adventices -liseron;Liseron;Liseron;Adventices -morelle;Morelle;Morelle;Adventices -amarante;Amarante;Amarante;Adventices -setaire_digitaire;Setaire_Digitaire;Setaire_Digitaire;Adventices -senecon;Senecon;Senecon;Adventices -vulpin;Vulpin;Vulpin;Adventices -z_adventices_autre;Z_Adventices_Autre;Z_Adventices_Autre;Adventices -corbeaux;Corbeaux;Corbeaux;Gibier -sanglier;Sanglier;Sanglier;Gibier -z_gibier_autre;Z_Gibier_Autre;Z_Gibier_Autre;Gibier -azote;Azote;Azote;Carence -phosphore;Phosphore;Phosphore;Carence -potassium;Potassium;Potassium;Carence -magnesium;Magnesium;Magnesium;Carence -calcium;Calcium;Calcium;Carence -fer;Fer;Fer;Carence -bore;Bore;Bore;Carence -manganese;Manganese;Manganese;Carence -z_carence_autre;Z_Carence_Autre;Z_Carence_Autre;Carence -aluminium;Aluminium;Aluminium;Phyto-toxicite_element trace mineral -cuivre;Cuivre;Cuivre;Phyto-toxicite_element trace mineral -z_phytotoxicite_trace_mineral_Autre;Z_Phytotoxicite_trace mineral_Autre;Z_Phytotoxicite_trace mineral_Autre;Phyto-toxicite_element trace mineral -z_phytotoxicite_compose_organique_Autre;Z_Phytotoxicite_compose organique_Autre;Z_Phytotoxicite_compose organique_Autre;Phyto-toxicite_compose organique -grele;Grele;Grele;Intemperies -foudre;Foudre;Foudre;Intemperies -gel;Gel;Gel;Intemperies -hydromorphie_saisonniere;Hydromorphie saisonniere;Hydromorphie saisonniere;Intemperies -innondation;Innondation;Innondation;Intemperies -secheresse;Secheresse;Secheresse;Intemperies -z_Intemperies_Autre;Z_Intemperies_Autre;Z_Intemperies_Autre;Intemperies -black-rot;Black-rot;Black-rot;Maladie cryptogamique -mildiou;Mildiou;Mildiou;Maladie cryptogamique -oidium;Oidium;Oidium;Maladie cryptogamique -pietin-echaudage;Pietin-echaudage;Pietin-echaudage;Maladie cryptogamique -pietin-verse;Pietin-verse;Pietin-verse;Maladie cryptogamique -rouille_noire;Rouille noire;Rouille noire;Maladie cryptogamique -septoriose;Septoriose;Septoriose;Maladie cryptogamique -tavelure;Tavelure;Tavelure;Maladie cryptogamique -eutypiose;Eutypiose;Eutypiose;Maladie cryptogamique -esca/bda;Esca/BDA;Esca/BDA;Maladie cryptogamique -z_maladie_cryptogamique_autre;Z_Maladie cryptogamique_Autre;Z_Maladie cryptogamique_Autre;Maladie cryptogamique -anguillule;Anguillule;Anguillule;Ravageur parasite -cecydomie;Cecydomie;Cecydomie;Ravageur parasite -cicadelle;Cicadelle;Cicadelle;Ravageur parasite -chrysomele;Chrysomele;Chrysomele;Ravageur parasite -doryphore;Doryphore;Doryphore;Ravageur parasite -lema;Lema;Lema;Ravageur parasite -mouche_grise;Mouche grise;Mouche grise;Ravageur parasite -nematode;Nematode;Nematode;Ravageur parasite -puceron;Puceron;Puceron;Ravageur parasite -tordeuses_de_la_grappe;Tordeuses de la grappe;Tordeuses de la grappe;Ravageur parasite -acariens;Acariens;Acariens;Ravageur parasite -pyrale;Pyrale;Pyrale;Ravageur parasite -z_ravageur_parasite_autre;Z_Ravageur parasite_Autre;Z_Ravageur parasite_Autre;Ravageur parasite -court-noue;Court-noue;Court-noue;Virose -enroulement;Enroulement;Enroulement;Virose -z_virose_autre;Z_Virose_Autre;Z_Virose_Autre;Virose -flavescence_doree;Flavescence doree;Flavescence doree;Phytoplasme +Libelle observation qualitative_fr;Libelle observation qualitative_en;Libelle type observation qualitative +Chenopode;Chenopode;Adventices +Coquelicot;Coquelicot;Adventices +Folle avoine;Folle avoine;Adventices +Gaillet;Gaillet;Adventices +Myosotis;Myosotis;Adventices +Renoncule des champs;Renoncule des champs;Adventices +Renouee;Renouee;Adventices +Repousse de betteraves;Repousse de betteraves;Adventices +Repousse de cereales;Repousse de cereales;Adventices +Repousse de pomme de terre;Repousse de pomme de terre;Adventices +Rumex;Rumex;Adventices +Liseron;Liseron;Adventices +Morelle;Morelle;Adventices +Amarante;Amarante;Adventices +Setaire_Digitaire;Setaire_Digitaire;Adventices +Senecon;Senecon;Adventices +Vulpin;Vulpin;Adventices +Z_Adventices_Autre;Z_Adventices_Autre;Adventices +Corbeaux;Corbeaux;Gibier +Sanglier;Sanglier;Gibier +Z_Gibier_Autre;Z_Gibier_Autre;Gibier +Azote;Azote;Carence +Phosphore;Phosphore;Carence +Potassium;Potassium;Carence +Magnesium;Magnesium;Carence +Calcium;Calcium;Carence +Fer;Fer;Carence +Bore;Bore;Carence +Manganese;Manganese;Carence +Z_Carence_Autre;Z_Carence_Autre;Carence +Aluminium;Aluminium;Phyto-toxicite_element trace mineral +Cuivre;Cuivre;Phyto-toxicite_element trace mineral +Z_Phytotoxicite_trace mineral_Autre;Z_Phytotoxicite_trace mineral_Autre;Phyto-toxicite_element trace mineral +Z_Phytotoxicite_compose organique_Autre;Z_Phytotoxicite_compose organique_Autre;Phyto-toxicite_compose organique +Grele;Grele;Intemperies +Foudre;Foudre;Intemperies +Gel;Gel;Intemperies +Hydromorphie saisonniere;Hydromorphie saisonniere;Intemperies +Innondation;Innondation;Intemperies +Secheresse;Secheresse;Intemperies +Z_Intemperies_Autre;Z_Intemperies_Autre;Intemperies +Black-rot;Black-rot;Maladie cryptogamique +Mildiou;Mildiou;Maladie cryptogamique +Oidium;Oidium;Maladie cryptogamique +Pietin-echaudage;Pietin-echaudage;Maladie cryptogamique +Pietin-verse;Pietin-verse;Maladie cryptogamique +Rouille noire;Rouille noire;Maladie cryptogamique +Septoriose;Septoriose;Maladie cryptogamique +Tavelure;Tavelure;Maladie cryptogamique +Eutypiose;Eutypiose;Maladie cryptogamique +Esca/BDA;Esca/BDA;Maladie cryptogamique +Z_Maladie cryptogamique_Autre;Z_Maladie cryptogamique_Autre;Maladie cryptogamique +Anguillule;Anguillule;Ravageur parasite +Cecydomie;Cecydomie;Ravageur parasite +Cicadelle;Cicadelle;Ravageur parasite +Chrysomele;Chrysomele;Ravageur parasite +Doryphore;Doryphore;Ravageur parasite +Lema;Lema;Ravageur parasite +Mouche grise;Mouche grise;Ravageur parasite +Nematode;Nematode;Ravageur parasite +Puceron;Puceron;Ravageur parasite +Tordeuses de la grappe;Tordeuses de la grappe;Ravageur parasite +Acariens;Acariens;Ravageur parasite +Pyrale;Pyrale;Ravageur parasite +Z_Ravageur parasite_Autre;Z_Ravageur parasite_Autre;Ravageur parasite +Court-noue;Court-noue;Virose +Enroulement;Enroulement;Virose +Z_Virose_Autre;Z_Virose_Autre;Virose +Flavescence doree;Flavescence doree;Phytoplasme diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index 7734192a9..04188176b 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -300,7 +300,7 @@ references: Année de fin d'application du protocole général: Utilisation du guide méthodologique Réseau PRO après 2015 (oui/non): raisonnements_par_protocole: - keyColumns: [ Nom du protocole,Libellé de la liste de raisonnement,Valeur du raisonnement ] + keyColumns: [ Nom du protocole,Libelle de la liste de raisonnement,Valeur du raisonnement ] columns: Nom du protocole: Libelle de la liste de raisonnement: @@ -351,6 +351,93 @@ references: Nom de la structure: Precision (pole et/ou unito et/ou oquipe): Nom du lieu: + itk_famille: + keyColumns: [nom famille_key] + columns: + nom famille_key: + nom famille: + itk_espece: + keyColumns: [Nom Espece Plante_fr,Nom famille ] + columns: + Nom Espece Plante_fr: + Nom Espece Plante_en: + Nom famille: + Descriptif: + source: + Commentaire_fr: + Commentaire_en: + itk_type_observation_qualitative: + keyColumns: [ Libelle type observation qualitative_key ] + columns: + Libelle type observation qualitative_key: + Libelle type observation qualitative_fr: + Libelle type observation qualitative_en: + itk_type_intervention: + keyColumns: [ Libelle type intervention_key ] + columns: + Libelle type intervention_key: + Libelle type intervention_fr: + Libelle type intervention_en: + Description: + Source: + Commentaire_fr: + Commentaire_en: + itk_intervention: + keyColumns: [Libelle intervention_fr, Type intervention ] + columns: + Libelle intervention_fr: + Libelle intervention_en: + Type intervention: + Description: + itk_autres_listes: + keyColumns: [ Autres listes_fr, Valeur_fr ] + columns: + Autres listes_fr: + Autres listes_en: + Valeur_fr: + Valeur_en: + Commentaire_fr: + Commentaire_en: + itk_Liste_intrants: + keyColumns: [ Nom commercial produit, Nom element ou matiere active ] + columns: + Nom commercial produit: + Nom element ou matiere active: + Concentration element ou matiere active: + Unite: + itk_observation_qualitative: + keyColumns: [ Libelle observation qualitative_fr,Libelle type observation qualitative ] + columns: + Libelle observation qualitative_fr: + Libelle observation qualitative_en: + Libelle type observation qualitative: + itk_cultures: + keyColumns: [ Codes Culture, Nom Culture,Type Culture,Espece1] + columns: + Codes Culture: + Nom Culture: + Type Culture: + Espece1: + Espece2: + Espece3: + Espece4: + Espece5: + Espece6: + Periode Semis: + Periode Recolte: + Duree de Vegetation(mois): + Commentaire_fr: + Commentaire_en: + itk_materiel: + keyColumns: [ Nom du materiel_fr,Nom du type intervention ] + columns: + Nom du materiel_fr: + Nom du materiel_en: + Nom du type intervention: + Description: + Source: + Commentaire_fr: + Commentaire_en: dataTypes: donnees_prelevement_pro: internationalizationName: -- GitLab From 7e4805869adb6914b4b77736c39319e723edd45b Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Thu, 21 Oct 2021 13:27:34 +0200 Subject: [PATCH 16/23] internationnalization reference page (sauf arbre) --- .../inra/oresing/rest/ApplicationResult.java | 2 + .../fr/inra/oresing/rest/OreSiResources.java | 2 +- .../fr/inra/oresing/rest/OreSiService.java | 1 + ui2/src/locales/en.json | 2 +- ui2/src/locales/fr.json | 6 +-- ui2/src/services/ErrorsService.js | 1 + .../services/InternationalisationService.js | 38 +++++++++++++++---- ui2/src/services/rest/ApplicationService.js | 13 +------ ui2/src/style/_variables.scss | 2 +- .../views/references/ReferenceTableView.vue | 8 ++-- .../references/ReferencesManagementView.vue | 8 ++-- 11 files changed, 49 insertions(+), 34 deletions(-) diff --git a/src/main/java/fr/inra/oresing/rest/ApplicationResult.java b/src/main/java/fr/inra/oresing/rest/ApplicationResult.java index a646bfb1b..5dd28bb88 100644 --- a/src/main/java/fr/inra/oresing/rest/ApplicationResult.java +++ b/src/main/java/fr/inra/oresing/rest/ApplicationResult.java @@ -1,5 +1,6 @@ package fr.inra.oresing.rest; +import fr.inra.oresing.model.internationalization.InternationalizationMap; import lombok.Value; import java.util.Map; @@ -10,6 +11,7 @@ public class ApplicationResult { String id; String name; String title; + InternationalizationMap internationalization; Map<String, Reference> references; Map<String, DataType> dataTypes; diff --git a/src/main/java/fr/inra/oresing/rest/OreSiResources.java b/src/main/java/fr/inra/oresing/rest/OreSiResources.java index 008a3991c..178828782 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiResources.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiResources.java @@ -130,7 +130,7 @@ public class OreSiResources { Map<String, String> repository = application.getConfiguration().getDataTypes().get(dataType).getRepository(); return new ApplicationResult.DataType(dataType, dataType, variables, Optional.ofNullable(repository).filter(m -> !m.isEmpty()).orElse(null)); }); - ApplicationResult applicationResult = new ApplicationResult(application.getId().toString(), application.getName(), application.getConfiguration().getApplication().getName(), references, dataTypes); + ApplicationResult applicationResult = new ApplicationResult(application.getId().toString(), application.getName(), application.getConfiguration().getApplication().getName(), application.getConfiguration().getInternationalization(), references, dataTypes); return ResponseEntity.ok(applicationResult); } diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java index e4af5f26e..35d44dc8d 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -400,6 +400,7 @@ public class OreSiService { .map(key -> escapeKeyComponent(key)) .collect(Collectors.joining(KEYCOLUMN_SEPARATOR)); } + //voir pour quand naturalKey est vide OreSiService.checkNaturalKeySyntax(naturalKey); String recursiveNaturalKey = naturalKey; if (isRecursive) { diff --git a/ui2/src/locales/en.json b/ui2/src/locales/en.json index 555fa11e7..77d2f038e 100644 --- a/ui2/src/locales/en.json +++ b/ui2/src/locales/en.json @@ -123,7 +123,7 @@ "patternNotMatched": "For the identified component: <code> {target} </code> the value <code> {value} </code> does not respect the expected format: <code> {pattern} </code>. ", "patternNotMatchedWithColumn": "For column: <code> {target} </code> the value <code> {value} </code> does not respect the expected format: <code> {pattern} </code>." , "invalidDate": "For the identified component: <code> {target} </code> the date <code> {value} </code> does not respect the expected format: <code> {pattern} </code>. ", - "invalidDate": "For column: <code> {column} </code> the date <code> {value} </code> does not respect the expected format: <code> {pattern} </code>." , + "invalidDateWithColumn": "For column: <code> {column} </code> the date <code> {value} </code> does not respect the expected format: <code> {pattern} </code>." , "invalidInteger": "For the identified component: <code> {target} </code> the value <code> {value} </code> must be an integer.", "invalidIntegerWithColumn": "For column: <code> {target} </code> the value <code> {value} </code> must be an integer.", "invalidFloat": "For the identified component: <code> {target} </code> the value <code> {value} </code> must be a decimal number.", diff --git a/ui2/src/locales/fr.json b/ui2/src/locales/fr.json index b4b8c04b5..17e6be30d 100644 --- a/ui2/src/locales/fr.json +++ b/ui2/src/locales/fr.json @@ -100,8 +100,8 @@ "authorizationVariableComponentKeyMissingComponent": "Il faut indiquer le composant de la variable <code>{variable}</code> dans laquelle on recueille les informations spatiales à laquelle rattacher la donnée pour le gestion des droits jeu de données <code>{dataType}</code> pour l'autorisation <code>{authorizationName}</code>. Valeurs possibles <code>{knownComponents}</code>", "authorizationVariableComponentKeyUnknownComponent": "<code>{component}</code> ne fait pas partie des composants connus pour la variable <code>{variable}</code>. Composants connus : <code>{knownComponents}</code>", "authorizationScopeVariableComponentWrongChecker": "Le composant <code>{component}</code> de la variable <code>{variable}</code> ne peut pas être utilisé comme portant l’information temporelle car ce n’est pas une donnée déclarée comme <code>{expectedChecker}</code>", - "authorizationScopeVariableComponentReftypeUnknown": "La référence <code>{refType}</code> du composant <code>{component}</code> de la variable <code>{variable}</code> n'a pas été déclarée. Références acceptées : <code>{knownPatterns}</code>", "unrecognizedProperty": "Erreur à la ligne <code>{lineNumber}</code> (colonne <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, c’est pas une propriété reconnue. Les propriétés reconnues sont <code>{knownProperties}</code>", - "authorizationScopeVariableComponentReftypeNull": "Aucune référence n'a été définie pour le composant <code>{component}</code> de la variable <code>{variable}</code>. Références acceptées : <code>{knownPatterns}</code>", "unrecognizedProperty": "Erreur à la ligne <code>{lineNumber}</code> (colonne <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, c’est pas une propriété reconnue. Les propriétés reconnues sont <code>{knownProperties}</code>", + "authorizationScopeVariableComponentReftypeUnknown": "La référence <code>{refType}</code> du composant <code>{component}</code> de la variable <code>{variable}</code> n'a pas été déclarée. Références acceptées : <code>{knownPatterns}</code>", + "authorizationScopeVariableComponentReftypeNull": "Aucune référence n'a été définie pour le composant <code>{component}</code> de la variable <code>{variable}</code>. Références acceptées : <code>{knownPatterns}</code>", "authorizationVariableComponentMustReferToCompositereference": "Pour le type de données <code>{dataType}</code>, la référence <code>{refType}</code> de l'authorisation <code>{authorizationName}</code> doit être définie commme une référence composite <code>compositeReferences</code>. CompositesReferences déclarée : <code>{knownCompositesReferences}</code>", "unrecognizedProperty": "Erreur à la ligne <code>{lineNumber}</code> (colonne <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, c’est pas une propriété reconnue. Les propriétés reconnues sont <code>{knownProperties}</code>", "invalidFormat": "Erreur à la ligne <code>{lineNumber}</code> (colonne <code>{columnNumber}</code>) : '<code>{value}</code>' n’a pas le bon format. Le type attendu est <code>{targetTypeName}</code>", @@ -124,7 +124,7 @@ "patternNotMatched": "Pour le composant identifié : <code>{target}</code> la valeur <code>{value}</code> ne respecte pas le format attendu : <code>{pattern}</code>.", "patternNotMatchedWithColumn": "Pour la colonne : <code>{target}</code> la valeur <code>{value}</code> ne respecte pas le format attendu : <code>{pattern}</code>.", "invalidDate": "Pour le composant identifié : <code>{target}</code> la date <code>{value}</code> ne respecte pas le format attendu : <code>{pattern}</code>. ", - "invalidDate": "Pour la colonne : <code>{column}</code> la date <code>{value}</code> ne respecte pas le format attendu : <code>{pattern}</code>. ", + "invalidDateWithColumn": "Pour la colonne : <code>{column}</code> la date <code>{value}</code> ne respecte pas le format attendu : <code>{pattern}</code>. ", "invalidInteger": "Pour le composant identifié : <code>{target}</code> la valeur <code>{value}</code> doit être un entier.", "invalidIntegerWithColumn": "Pour la colonne : <code>{target}</code> la valeur <code>{value}</code> doit être un entier.", "invalidFloat": "Pour le composant identifié : <code>{target}</code> la valeur <code>{value}</code> doit être un nombre décimal.", diff --git a/ui2/src/services/ErrorsService.js b/ui2/src/services/ErrorsService.js index e514a88c2..7928e9828 100644 --- a/ui2/src/services/ErrorsService.js +++ b/ui2/src/services/ErrorsService.js @@ -24,6 +24,7 @@ const ERRORS = { csvBoundToUnknownVariable: (params) => i18n.t("errors.csvBoundToUnknownVariable", params), csvBoundToUnknownVariableComponent: (params) => i18n.t("errors.csvBoundToUnknownVariableComponent", params), invalidKeyColumns: (params) => i18n.t("errors.invalidKeyColumns", params), + invalidInternationalizedColumns: (params) => i18n.t("errors.invalidInternationalizedColumns", params), unexpectedHeaderColumn : (params) => i18n.t("errors.unexpectedHeaderColumn", params), headerColumnPatternNotMatching :(params) => i18n.t("errors.headerColumnPatternNotMatching", params), unexpectedTokenCount : (params) => i18n.t("errors.unexpectedTokenCount", params), diff --git a/ui2/src/services/InternationalisationService.js b/ui2/src/services/InternationalisationService.js index 10d678f36..c6cb88454 100644 --- a/ui2/src/services/InternationalisationService.js +++ b/ui2/src/services/InternationalisationService.js @@ -3,6 +3,22 @@ import {Fetcher, LOCAL_STORAGE_LANG} from "./Fetcher"; export class InternationalisationService extends Fetcher { static INSTANCE = new InternationalisationService(); + mergeInternationalization(application){ + var internationalization; + + if(application?.configuration?.internationalization) + internationalization = application?.configuration?.internationalization; + else if (application?.internationalization) + internationalization = application?.internationalization; + + if (!internationalization){ + application.localName = application.name; + return application; + } + application.localName = this.localeApplicationName(internationalization?.application?.internationalization, application.name); + return application; + } + localeApplicationName(applicationInternationalization, defautName) { return (applicationInternationalization?.[localStorage.getItem(LOCAL_STORAGE_LANG)]) ?? defautName ; } @@ -13,13 +29,19 @@ export class InternationalisationService extends Fetcher { return datatype.name; } } - localeReferenceName(reference) { - console.log(localStorage.getItem(LOCAL_STORAGE_LANG)) - if(reference.internationalizationName != null) - return reference.internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; - else - return reference.label; + localeReferenceName(references, applications) { + if(applications.internationalization) { + let applicationReferences = applications.internationalization.references; + for (let applicationReference in applicationReferences) { + if(references.label) { + if(references.label === applicationReference) { + return (applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)]) ?? references.label; + } + return references.label; + } + // mettre un return object; + } + } + return references; } - - } \ No newline at end of file diff --git a/ui2/src/services/rest/ApplicationService.js b/ui2/src/services/rest/ApplicationService.js index 3b4bdfefb..26b3a10dc 100644 --- a/ui2/src/services/rest/ApplicationService.js +++ b/ui2/src/services/rest/ApplicationService.js @@ -13,26 +13,17 @@ export class ApplicationService extends Fetcher { file: applicationConfig.file, }); } - mergeInternationalization(application){ - var internationalization = application?.configuration?.internationalization; - if (!internationalization){ - application.localName = application.name; - return application; - } - application.localName = InternationalisationService.INSTANCE.localeApplicationName(internationalization?.application?.internationalization, application.name); - return application; - } async getApplications() { var applications = await this.get("applications/"); return applications.map((a) => { - return this.mergeInternationalization(a) ; + return InternationalisationService.INSTANCE.mergeInternationalization(a) ; }); } async getApplication(name) { var application = await this.get("applications/" + name); - return this.mergeInternationalization(application); + return InternationalisationService.INSTANCE.mergeInternationalization(application); } async validateConfiguration(applicationConfig) { diff --git a/ui2/src/style/_variables.scss b/ui2/src/style/_variables.scss index df8b9c44f..5d27c2b13 100644 --- a/ui2/src/style/_variables.scss +++ b/ui2/src/style/_variables.scss @@ -23,7 +23,7 @@ $menu-height: 80px; ***************************************************************************************************/ // General variables -$primary: rgb(0, 163, 166); +$primary: rgb(0,166,163); $info: rgb(78, 198, 194); $success: #bade81; $warning: #FFAA00; diff --git a/ui2/src/views/references/ReferenceTableView.vue b/ui2/src/views/references/ReferenceTableView.vue index 9da116ab8..01006ecda 100644 --- a/ui2/src/views/references/ReferenceTableView.vue +++ b/ui2/src/views/references/ReferenceTableView.vue @@ -1,8 +1,8 @@ <template> <PageView class="with-submenu"> - <SubMenu :root="application.localName || application.title" :paths="subMenuPaths" /> + <SubMenu :root="application.localName" :paths="subMenuPaths" /> <h1 class="title main-title"> - {{ $t("titles.references-data", { refName: application.localRefName ||reference.label }) }} + {{ $t("titles.references-data", { refName: application.localRefName }) }} </h1> <div v-if="reference && columns"> @@ -83,8 +83,8 @@ export default class ReferenceTableView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.localeApplicationName(this.application), - localRefName: this.internationalisationService.localeReferenceName(this.application.references[this.refId]), + localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localRefName: this.internationalisationService.localeReferenceName(this.application.references[this.refId], this.application), }; const references = await this.referenceService.getReferenceValues( this.applicationName, diff --git a/ui2/src/views/references/ReferencesManagementView.vue b/ui2/src/views/references/ReferencesManagementView.vue index aef95e3cf..66248c80e 100644 --- a/ui2/src/views/references/ReferencesManagementView.vue +++ b/ui2/src/views/references/ReferencesManagementView.vue @@ -39,7 +39,6 @@ import { ApplicationResult } from "@/model/ApplicationResult"; import SubMenu, { SubMenuPath } from "@/components/common/SubMenu.vue"; import { AlertService } from "@/services/AlertService"; import { Button } from "@/model/Button"; -import { i18n } from "@/main"; @Component({ components: { CollapsibleTree, ReferencesDetailsPanel, PageView, SubMenu }, @@ -85,14 +84,13 @@ export default class ReferencesManagementView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.localeApplicationName(this.application), + localName: this.internationalisationService.mergeInternationalization(this.application).localName, }; if (!this.application?.id) { return; } this.references = convertReferencesToTrees( - Object.values(this.application.references), - this.$i18n.locale + Object.values(this.internationalisationService.localeReferenceName(this.application.references,this.application)) ); } catch (error) { this.alertService.toastServerError(); @@ -131,7 +129,7 @@ export default class ReferencesManagementView extends Vue { findReferenceByLabel(label) { var ref = Object.values(this.application.references).find((ref) => ref.label === label); - return { ...ref, localName: ref?.internationalizationName?.[i18n.locale] }; + return ref; } } </script> -- GitLab From ed77ac5b73f18b0a2c3b954614b69692f0222e4d Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Thu, 21 Oct 2021 15:51:12 +0200 Subject: [PATCH 17/23] internationalization tree references --- .../services/InternationalisationService.js | 21 ++++++++++++++----- ui2/src/utils/ConversionUtils.js | 14 ++++++------- .../references/ReferencesManagementView.vue | 2 +- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/ui2/src/services/InternationalisationService.js b/ui2/src/services/InternationalisationService.js index c6cb88454..c4108463f 100644 --- a/ui2/src/services/InternationalisationService.js +++ b/ui2/src/services/InternationalisationService.js @@ -32,16 +32,27 @@ export class InternationalisationService extends Fetcher { localeReferenceName(references, applications) { if(applications.internationalization) { let applicationReferences = applications.internationalization.references; - for (let applicationReference in applicationReferences) { - if(references.label) { - if(references.label === applicationReference) { + if(references.label) { + for (let applicationReference in applicationReferences) { + if( applicationReference === references.label ) { return (applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)]) ?? references.label; } - return references.label; } - // mettre un return object; + return references.label; } } return references; } + treeReferenceName(refs) { + if(refs.internationalization) { + let applicationReferences = refs.internationalization.references; + for (let applicationReference in applicationReferences) { + refs.references[applicationReference] = { + ...refs.references[applicationReference], + refNameLocal: applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)] + }; + } + } + return refs.references; + } } \ No newline at end of file diff --git a/ui2/src/utils/ConversionUtils.js b/ui2/src/utils/ConversionUtils.js index 8889b72c8..0a2c2dda4 100644 --- a/ui2/src/utils/ConversionUtils.js +++ b/ui2/src/utils/ConversionUtils.js @@ -1,14 +1,14 @@ -export function convertReferencesToTrees(initialReference, locale) { +export function convertReferencesToTrees(initialReference) { const references = JSON.parse(JSON.stringify(initialReference)); const parents = references.filter((ref) => { return !references.some( (r) => r.children && r.children.length !== 0 && r.children.some((c) => c === ref.id) ); }); - return replaceChildrenIdByObject(parents, references, locale); + return replaceChildrenIdByObject(parents, references); } -function replaceChildrenIdByObject(references, initialRef, locale) { +function replaceChildrenIdByObject(references, initialRef) { references.forEach((ref) => { if (ref.children && ref.children.length !== 0) { const children = ref.children.map((c) => { @@ -16,17 +16,17 @@ function replaceChildrenIdByObject(references, initialRef, locale) { const [child] = initialRef.splice(index, 1); return child; }); - ref.children = replaceChildrenIdByObject(children, initialRef, locale); + ref.children = replaceChildrenIdByObject(children, initialRef); } else { if (ref && ref.internationalizationName) { - return { ...ref, localName: ref.internationalizationName[locale] || ref.name }; + return { ...ref, localName: ref.refNameLocal || ref.name }; } return ref; } }); return references.map((ref) => { - if (ref && ref.internationalizationName) { - return { ...ref, localName: ref.internationalizationName[locale] || ref.name }; + if (ref && ref.refNameLocal) { + return { ...ref, localName: ref.refNameLocal || ref.name }; } return ref; }); diff --git a/ui2/src/views/references/ReferencesManagementView.vue b/ui2/src/views/references/ReferencesManagementView.vue index 66248c80e..1f7b39f4f 100644 --- a/ui2/src/views/references/ReferencesManagementView.vue +++ b/ui2/src/views/references/ReferencesManagementView.vue @@ -90,7 +90,7 @@ export default class ReferencesManagementView extends Vue { return; } this.references = convertReferencesToTrees( - Object.values(this.internationalisationService.localeReferenceName(this.application.references,this.application)) + Object.values(this.internationalisationService.treeReferenceName(this.application)) ); } catch (error) { this.alertService.toastServerError(); -- GitLab From a53bbb3b8a498cb447b595cb83041cb3cdcd1a02 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 22 Oct 2021 10:36:35 +0200 Subject: [PATCH 18/23] internationalization des pages dataTypes --- .../data/monsore/monsore-with-repository.yaml | 2 +- .../services/InternationalisationService.js | 38 +++++++++++++++++-- ui2/src/views/datatype/DataTypeTableView.vue | 4 +- .../datatype/DataTypesManagementView.vue | 8 +--- .../datatype/DataTypesRepositoryView.vue | 14 +++++-- 5 files changed, 50 insertions(+), 16 deletions(-) diff --git a/src/test/resources/data/monsore/monsore-with-repository.yaml b/src/test/resources/data/monsore/monsore-with-repository.yaml index 685e0a834..a95753f1d 100644 --- a/src/test/resources/data/monsore/monsore-with-repository.yaml +++ b/src/test/resources/data/monsore/monsore-with-repository.yaml @@ -61,7 +61,7 @@ references: en: zet_nom_en zet_description_fr: fr: zet_description_fr - en: zet_description__en + en: zet_description_en columns: tze_type_nom: zet_nom_key: diff --git a/ui2/src/services/InternationalisationService.js b/ui2/src/services/InternationalisationService.js index c4108463f..cca8eb334 100644 --- a/ui2/src/services/InternationalisationService.js +++ b/ui2/src/services/InternationalisationService.js @@ -22,13 +22,35 @@ export class InternationalisationService extends Fetcher { localeApplicationName(applicationInternationalization, defautName) { return (applicationInternationalization?.[localStorage.getItem(LOCAL_STORAGE_LANG)]) ?? defautName ; } - localeDatatypeName(datatype) { - if (datatype.internationalizationName != null) { - return datatype.internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; + + localeDataTypeIdName(application, datatype) { + if (application.internationalization.dataTypes[datatype.id].internationalizationName != null) { + return application.internationalization.dataTypes[datatype.id].internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; }else { return datatype.name; } } + localeDatatypeName(application) { + if (application.internationalization != null) { + let applicationDataTypes = application.internationalization.dataTypes; + for(let applicationDataType in applicationDataTypes) { + application.dataTypes[applicationDataType] = { + ...application.dataTypes[applicationDataType], + localName: applicationDataTypes[applicationDataType].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)], + } + } + } else { + let applicationDataTypes = application.dataTypes; + for(let applicationDataType in applicationDataTypes) { + application.dataTypes[applicationDataType] = { + ...application.dataTypes[applicationDataType], + localName: application.dataTypes[applicationDataType].name, + } + } + } + return application.dataTypes; + } + localeReferenceName(references, applications) { if(applications.internationalization) { let applicationReferences = applications.internationalization.references; @@ -49,7 +71,15 @@ export class InternationalisationService extends Fetcher { for (let applicationReference in applicationReferences) { refs.references[applicationReference] = { ...refs.references[applicationReference], - refNameLocal: applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)] + refNameLocal: applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)], + }; + } + } else { + let applicationReferences = refs.references; + for (let applicationReference in applicationReferences) { + refs.references[applicationReference] = { + ...refs.references[applicationReference], + refNameLocal: refs.references[applicationReference].name, }; } } diff --git a/ui2/src/views/datatype/DataTypeTableView.vue b/ui2/src/views/datatype/DataTypeTableView.vue index b17894071..745047347 100644 --- a/ui2/src/views/datatype/DataTypeTableView.vue +++ b/ui2/src/views/datatype/DataTypeTableView.vue @@ -518,8 +518,8 @@ export default class DataTypeTableView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.localeApplicationName(this.application), - localDatatypeName : this.internationalisationService.localeDatatypeName(this.application.dataTypes[this.dataTypeId]) + localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) }; await this.initDatatype(); } diff --git a/ui2/src/views/datatype/DataTypesManagementView.vue b/ui2/src/views/datatype/DataTypesManagementView.vue index 1419df62b..601f53bfe 100644 --- a/ui2/src/views/datatype/DataTypesManagementView.vue +++ b/ui2/src/views/datatype/DataTypesManagementView.vue @@ -106,16 +106,12 @@ export default class DataTypesManagementView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.localeApplicationName(this.application), + localName: this.internationalisationService.mergeInternationalization(this.application).localName, }; if (!this.application?.id) { return; } - if (this.application.dataTypes) { - this.dataTypes = Object.values(this.application.dataTypes).map((d) => { - return { ...d, localName: this.internationalisationService.localeDatatypeName(d) }; - }); - } + this.dataTypes = Object.values(this.internationalisationService.localeDatatypeName(this.application)) } catch (error) { this.alertService.toastServerError(); } diff --git a/ui2/src/views/datatype/DataTypesRepositoryView.vue b/ui2/src/views/datatype/DataTypesRepositoryView.vue index c482f432b..f756f9c13 100644 --- a/ui2/src/views/datatype/DataTypesRepositoryView.vue +++ b/ui2/src/views/datatype/DataTypesRepositoryView.vue @@ -260,10 +260,18 @@ export default class DataTypesRepositoryView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.localeApplicationName(this.application), + localName: this.internationalisationService.mergeInternationalization(this.application).localName, }; - this.localDatatypeName = - this.application.dataTypes[this.dataTypeId]?.internationalizationName?.[this.$i18n.locale]; + if (this.application.internationalization) { + this.localDatatypeName = Object.values(this.application.internationalization.dataTypes).map((d) => { + return { ...d, localName: this.internationalisationService.localeDatatypeName(d) }; + }); + } + else if (this.application.dataTypes) { + this.localDatatypeName = Object.values(this.application.dataTypes).map((d) => { + return { ...d, localName: this.internationalisationService.localeDatatypeName(d) }; + }); + } this.configuration = this.applications .filter((a) => a.name === this.applicationName) .map((a) => a.configuration.dataTypes[this.dataTypeId])[0]; -- GitLab From 94537c7fa6488c6da7f33fd091fbfc66ec9f265d Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 22 Oct 2021 10:48:28 +0200 Subject: [PATCH 19/23] internationalization des pages authorizations --- .../DataTypeAuthorizationInfoView.vue | 16 ++++++++-------- .../DataTypeAuthorizationsView.vue | 17 ++++++++--------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue index 246542e17..151af3129 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue @@ -5,7 +5,7 @@ <h1 class="title main-title"> <span v-if="authorizationId === 'new'">{{ $t("titles.data-type-new-authorization", { - dataType: localeDatatypeName(dataTypeId) || dataTypeId, + dataType: application.localDatatypeName || dataTypeId, }) }}</span> </h1> @@ -271,6 +271,7 @@ import { UserPreferencesService } from "@/services/UserPreferencesService"; import { ValidationObserver, ValidationProvider } from "vee-validate"; import { Component, Prop, Vue, Watch } from "vue-property-decorator"; import PageView from "../common/PageView.vue"; +import { InternationalisationService } from "@/services/InternationalisationService"; @Component({ components: { PageView, SubMenu, CollapsibleTree, ValidationObserver, ValidationProvider }, @@ -281,6 +282,7 @@ export default class DataTypeAuthorizationInfoView extends Vue { @Prop() authorizationId; authorizationService = AuthorizationService.INSTANCE; + internationalisationService = InternationalisationService.INSTANCE; alertService = AlertService.INSTANCE; applicationService = ApplicationService.INSTANCE; userPreferencesService = UserPreferencesService.INSTANCE; @@ -305,13 +307,6 @@ export default class DataTypeAuthorizationInfoView extends Vue { startDate = null; endDate = null; - localeDatatypeName(datatype) { - return ( - this.application?.dataTypes?.[datatype]?.internationalizationName?.[this.$i18n.locale] ?? - datatype.name - ); - } - created() { this.init(); this.chosenLocale = this.userPreferencesService.getUserPrefLocale(); @@ -347,6 +342,11 @@ export default class DataTypeAuthorizationInfoView extends Vue { async init() { try { this.application = await this.applicationService.getApplication(this.applicationName); + this.application = { + ...this.application, + localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) + }; const grantableInfos = await this.authorizationService.getAuthorizationGrantableInfos( this.applicationName, this.dataTypeId diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue index 21585bcb1..ddb8b6c02 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue @@ -4,7 +4,7 @@ <h1 class="title main-title"> {{ $t("titles.data-type-authorizations", { - dataType: localeDatatypeName(dataTypeId) || dataTypeId, + dataType: application.localDatatypeName || dataTypeId, }) }} </h1> @@ -81,6 +81,7 @@ import SubMenu, { SubMenuPath } from "@/components/common/SubMenu.vue"; import { AlertService } from "@/services/AlertService"; import { ApplicationService } from "@/services/rest/ApplicationService"; import { AuthorizationService } from "@/services/rest/AuthorizationService"; +import { InternationalisationService } from "@/services/InternationalisationService"; import { Component, Prop, Vue } from "vue-property-decorator"; import PageView from "../common/PageView.vue"; @@ -92,6 +93,7 @@ export default class DataTypeAuthorizationsView extends Vue { @Prop() applicationName; authorizationService = AuthorizationService.INSTANCE; + internationalisationService = InternationalisationService.INSTANCE; alertService = AlertService.INSTANCE; applicationService = ApplicationService.INSTANCE; @@ -105,13 +107,6 @@ export default class DataTypeAuthorizationsView extends Vue { ALWAYS: this.$t("dataTypeAuthorizations.always"), }; - localeDatatypeName(datatype) { - return ( - this.application?.dataTypes?.[datatype]?.internationalizationName?.[this.$i18n.locale] ?? - datatype.name - ); - } - created() { this.init(); this.subMenuPaths = [ @@ -137,11 +132,15 @@ export default class DataTypeAuthorizationsView extends Vue { async init() { try { this.application = await this.applicationService.getApplication(this.applicationName); + this.application = { + ...this.application, + localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) + }; this.authorizations = await this.authorizationService.getDataAuthorizations( this.applicationName, this.dataTypeId ); - console.log(this.authorizations); if (this.authorizations && this.authorizations.length !== 0) { this.scopes = Object.keys(this.authorizations[0].authorizedScopes); } -- GitLab From 6d92bfcd29f3c9bc0fd5cdc6969244b0119dd37e Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 22 Oct 2021 10:53:15 +0200 Subject: [PATCH 20/23] internationalization pages repository --- ui2/src/views/datatype/DataTypesRepositoryView.vue | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/ui2/src/views/datatype/DataTypesRepositoryView.vue b/ui2/src/views/datatype/DataTypesRepositoryView.vue index f756f9c13..1634ccb89 100644 --- a/ui2/src/views/datatype/DataTypesRepositoryView.vue +++ b/ui2/src/views/datatype/DataTypesRepositoryView.vue @@ -4,7 +4,7 @@ <SubMenu :root="application.localName || application.title" :paths="subMenuPaths" /> <h1 class="title main-title"> {{ - $t("titles.data-types-repository", { applicationName: localDatatypeName || dataTypeId }) + $t("titles.data-types-repository", { applicationName: application.localDatatypeName || dataTypeId }) }} </h1> <div class="columns"> @@ -261,17 +261,8 @@ export default class DataTypesRepositoryView extends Vue { this.application = { ...this.application, localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) }; - if (this.application.internationalization) { - this.localDatatypeName = Object.values(this.application.internationalization.dataTypes).map((d) => { - return { ...d, localName: this.internationalisationService.localeDatatypeName(d) }; - }); - } - else if (this.application.dataTypes) { - this.localDatatypeName = Object.values(this.application.dataTypes).map((d) => { - return { ...d, localName: this.internationalisationService.localeDatatypeName(d) }; - }); - } this.configuration = this.applications .filter((a) => a.name === this.applicationName) .map((a) => a.configuration.dataTypes[this.dataTypeId])[0]; -- GitLab From 610fbb1f15cd7bfba4c818ee81d4d4186d8679de Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 22 Oct 2021 13:50:38 +0200 Subject: [PATCH 21/23] message error temporaire --- .../java/fr/inra/oresing/rest/OreSiService.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java index 5be0bb715..7ec1345a9 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -95,8 +95,7 @@ public class OreSiService { @Autowired private RelationalService relationalService; - - private String escapeKeyComponent(String key) { + public static String escapeKeyComponent(String key) { String toEscape = StringUtils.stripAccents(key.toLowerCase()); String escaped = StringUtils.remove( RegExUtils.replaceAll( @@ -109,13 +108,10 @@ public class OreSiService { return escaped; } - - - private void checkNaturalKeySyntax(String keyComponent) { - if (!keyComponent.isEmpty()) - Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"), keyComponent + " n'est pas un élément valide pour une clé naturelle"); - else - Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"),"Impossible de trouver une clé naturelle valide car la colonne n'existe pas."); + public static void checkNaturalKeySyntax(String keyComponent) { + if(keyComponent.isEmpty()) + Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"), "La clé naturel ne peut être vide. vérifier le nom des colonnes."); + Preconditions.checkState(keyComponent.matches("[a-z0-9_]+"), keyComponent + " n'est pas un élément valide pour une clé naturelle"); } private void checkHierarchicalKeySyntax(String compositeKey) { @@ -419,7 +415,6 @@ public class OreSiService { .map(key -> escapeKeyComponent(key)) .collect(Collectors.joining(KEYCOLUMN_SEPARATOR)); } - //voir pour quand naturalKey est vide OreSiService.checkNaturalKeySyntax(naturalKey); String recursiveNaturalKey = naturalKey; if (isRecursive) { -- GitLab From aab0bba4def12ca147f0e2d5e8d40d252f8fc653 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 22 Oct 2021 14:00:28 +0200 Subject: [PATCH 22/23] =?UTF-8?q?gestion=20des=20conflis=20apr=C3=A8s=20fu?= =?UTF-8?q?sion=20de=20branch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/InternationalisationService.js | 55 ++++++++++++------- ui2/src/services/rest/ApplicationService.js | 14 ++--- .../views/application/ApplicationsView.vue | 2 +- .../DataTypeAuthorizationInfoView.vue | 10 ++-- .../DataTypeAuthorizationsView.vue | 9 ++- ui2/src/views/datatype/DataTypeTableView.vue | 24 ++++---- .../datatype/DataTypesManagementView.vue | 7 ++- .../datatype/DataTypesRepositoryView.vue | 12 +++- .../views/references/ReferenceTableView.vue | 8 ++- .../references/ReferencesManagementView.vue | 3 +- 10 files changed, 92 insertions(+), 52 deletions(-) diff --git a/ui2/src/services/InternationalisationService.js b/ui2/src/services/InternationalisationService.js index d5adccada..2418cfe96 100644 --- a/ui2/src/services/InternationalisationService.js +++ b/ui2/src/services/InternationalisationService.js @@ -3,61 +3,75 @@ import { Fetcher, LOCAL_STORAGE_LANG } from "./Fetcher"; export class InternationalisationService extends Fetcher { static INSTANCE = new InternationalisationService(); - mergeInternationalization(application){ + mergeInternationalization(application) { var internationalization; - if(application?.configuration?.internationalization) + if (application?.configuration?.internationalization) internationalization = application?.configuration?.internationalization; else if (application?.internationalization) internationalization = application?.internationalization; - if (!internationalization){ + if (!internationalization) { application.localName = application.name; return application; } - application.localName = this.localeApplicationName(internationalization?.application?.internationalization, application.name); + application.localName = this.localeApplicationName( + internationalization?.application?.internationalization, + application.name + ); return application; } localeApplicationName(applicationInternationalization, defautName) { - return (applicationInternationalization?.[localStorage.getItem(LOCAL_STORAGE_LANG)]) ?? defautName ; + return ( + applicationInternationalization?.[localStorage.getItem(LOCAL_STORAGE_LANG)] ?? defautName + ); } localeDataTypeIdName(application, datatype) { if (application.internationalization.dataTypes[datatype.id].internationalizationName != null) { - return application.internationalization.dataTypes[datatype.id].internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; - }else { + return application.internationalization.dataTypes[datatype.id].internationalizationName[ + localStorage.getItem(LOCAL_STORAGE_LANG) + ]; + } else { return datatype.name; } } localeDatatypeName(application) { if (application.internationalization != null) { let applicationDataTypes = application.internationalization.dataTypes; - for(let applicationDataType in applicationDataTypes) { + for (let applicationDataType in applicationDataTypes) { application.dataTypes[applicationDataType] = { ...application.dataTypes[applicationDataType], - localName: applicationDataTypes[applicationDataType].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)], - } + localName: + applicationDataTypes[applicationDataType].internationalizationName?.[ + localStorage.getItem(LOCAL_STORAGE_LANG) + ], + }; } } else { let applicationDataTypes = application.dataTypes; - for(let applicationDataType in applicationDataTypes) { + for (let applicationDataType in applicationDataTypes) { application.dataTypes[applicationDataType] = { ...application.dataTypes[applicationDataType], localName: application.dataTypes[applicationDataType].name, - } + }; } } return application.dataTypes; } localeReferenceName(references, applications) { - if(applications.internationalization) { + if (applications.internationalization) { let applicationReferences = applications.internationalization.references; - if(references.label) { + if (references.label) { for (let applicationReference in applicationReferences) { - if( applicationReference === references.label ) { - return (applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)]) ?? references.label; + if (applicationReference === references.label) { + return ( + applicationReferences[applicationReference].internationalizationName?.[ + localStorage.getItem(LOCAL_STORAGE_LANG) + ] ?? references.label + ); } } return references.label; @@ -66,12 +80,15 @@ export class InternationalisationService extends Fetcher { return references; } treeReferenceName(refs) { - if(refs.internationalization) { + if (refs.internationalization) { let applicationReferences = refs.internationalization.references; for (let applicationReference in applicationReferences) { refs.references[applicationReference] = { ...refs.references[applicationReference], - refNameLocal: applicationReferences[applicationReference].internationalizationName?.[localStorage.getItem(LOCAL_STORAGE_LANG)], + refNameLocal: + applicationReferences[applicationReference].internationalizationName?.[ + localStorage.getItem(LOCAL_STORAGE_LANG) + ], }; } } else { @@ -83,6 +100,6 @@ export class InternationalisationService extends Fetcher { }; } } - return refs.references; + return refs.references; } } diff --git a/ui2/src/services/rest/ApplicationService.js b/ui2/src/services/rest/ApplicationService.js index 26b3a10dc..4a2039044 100644 --- a/ui2/src/services/rest/ApplicationService.js +++ b/ui2/src/services/rest/ApplicationService.js @@ -1,5 +1,5 @@ import { Fetcher } from "../Fetcher"; -import {InternationalisationService} from "@/services/InternationalisationService"; +import { InternationalisationService } from "@/services/InternationalisationService"; export class ApplicationService extends Fetcher { static INSTANCE = new ApplicationService(); @@ -9,20 +9,20 @@ export class ApplicationService extends Fetcher { } async createApplication(applicationConfig) { - return this.post("applications/" + applicationConfig.name, { + return this.post("applications/" + applicationConfig.name, { file: applicationConfig.file, }); } async getApplications() { - var applications = await this.get("applications/"); - return applications.map((a) => { - return InternationalisationService.INSTANCE.mergeInternationalization(a) ; + var applications = await this.get("applications/"); + return applications.map((a) => { + return InternationalisationService.INSTANCE.mergeInternationalization(a); }); } async getApplication(name) { - var application = await this.get("applications/" + name); + var application = await this.get("applications/" + name); return InternationalisationService.INSTANCE.mergeInternationalization(application); } @@ -35,4 +35,4 @@ export class ApplicationService extends Fetcher { async getValidateConfiguration() { return this.post("validate-configuration"); } -} \ No newline at end of file +} diff --git a/ui2/src/views/application/ApplicationsView.vue b/ui2/src/views/application/ApplicationsView.vue index e02c9294b..734ec7ba6 100644 --- a/ui2/src/views/application/ApplicationsView.vue +++ b/ui2/src/views/application/ApplicationsView.vue @@ -336,4 +336,4 @@ export default class ApplicationsView extends Vue { margin-bottom: 0px; } } -</style> \ No newline at end of file +</style> diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue index 0809175d3..7c5b88f71 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationInfoView.vue @@ -285,7 +285,6 @@ export default class DataTypeAuthorizationInfoView extends Vue { internationalisationService = InternationalisationService.INSTANCE; alertService = AlertService.INSTANCE; applicationService = ApplicationService.INSTANCE; - internationalisationService = InternationalisationService.INSTANCE; userPreferencesService = UserPreferencesService.INSTANCE; periods = { @@ -296,7 +295,6 @@ export default class DataTypeAuthorizationInfoView extends Vue { }; authorizations = []; - application = new ApplicationResult(); users = []; dataGroups = []; authorizationScopes = []; @@ -345,8 +343,12 @@ export default class DataTypeAuthorizationInfoView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, - localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, + localDatatypeName: this.internationalisationService.localeDataTypeIdName( + this.application, + this.application.dataTypes[this.dataTypeId] + ), }; const grantableInfos = await this.authorizationService.getAuthorizationGrantableInfos( this.applicationName, diff --git a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue index 1791f56f7..a2ca446ae 100644 --- a/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue +++ b/ui2/src/views/authorizations/DataTypeAuthorizationsView.vue @@ -85,7 +85,6 @@ import { InternationalisationService } from "@/services/InternationalisationServ import { Component, Prop, Vue } from "vue-property-decorator"; import PageView from "../common/PageView.vue"; import { ApplicationResult } from "@/model/ApplicationResult"; -import { InternationalisationService } from "@/services/InternationalisationService"; @Component({ components: { PageView, SubMenu }, @@ -136,8 +135,12 @@ export default class DataTypeAuthorizationsView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, - localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, + localDatatypeName: this.internationalisationService.localeDataTypeIdName( + this.application, + this.application.dataTypes[this.dataTypeId] + ), }; this.authorizations = await this.authorizationService.getDataAuthorizations( this.applicationName, diff --git a/ui2/src/views/datatype/DataTypeTableView.vue b/ui2/src/views/datatype/DataTypeTableView.vue index 7fd9676d3..bd6574f4e 100644 --- a/ui2/src/views/datatype/DataTypeTableView.vue +++ b/ui2/src/views/datatype/DataTypeTableView.vue @@ -387,7 +387,7 @@ v-if="getRefsLinkedToId(row, component)" @click="getReferenceValues(row, component)" > - {{ getDisplay(row,component.variable,component.component)}} + {{ getDisplay(row, component.variable, component.component) }} </a> <p v-if="!getRefsLinkedToId(row, component)"> {{ row[component.variable][component.component] }} @@ -480,7 +480,7 @@ export default class DataTypeTableView extends Vue { activeTab = 0; isOpen = 0; variableSearch = []; - referenceLineCheckers=[]; + referenceLineCheckers = []; isRegExp = false; async created() { @@ -518,8 +518,12 @@ export default class DataTypeTableView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, - localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, + localDatatypeName: this.internationalisationService.localeDataTypeIdName( + this.application, + this.application.dataTypes[this.dataTypeId] + ), }; await this.initDatatype(); } @@ -761,13 +765,13 @@ export default class DataTypeTableView extends Vue { } this.initDatatype(); } - getDisplay(row, variable,component){ - var key = variable+"_"+component; + getDisplay(row, variable, component) { + var key = variable + "_" + component; var value = row[variable][component]; - if (this.referenceLineCheckers[key]){ - if (this.referenceLineCheckers[key].display){ - var display = this.referenceLineCheckers[key].display[value] - return display?display:value; + if (this.referenceLineCheckers[key]) { + if (this.referenceLineCheckers[key].display) { + var display = this.referenceLineCheckers[key].display[value]; + return display ? display : value; } } return value; diff --git a/ui2/src/views/datatype/DataTypesManagementView.vue b/ui2/src/views/datatype/DataTypesManagementView.vue index 601f53bfe..f4e94593e 100644 --- a/ui2/src/views/datatype/DataTypesManagementView.vue +++ b/ui2/src/views/datatype/DataTypesManagementView.vue @@ -106,12 +106,15 @@ export default class DataTypesManagementView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, }; if (!this.application?.id) { return; } - this.dataTypes = Object.values(this.internationalisationService.localeDatatypeName(this.application)) + this.dataTypes = Object.values( + this.internationalisationService.localeDatatypeName(this.application) + ); } catch (error) { this.alertService.toastServerError(); } diff --git a/ui2/src/views/datatype/DataTypesRepositoryView.vue b/ui2/src/views/datatype/DataTypesRepositoryView.vue index 1634ccb89..ca18c9919 100644 --- a/ui2/src/views/datatype/DataTypesRepositoryView.vue +++ b/ui2/src/views/datatype/DataTypesRepositoryView.vue @@ -4,7 +4,9 @@ <SubMenu :root="application.localName || application.title" :paths="subMenuPaths" /> <h1 class="title main-title"> {{ - $t("titles.data-types-repository", { applicationName: application.localDatatypeName || dataTypeId }) + $t("titles.data-types-repository", { + applicationName: application.localDatatypeName || dataTypeId, + }) }} </h1> <div class="columns"> @@ -260,8 +262,12 @@ export default class DataTypesRepositoryView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, - localDatatypeName : this.internationalisationService.localeDataTypeIdName(this.application ,this.application.dataTypes[this.dataTypeId]) + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, + localDatatypeName: this.internationalisationService.localeDataTypeIdName( + this.application, + this.application.dataTypes[this.dataTypeId] + ), }; this.configuration = this.applications .filter((a) => a.name === this.applicationName) diff --git a/ui2/src/views/references/ReferenceTableView.vue b/ui2/src/views/references/ReferenceTableView.vue index 39e956ec1..12ab25380 100644 --- a/ui2/src/views/references/ReferenceTableView.vue +++ b/ui2/src/views/references/ReferenceTableView.vue @@ -83,8 +83,12 @@ export default class ReferenceTableView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, - localRefName: this.internationalisationService.localeReferenceName(this.application.references[this.refId], this.application), + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, + localRefName: this.internationalisationService.localeReferenceName( + this.application.references[this.refId], + this.application + ), }; const references = await this.referenceService.getReferenceValues( this.applicationName, diff --git a/ui2/src/views/references/ReferencesManagementView.vue b/ui2/src/views/references/ReferencesManagementView.vue index 1f7b39f4f..290e99884 100644 --- a/ui2/src/views/references/ReferencesManagementView.vue +++ b/ui2/src/views/references/ReferencesManagementView.vue @@ -84,7 +84,8 @@ export default class ReferencesManagementView extends Vue { this.application = await this.applicationService.getApplication(this.applicationName); this.application = { ...this.application, - localName: this.internationalisationService.mergeInternationalization(this.application).localName, + localName: this.internationalisationService.mergeInternationalization(this.application) + .localName, }; if (!this.application?.id) { return; -- GitLab From 9494e47bf9f234eb6818fef4904855b0ccf60eb5 Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Fri, 22 Oct 2021 14:35:12 +0200 Subject: [PATCH 23/23] passage des tests --- src/test/resources/data/pros/pro.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/resources/data/pros/pro.yaml b/src/test/resources/data/pros/pro.yaml index 04188176b..ca267b32d 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -63,13 +63,13 @@ references: internationalizationName: fr: Parcelles en: Parcelles - keyColumns: [Code du dispositif_Nom du lieu, Nom du bloc_code du bloc, Nom de la parcelle élémentaire] + keyColumns: [Code du dispositif_Nom du lieu, Nom du bloc_code du bloc, Nom de la parcelle elementaire] columns: Code du dispositif_Nom du lieu: Nom du bloc_code du bloc: - Nom de la parcelle élémentaire: - Code de la parcelle élémentaire: - Système de projection: + Nom de la parcelle elementaire: + Code de la parcelle elementaire: + Systeme de projection: Latitude: Longitude: placettes: -- GitLab