Subversion Repositories eFlore/Applications.del

Rev

Rev 2077 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
532 jpm 1
package org.tela_botanica.del.client.config;
2
 
3
import java.util.LinkedHashMap;
4
import com.google.gwt.i18n.client.Dictionary;
5
 
6
/**
7
 * Classe chargeant certains paramètres de configuration à partir d'un fichier
8
 * javascript (config.js)
9
 *
10
 * @author Jean-Pascal MILCENT
11
 *
12
 */
13
public class Config {
14
 
15
	/**
16
	 * Tableau associatif contenant les identifiants des urls externes
17
	 */
18
	private LinkedHashMap<String, String> urls = new LinkedHashMap<String, String>();
1165 aurelien 19
 
20
	/**
21
	 * Tableau associatif contenant d'autres informations
22
	 */
23
	private LinkedHashMap<String, String> infos = new LinkedHashMap<String, String>();
532 jpm 24
 
2109 mathias 25
	/** true si l'appli est en prod, false si elle est en test */
26
	protected boolean prod;
27
 
532 jpm 28
	/**
29
	 * Constructeur sans argument
30
	 */
31
	public Config() {
32
		// on utilise le dictionnaire d'internationalisation pour lire les variables du fichier javascript
2109 mathias 33
		// @WTF quel intérêt de copier un dictionnaire dans un autre ??
532 jpm 34
		Dictionary configuration = Dictionary.getDictionary("configuration");
35
		urls.put("base", configuration.get("serviceBaseUrl"));
36
		urls.put("del", configuration.get("delUrl"));
1517 aurelien 37
		urls.put("identiplante", configuration.get("identiplanteUrl"));
38
		urls.put("pictoflora", configuration.get("pictofloraUrl"));
532 jpm 39
		urls.put("bogue", configuration.get("bogueUrl"));
40
		urls.put("commentaire", configuration.get("commentaireUrl"));
1010 aurelien 41
		urls.put("applisaisie", configuration.get("appliSaisieUrl"));
1104 gduche 42
		urls.put("eflore", configuration.get("efloreUrl"));
43
		urls.put("efloreTaxon", configuration.get("efloreTaxonUrl"));
44
		urls.put("bonnierPda", configuration.get("bonnierPdaUrl"));
45
		urls.put("ouvragesFlore", configuration.get("ouvragesFloreUrl"));
46
		urls.put("clesDetermination", configuration.get("clesDeterminationUrl"));
1120 gduche 47
		urls.put("rss", configuration.get("rssUrl"));
1239 gduche 48
		urls.put("iconeBaseUrl", configuration.get("iconeTagBaseUrl"));
1544 jpm 49
		urls.put("profil", configuration.get("profilUrl"));
50
		urls.put("images", configuration.get("imagesUrl"));
1470 mathias 51
		urls.put("serviceUtilisateursBaseUrl", configuration.get("serviceUtilisateursBaseUrl"));
2077 mathias 52
		urls.put("serviceAuthBaseUrl", configuration.get("serviceAuthBaseUrl"));
1687 mathias 53
 
2109 mathias 54
		prod = Boolean.parseBoolean(configuration.get("prod"));
55
 
1687 mathias 56
		infos.put("popupOptions", "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");
532 jpm 57
	}
58
 
59
	/**
60
	 * Accesseur pour l'url de base du serveur jrest
61
	 *
62
	 * @return une url de la forme http://emplacement_serveur/jrest
63
	 */
64
	public String getServiceBaseUrl() {
65
		return getUrl("base");
66
	}
67
 
68
	public String getUrl(String code) {
553 jpm 69
		String url = "";
532 jpm 70
		if (urls.containsKey(code)) {
553 jpm 71
			url = urls.get(code);
532 jpm 72
		}
553 jpm 73
		return url;
532 jpm 74
	}
2109 mathias 75
 
76
	public boolean isProd() {
77
		return prod;
78
	}
1165 aurelien 79
 
80
	public String getInfo(String code) {
81
		String info = "";
82
		if (infos.containsKey(code)) {
83
			info = infos.get(code);
84
		}
85
		return info;
86
	}
532 jpm 87
 
88
}