Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2212 arthur 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>();
19
 
20
	/**
21
	 * Tableau associatif contenant d'autres informations
22
	 */
23
	private LinkedHashMap<String, String> infos = new LinkedHashMap<String, String>();
24
 
25
	/** true si l'appli est en prod, false si elle est en test */
26
	protected boolean prod;
27
 
28
	/**
29
	 * Constructeur sans argument
30
	 */
31
	public Config() {
32
		// on utilise le dictionnaire d'internationalisation pour lire les variables du fichier javascript
33
		// @WTF quel intérêt de copier un dictionnaire dans un autre ??
34
		Dictionary configuration = Dictionary.getDictionary("configuration");
35
		urls.put("base", configuration.get("serviceBaseUrl"));
36
		urls.put("del", configuration.get("delUrl"));
37
		urls.put("identiplante", configuration.get("identiplanteUrl"));
38
		urls.put("pictoflora", configuration.get("pictofloraUrl"));
39
		urls.put("bogue", configuration.get("bogueUrl"));
40
		urls.put("commentaire", configuration.get("commentaireUrl"));
41
		urls.put("applisaisie", configuration.get("appliSaisieUrl"));
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"));
47
		urls.put("rss", configuration.get("rssUrl"));
48
		urls.put("iconeBaseUrl", configuration.get("iconeTagBaseUrl"));
49
		urls.put("profil", configuration.get("profilUrl"));
50
		urls.put("images", configuration.get("imagesUrl"));
51
		urls.put("serviceUtilisateursBaseUrl", configuration.get("serviceUtilisateursBaseUrl"));
52
		urls.put("serviceAuthBaseUrl", configuration.get("serviceAuthBaseUrl"));
53
 
54
		prod = Boolean.parseBoolean(configuration.get("prod"));
55
 
56
		infos.put("popupOptions", "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");
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) {
69
		String url = "";
70
		if (urls.containsKey(code)) {
71
			url = urls.get(code);
72
		}
73
		return url;
74
	}
75
 
76
	public boolean isProd() {
77
		return prod;
78
	}
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
	}
87
 
88
}