Subversion Repositories eFlore/Applications.cel

Rev

Rev 2040 | 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 org.tela_botanica.client.i18n.Msg;

import com.gwtext.client.data.SimpleStore;
import com.gwtext.client.data.Store;

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 = {{Msg.get("certain"),"certain"}, 
                                {Msg.get("douteux"),"douteux"}, 
                                {Msg.get("a-determiner"),"aDeterminer"}
                        };
                SimpleStore storeCertitude = new SimpleStore(new String[] {"label","valeur"},valeurs);
                storeCertitude.load();
                return storeCertitude;
        }
        
        public static Store getValeursAbondance() {             
                Object[][] valeurs = {
                        {Msg.get("abondance-5"),"5"}, 
                        {Msg.get("abondance-4"),"4"}, 
                        {Msg.get("abondance-3"),"3"}, 
                        {Msg.get("abondance-2"),"2"}, 
                        {Msg.get("abondance-1"),"1"}, 
                        {Msg.get("abondance-+"),"+"},
                        {Msg.get("abondance-r"),"r"}, 
                        {Msg.get("abondance-i"),"i"},
                        {Msg.get("abondance-1-5"),"1-5"},
                        {Msg.get("abondance-5-10"),"5-10"},
                        {Msg.get("abondance-10-50"),"10-50"},
                        {Msg.get("abondance-50-100"),"50-100"},
                        {Msg.get("abondance-100-500"),"100-500"},
                        {Msg.get("abondance->500"),">500"},
                        {Msg.get("abondance-E"),"E"},
                        {Msg.get("abondance-RR"),"RR"},
                        {Msg.get("abondance-R"),"R"},
                        {Msg.get("abondance-AR"),"AR"},
                        {Msg.get("abondance-PC"),"PC"},
                        {Msg.get("abondance-AC"),"AC"},
                        {Msg.get("abondance-C"),"C"},
                        {Msg.get("abondance-CC"),"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", Msg.get("certain"));
                        valeursCertitude.put("douteux", Msg.get("douteux"));
                        valeursCertitude.put("aDeterminer", Msg.get("a-determiner"));
                }

                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() {
                //TODO: attendre les retours de l'experte en phénologie
                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;
        }
}