Rev 2077 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.config;
import java.util.LinkedHashMap;
import com.google.gwt.i18n.client.Dictionary;
/**
* Classe chargeant certains paramètres de configuration à partir d'un fichier
* javascript (config.js)
*
* @author Jean-Pascal MILCENT
*
*/
public class Config {
/**
* Tableau associatif contenant les identifiants des urls externes
*/
private LinkedHashMap<String, String> urls = new LinkedHashMap<String, String>();
/**
* Tableau associatif contenant d'autres informations
*/
private LinkedHashMap<String, String> infos = new LinkedHashMap<String, String>();
/** true si l'appli est en prod, false si elle est en test */
protected boolean prod;
/**
* Constructeur sans argument
*/
public Config() {
// on utilise le dictionnaire d'internationalisation pour lire les variables du fichier javascript
// @WTF quel intérêt de copier un dictionnaire dans un autre ??
Dictionary configuration = Dictionary.getDictionary("configuration");
urls.put("base", configuration.get("serviceBaseUrl"));
urls.put("del", configuration.get("delUrl"));
urls.put("identiplante", configuration.get("identiplanteUrl"));
urls.put("pictoflora", configuration.get("pictofloraUrl"));
urls.put("bogue", configuration.get("bogueUrl"));
urls.put("commentaire", configuration.get("commentaireUrl"));
urls.put("applisaisie", configuration.get("appliSaisieUrl"));
urls.put("eflore", configuration.get("efloreUrl"));
urls.put("efloreTaxon", configuration.get("efloreTaxonUrl"));
urls.put("bonnierPda", configuration.get("bonnierPdaUrl"));
urls.put("ouvragesFlore", configuration.get("ouvragesFloreUrl"));
urls.put("clesDetermination", configuration.get("clesDeterminationUrl"));
urls.put("rss", configuration.get("rssUrl"));
urls.put("iconeBaseUrl", configuration.get("iconeTagBaseUrl"));
urls.put("profil", configuration.get("profilUrl"));
urls.put("images", configuration.get("imagesUrl"));
urls.put("serviceUtilisateursBaseUrl", configuration.get("serviceUtilisateursBaseUrl"));
urls.put("serviceAuthBaseUrl", configuration.get("serviceAuthBaseUrl"));
prod = Boolean.parseBoolean(configuration.get("prod"));
infos.put("popupOptions", "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");
}
/**
* Accesseur pour l'url de base du serveur jrest
*
* @return une url de la forme http://emplacement_serveur/jrest
*/
public String getServiceBaseUrl() {
return getUrl("base");
}
public String getUrl(String code) {
String url = "";
if (urls.containsKey(code)) {
url = urls.get(code);
}
return url;
}
public boolean isProd() {
return prod;
}
public String getInfo(String code) {
String info = "";
if (infos.containsKey(code)) {
info = infos.get(code);
}
return info;
}
}