diff --git a/Documentation_fichier_Yaml.md b/Documentation_fichier_Yaml.md index 3112e9a3466a4ea659f5484f7c42ba81c2e45344..fff84133b67c5ce4feb3f508f6775aab53adfb88 100644 --- a/Documentation_fichier_Yaml.md +++ b/Documentation_fichier_Yaml.md @@ -567,20 +567,25 @@ On peut surcharger l'affichage d'une colonne faisant référence à un référen ``` -# 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 ne pas mettre +* 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é _ et . -* le nom des colonnes doivent être le plus court possible + * autorisé les _ et les . +* 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 ";" \ No newline at end of file +## 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. diff --git a/src/main/java/fr/inra/oresing/checker/CheckerFactory.java b/src/main/java/fr/inra/oresing/checker/CheckerFactory.java index 0afd8067e435e463f5b2011eecf62967f6ce7433..76810197901b3c1e7a8d96f637c5b59942c41af7 100644 --- a/src/main/java/fr/inra/oresing/checker/CheckerFactory.java +++ b/src/main/java/fr/inra/oresing/checker/CheckerFactory.java @@ -217,4 +217,4 @@ public class CheckerFactory { return param; } } -} \ No newline at end of file +} diff --git a/src/main/java/fr/inra/oresing/checker/ILineCheckerDecorator.java b/src/main/java/fr/inra/oresing/checker/ILineCheckerDecorator.java new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/main/java/fr/inra/oresing/checker/LineChecker.java b/src/main/java/fr/inra/oresing/checker/LineChecker.java index 57c43f8451e0e4a65d364b2165f45c13d8542f9e..e01b9aac67ce653f35f06ce847947c5f1ac1f552 100644 --- a/src/main/java/fr/inra/oresing/checker/LineChecker.java +++ b/src/main/java/fr/inra/oresing/checker/LineChecker.java @@ -9,4 +9,4 @@ public interface LineChecker { ValidationCheckResult check(Map<VariableComponentKey, String> values); ValidationCheckResult checkReference(Map<String, String> values); -} \ No newline at end of file +} diff --git a/src/main/java/fr/inra/oresing/rest/ApplicationResult.java b/src/main/java/fr/inra/oresing/rest/ApplicationResult.java index 1fb8aa79e222e9fc463c9faa12e957803e63e6b9..cee9cf2037a997cdf4f5c9dfff18c4260637e6be 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; @@ -11,6 +12,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/ConfigurationParsingResult.java b/src/main/java/fr/inra/oresing/rest/ConfigurationParsingResult.java index 61b912c7092f1137f74dea563d9339162db3d94c..f5fe33e1fb6f09c96d1735b94df36c3f08b7925b 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/main/java/fr/inra/oresing/rest/OreSiResources.java b/src/main/java/fr/inra/oresing/rest/OreSiResources.java index d1da8c1a4828f556d752b3f1168b4211020ebe60..f171d698b7b769a30e036a546759185bbb727184 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 601849443d8c524ced341bd83e8144a296d66cc8..7ec1345a92f9d5e8f5b67cc230007b06c8cbcd5b 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -109,6 +109,8 @@ public class OreSiService { } 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"); } @@ -1420,4 +1422,4 @@ public class OreSiService { int lineNumber; List<Map.Entry<String, String>> columns; } -} \ No newline at end of file +} diff --git a/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java b/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java index ef187745a151a36aca07cfc48714fd819bd45f67..ee0a1dfad535d06ae001957d14817c2ae15a34de 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" + diff --git a/src/test/java/fr/inra/oresing/rest/Fixtures.java b/src/test/java/fr/inra/oresing/rest/Fixtures.java index 15f9399dbe49de0df596075c739336bc0d4bbb7f..b558edb9f15886abbe73032cbdd4aa497b310638 100644 --- a/src/test/java/fr/inra/oresing/rest/Fixtures.java +++ b/src/test/java/fr/inra/oresing/rest/Fixtures.java @@ -392,6 +392,13 @@ 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"); + 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/monsore/monsore-with-repository.yaml b/src/test/resources/data/monsore/monsore-with-repository.yaml index 685e0a8340bd6d4f143f628c8a3dd181b20b1c6b..a95753f1dffe881630b2e0cbbd44d11a24dc2f93 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/src/test/resources/data/pros/commune.csv b/src/test/resources/data/pros/commune.csv new file mode 100644 index 0000000000000000000000000000000000000000..3ef55b139d25fb8232206f2498d8ed96371bd25b --- /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 0000000000000000000000000000000000000000..2629718e39067997e8a27e02c927d56adb8ad9a6 --- /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 0000000000000000000000000000000000000000..9e2baa0146f514396cda3375d46214e4c43d6ddd --- /dev/null +++ b/src/test/resources/data/pros/echelle_de_prelevement.csv @@ -0,0 +1,7 @@ +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/facteur.csv b/src/test/resources/data/pros/facteur.csv new file mode 100644 index 0000000000000000000000000000000000000000..e6c86040970d51cd3e46b819fbe0ab9f7bf6bfe3 --- /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/itk_autres_listes.csv b/src/test/resources/data/pros/itk_autres_listes.csv new file mode 100644 index 0000000000000000000000000000000000000000..6741af65911469535587adcbd05acf81e81b15a1 --- /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 0000000000000000000000000000000000000000..d44f73d196f567285f7df2c3143053380dc5a32f --- /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 0000000000000000000000000000000000000000..aa6860be65440aca9b7f5de6ec3e1c23f1eea920 --- /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 0000000000000000000000000000000000000000..bcb15d0dae5a3b0ecdbeef45d8b73c9436d77ba8 --- /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 0000000000000000000000000000000000000000..3088c15bfcdc4832eee0f7a810027758ec55177b --- /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 0000000000000000000000000000000000000000..4f064425b31c6b67d654b59a8fb7ae6c5af805bc --- /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 0000000000000000000000000000000000000000..e964f4fbec2c9d0d5e1f6ca96d798748a9a5e0db --- /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 0000000000000000000000000000000000000000..f19b4c9bedf41ff6a81893dd00807d5a6cf7626e --- /dev/null +++ b/src/test/resources/data/pros/itk_observation_qualitative.csv @@ -0,0 +1,70 @@ +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/itk_type_intervention.csv b/src/test/resources/data/pros/itk_type_intervention.csv new file mode 100644 index 0000000000000000000000000000000000000000..4090690b2357911bc838c5fbadeaba9d98da0d4e --- /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 0000000000000000000000000000000000000000..e71c7fe896e949603ac87a8f4ceb5c456cb284ed --- /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 new file mode 100644 index 0000000000000000000000000000000000000000..f8c39d310250e19148d679b4709ed32abe059642 --- /dev/null +++ b/src/test/resources/data/pros/liste_de_raisonnement.csv @@ -0,0 +1,4 @@ +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 8820df36ffc3f3c323f5dd643da7d32c7a79d844..40a7980430a9b98b4eb90687e1eff5dcb8b416f8 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 new file mode 100644 index 0000000000000000000000000000000000000000..90c46b95b0472a3d3166d3adc509f2a4d0195eab --- /dev/null +++ b/src/test/resources/data/pros/pays.csv @@ -0,0 +1,32 @@ +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 74cf990a92adf9ede8805445d89c3d9da2c6c1a7..ca267b32d29904416d53eebbe61f85e7c09a5786 100644 --- a/src/test/resources/data/pros/pro.yaml +++ b/src/test/resources/data/pros/pro.yaml @@ -19,6 +19,9 @@ compositeReferences: traitements: components: - reference: traitements + lieu: + components: + - reference: type_lieu references: dispositifs: internationalizationName: @@ -60,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: @@ -99,6 +102,342 @@ 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_key] + columns: + Libelle du type de lieu_key: + Libelle du type de lieu_fr: + Libelle du type de lieu_en: + 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_key ] + columns: + Libelle du type de dispositif_key: + Libelle du type de dispositif_fr: + Libelle du type de dispositif_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_parcelle_elementaire: + keyColumns: [ Code de la parcelle elementaire ] + columns: + Code de la parcelle elementaire: + Statut_placette: + keyColumns: [ Libelle du statut de la placette_fr ] + columns: + 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_fr,Nom de la region ] + columns: + Nom du pays_fr: + Nom de la region: + departement: + keyColumns: [ Nom de la region,Nom du departement ] + columns: + 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 departement: + Code postal: + Nom de la commune: + station_experimentale: + keyColumns: [ Nom de la station experimentale_key ] + columns: + Nom de la station experimentale_key: + Nom de la station experimentale: + 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: [ acbb ] + columns: + acbb: + Modalite_facteur: + keyColumns: [ Libelle du type de facteur,Libelle du facteur,Valeur de la modalite ] + columns: + Libelle du type de facteur: + Libelle du facteur: + Valeur de la modalite: + 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_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 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_general: + keyColumns: [ Nom protocole general ] + columns: + 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: + keyColumns: [ Nom du protocole,Libelle de la liste de raisonnement,Valeur du raisonnement ] + columns: + Nom du protocole: + Libelle de la liste de raisonnement: + Valeur du raisonnement: + Commentaire: + 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: + 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 elementaire - Code du dispositif (Nom du lieu),Code de la placette,Libelle du statut de la placette ] + columns: + Code de la parcelle elementaire - Code du dispositif (Nom du lieu): + Code de la placette: + Libelle du statut de la placette: + role_des_personnes_ressources_par_dispositif: + keyColumns: [ acbb ] + columns: + acbb: + affiliation_reseau_essais: + keyColumns: [ Code du dispositif (Nom du lieu),Nom du reseau essai ] + columns: + Code du dispositif (Nom du lieu): + 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: + 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: + Precision (pole et/ou unite et/ou equipe): + Observatoire: + structures_des_lieux: + keyColumns: [ Nom de la structure,Precision (pole et/ou unito et/ou oquipe),Nom du lieu ] + columns: + 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: @@ -339,4 +678,4 @@ dataTypes: - header: "Code Expression Humidité" boundTo: variable: context - component: Code Expression Humidité \ No newline at end of file + component: Code Expression Humidité diff --git a/src/test/resources/data/pros/region.csv b/src/test/resources/data/pros/region.csv new file mode 100644 index 0000000000000000000000000000000000000000..fa674080d796da6960bf9b670ecf6c0311389fa8 --- /dev/null +++ b/src/test/resources/data/pros/region.csv @@ -0,0 +1,17 @@ +Nom du pays_fr;Nom de la region +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 0000000000000000000000000000000000000000..d7d35e1fd28ad279d1222828065296f70f455237 --- /dev/null +++ b/src/test/resources/data/pros/reseau_d_essai_ou_observatoire.csv @@ -0,0 +1,5 @@ +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 +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 0000000000000000000000000000000000000000..767f24001b5c3f8a1f4bc7457afb709336267997 --- /dev/null +++ b/src/test/resources/data/pros/role_de_la_personne_ressource.csv @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..6ca9c3e0c06f53a36adad2b1e33257b9c4020922 --- /dev/null +++ b/src/test/resources/data/pros/station_experimentale.csv @@ -0,0 +1,25 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..a6c30b728c44d564813d71156eebebe6444379aa --- /dev/null +++ b/src/test/resources/data/pros/systeme_de_conduite_d_un_dispositif.csv @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..d543c1528cc13ff042c7c2bb09ee8c3e56b8a793 --- /dev/null +++ b/src/test/resources/data/pros/systeme_de_projection.csv @@ -0,0 +1,3 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..fcf4f4e74f66519e2594aae7bd67306716858d42 --- /dev/null +++ b/src/test/resources/data/pros/thematique_etudiee.csv @@ -0,0 +1,22 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..1b616bb2d89af2b12d75b017bb697f7d294182ea --- /dev/null +++ b/src/test/resources/data/pros/type_de_culture.csv @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..f961fc3e6c3d82b86e073cc1660e8150e66bead7 --- /dev/null +++ b/src/test/resources/data/pros/type_de_dispositif.csv @@ -0,0 +1,9 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..2ef2c72da82b53642722941352df21b0c4db5a9d --- /dev/null +++ b/src/test/resources/data/pros/type_de_document.csv @@ -0,0 +1,11 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..684a269b30ea3a9acc7b26b795eb8b1f289a7c29 --- /dev/null +++ b/src/test/resources/data/pros/type_de_facteur.csv @@ -0,0 +1,8 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..1b7167dc964217275ca85f01b3be2e309b2715f5 --- /dev/null +++ b/src/test/resources/data/pros/type_de_structure.csv @@ -0,0 +1,11 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..77dc993460ecfa4ed792625497dc18a1ef5b1861 --- /dev/null +++ b/src/test/resources/data/pros/type_de_traitement.csv @@ -0,0 +1,5 @@ +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/type_lieu.csv b/src/test/resources/data/pros/type_lieu.csv new file mode 100644 index 0000000000000000000000000000000000000000..9693adb42bbb06f5c133c2e83e6cf438297782cf --- /dev/null +++ b/src/test/resources/data/pros/type_lieu.csv @@ -0,0 +1,8 @@ +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 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 0000000000000000000000000000000000000000..695e22518ce14fd158039ca23b67b61f4bfe72b3 --- /dev/null +++ b/src/test/resources/data/pros/valeur_de_raisonnement.csv @@ -0,0 +1,12 @@ +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 +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 diff --git a/ui2/src/locales/en.json b/ui2/src/locales/en.json index 555fa11e716902a12a386b55c709ed8d942c2b08..77d2f038e3be84605ef1f02b08a70eb333ad73b8 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 b4b8c04b5378a44993cdb4f74564ec62907b92a7..17e6be30d0224d6b87cb191ee70b914f2786687e 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 e514a88c24b42bc9fa8431d3dbc589204a8ff570..7928e9828a4f773a0d7df5d7d852bba1a1a6b59a 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 10d678f365ef3267a0c3d382cb548da0294ed413..2418cfe96439d9748d546e9e9532fc785e2606f1 100644 --- a/ui2/src/services/InternationalisationService.js +++ b/ui2/src/services/InternationalisationService.js @@ -1,25 +1,105 @@ -import {Fetcher, LOCAL_STORAGE_LANG} from "./Fetcher"; +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 ; + return ( + applicationInternationalization?.[localStorage.getItem(LOCAL_STORAGE_LANG)] ?? defautName + ); } - localeDatatypeName(datatype) { - if (datatype.internationalizationName != null) { - return datatype.internationalizationName[localStorage.getItem(LOCAL_STORAGE_LANG)]; - }else { + + 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; } } - 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; + 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; } - -} \ No newline at end of file + localeReferenceName(references, applications) { + if (applications.internationalization) { + let applicationReferences = applications.internationalization.references; + 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; + } + } + 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) + ], + }; + } + } else { + let applicationReferences = refs.references; + for (let applicationReference in applicationReferences) { + refs.references[applicationReference] = { + ...refs.references[applicationReference], + refNameLocal: refs.references[applicationReference].name, + }; + } + } + return refs.references; + } +} diff --git a/ui2/src/services/rest/ApplicationService.js b/ui2/src/services/rest/ApplicationService.js index 3b4bdfefb5aee11657fa1d89c1115229dd001a24..4a2039044c12ce689c0cee670e60b08f7bca7516 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,30 +9,21 @@ export class ApplicationService extends Fetcher { } async createApplication(applicationConfig) { - return this.post("applications/" + applicationConfig.name, { + return this.post("applications/" + applicationConfig.name, { 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) ; + 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); - return this.mergeInternationalization(application); + var application = await this.get("applications/" + name); + return InternationalisationService.INSTANCE.mergeInternationalization(application); } async validateConfiguration(applicationConfig) { @@ -44,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/style/_variables.scss b/ui2/src/style/_variables.scss index df8b9c44fa0f594a80c831acc5c4217d3088b7ca..5d27c2b13730eed09d571acb8409d30062ad0109 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/utils/ConversionUtils.js b/ui2/src/utils/ConversionUtils.js index 8889b72c8ae206448ccd309a44f58a1ec6112359..0a2c2dda42c51d7aec00ee5988cb693c72ed9d89 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/application/ApplicationsView.vue b/ui2/src/views/application/ApplicationsView.vue index e02c9294b37c995a8547d753ea71bbccb8b692c4..734ec7ba6912823a3a452ddf515bfa12d3595a52 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 246542e174d9379321aeb97a79a83a094ccde5e9..7c5b88f717c91681c270d3e182a20427ff874064 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; @@ -293,7 +295,6 @@ export default class DataTypeAuthorizationInfoView extends Vue { }; authorizations = []; - application = {}; users = []; dataGroups = []; authorizationScopes = []; @@ -305,13 +306,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 +341,15 @@ 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 21585bcb1496fcae7f7b3be874f9ec4195ec2e04..a2ca446ae364d0b7cf6315019ec25338ba0348a4 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,8 +81,10 @@ 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"; +import { ApplicationResult } from "@/model/ApplicationResult"; @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"), @@ -105,13 +108,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 +133,19 @@ 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); } diff --git a/ui2/src/views/datatype/DataTypeTableView.vue b/ui2/src/views/datatype/DataTypeTableView.vue index b178940710477a587c8a2a2d4c6f6dfa7bc00fa1..bd6574f4eac14d8ef58d487776d31ab12cbbd11d 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.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(); } @@ -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; @@ -882,4 +886,4 @@ $row-variable-height: 60px; .columns { margin: 0; } -</style> \ No newline at end of file +</style> diff --git a/ui2/src/views/datatype/DataTypesManagementView.vue b/ui2/src/views/datatype/DataTypesManagementView.vue index 1419df62bb449f4408edc3e38322307dbfd26428..f4e94593ec1d371e18c7e09fc4b1df0e58a00a00 100644 --- a/ui2/src/views/datatype/DataTypesManagementView.vue +++ b/ui2/src/views/datatype/DataTypesManagementView.vue @@ -106,16 +106,15 @@ 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 c482f432be6a75bfb8f4f0d83b92ed0701cbe4bb..ca18c991955449d5acb913ab48f08483b8c486e4 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: localDatatypeName || dataTypeId }) + $t("titles.data-types-repository", { + applicationName: application.localDatatypeName || dataTypeId, + }) }} </h1> <div class="columns"> @@ -260,10 +262,13 @@ 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, + localDatatypeName: this.internationalisationService.localeDataTypeIdName( + this.application, + this.application.dataTypes[this.dataTypeId] + ), }; - this.localDatatypeName = - this.application.dataTypes[this.dataTypeId]?.internationalizationName?.[this.$i18n.locale]; this.configuration = this.applications .filter((a) => a.name === this.applicationName) .map((a) => a.configuration.dataTypes[this.dataTypeId])[0]; diff --git a/ui2/src/views/references/ReferenceTableView.vue b/ui2/src/views/references/ReferenceTableView.vue index 9da116ab8d29793b11a0dc6391d4b65ce2554125..12ab2538094e97b7392a94ee86bcb87e38262c1e 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,12 +83,16 @@ 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, - this.refId, + this.refId ); if (references) { this.referenceValues = references.referenceValues; diff --git a/ui2/src/views/references/ReferencesManagementView.vue b/ui2/src/views/references/ReferencesManagementView.vue index aef95e3cf4a2bc1b47f89792cf2e34e077af6158..290e99884e4804f9aef9561c05e3c6dd1bb7207b 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,14 @@ 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.treeReferenceName(this.application)) ); } catch (error) { this.alertService.toastServerError(); @@ -131,7 +130,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>