Subversion Repositories eFlore/Applications.del

Rev

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

}