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;
}
}