Subversion Repositories eFlore/Applications.cel

Rev

Rev 2033 | Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles.objets;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
import com.gwtext.client.data.SimpleStore;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;

public class Ontologies {
        
        //TODO: extraire toutes ces valeurs dans des fichiers de configuration
        // ou bien via l'appel d'un web service spécialisé.
        private static HashMap<String, String> valeursCertitude = null;
        private static List<InfosReferentielNom> listeReferentielsNoms = null;

        public static Store getValeursCertitude() {
                Object[][] valeurs = {{"Certaine","certain"}, 
                                {"Douteuse","douteux"}, 
                                {"A déterminer","aDeterminer"}
                        };
                SimpleStore storeCertitude = new SimpleStore(new String[] {"label","valeur"},valeurs);
                storeCertitude.load();
                return storeCertitude;
        }
        
        public static Store getValeursAbondance() {             
                Object[][] valeurs = {
                        {"5 : recouvrement R > 75%","5"}, 
                        {"4 : 50% < R < 75%","4"}, 
                        {"3 : 25% < R < 50%","3"}, 
                        {"2 : 5% < R < 25%","2"}, 
                        {"1 : 1% < R < 5%","1"}, 
                        {"+ : recouvrement R < 1%","+"},
                        {"r : rare (quelques pieds)","r"}, 
                        {"i : un seul individu","i"},
                        {"1-5 individus","1-5"},
                        {"5-10 individus","5-10"},
                        {"10-50 individus","10-50"},
                        {"50-100 individus","50-100"},
                        {"100-500 individus","100-500"},
                        {">500 individus",">500"},
                        {"E : exceptionnel","E"},
                        {"RR : très rare","RR"},
                        {"R : rare","R"},
                        {"AR : assez rare","AR"},
                        {"PC : peu commun","PC"},
                        {"AC : assez commun","AC"},
                        {"C : commun","C"},
                        {"CC : très commun","CC"}
                };
                SimpleStore storeAbondance = new SimpleStore(new String[] {"label","valeur"},valeurs);
                storeAbondance.load();
                return storeAbondance;
        }
        
        public static String getCorrespondanceCertitude(String cle) {
                if(valeursCertitude == null) {
                        valeursCertitude = new HashMap<String, String>();
                        valeursCertitude.put("certain", "Certaine");
                        valeursCertitude.put("douteux", "Douteuse");
                        valeursCertitude.put("aDeterminer", "A déterminer");
                }

                String valeur = valeursCertitude.get(cle);
                
                return valeur == null ? cle : valeur;
        }
        
        public static Store getValeursReferentiel() {
                List<InfosReferentielNom> listeReferentiels = Configuration.getReferentielsDispos();
                Object[][] valeurs = new Object[listeReferentiels.size()][2];
                int i = 0;
                for (Iterator<InfosReferentielNom> iterator = listeReferentiels.iterator(); iterator
                                .hasNext();) {
                        InfosReferentielNom infosReferentielNom = iterator.next();
                        
                        String[] valeur = {infosReferentielNom.getIntitule(), infosReferentielNom.getCode()};
                        valeurs[i] = valeur;
                        i++;
                }
                SimpleStore storeReferentiels = new SimpleStore(new String[] {"label","valeur"},valeurs);
                storeReferentiels.load();
                return storeReferentiels;
        }

        public static InfosReferentielNom getInfosReferentielNomParCode(String code) {
                InfosReferentielNom infos = null;
                List<InfosReferentielNom> listeReferentiels = Configuration.getReferentielsDispos();
                for (Iterator<InfosReferentielNom> iterator = listeReferentiels.iterator(); iterator
                                .hasNext();) {
                        InfosReferentielNom infosReferentielNom = iterator.next();
                        if(infosReferentielNom.getCode().equals(code)) {
                                infos = infosReferentielNom;
                                break;
                        }
                }
                
                return infos;
        }
        
        public static Store getValeursPhenologie() {
                Object[][] valeurs = {
                        {"00-09: germination, développement des bourgeons", "00-09"},
                        {"10-19: développement des feuilles", "10-19"},
                        {"11: par ex, environ 10% des feuilles épanouies", "11"},
                        {"15: par ex, environ 50% des feuilles épanouies", "15"},
                        {"20-29: formation de pousses latérales, tallage", "20-29"},
                        {"30-39: développement des tiges, croissance des rosettes", "30-39"},
                        {"40-49: développement des organes de propagation végétative", "40-49"},
                        {"50-59: apparition de l'inflorescence, épiaison", "50-59"},
                        {"60-69: floraison", "60-69"},
                        {"61 : par ex, environ 10% des fleurs épanouies", "61"},
                        {"65 : par ex, environ 50% des fleurs épanouies", "65"},
                        {"70-79: fructification", "70-79"},
                        {"80-89: maturité des fruits et des graines", "80-89"},
                        {"85: par ex, 50% des fruits matures", "85"},
                        {"90-99: sénescence et dormance", "90-99"},
                        {"91: par ex, environ 10% des feuilles jaunes", "91"},
                        {"95: par ex, environ 50% des feuilles jaunes", "95"}
                };
                SimpleStore storeAbondance = new SimpleStore(new String[] {"label","valeur"},valeurs);
                storeAbondance.load();
                return storeAbondance;
        }
        
        public static HashMap<String, String> getCorrespondanceGrilleObservationChampsTri() {
                HashMap<String, String> correspondances = new HashMap<String, String>();
                correspondances.put("etat_observation", "transmission");
                correspondances.put("referentiel_taxo_observation", "nom_referentiel");
                correspondances.put("nomSaisi_observation", "nom_sel");
                correspondances.put("certitude", "certitude");
                correspondances.put("nomRetenu_observation", "nom_ret");
                correspondances.put("famille_observation", "famille");
                correspondances.put("abondance", "abondance");
                correspondances.put("phenologie", "phenologie");
                correspondances.put("etat_observation", "transmission");
                correspondances.put("lieu_observation", "ce_zone_geo");
                correspondances.put("altitude_observation", "altitude");
                correspondances.put("date_observation", "date_observation");
                correspondances.put("ordre_observation", "ordre");
                
                return correspondances;
        }
}