Subversion Repositories eFlore/Applications.coel

Rev

Rev 1906 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles;

import java.util.Iterator;
import java.util.Set;

import com.google.gwt.json.client.JSONObject;

public class Utilisateur extends aDonnee {

        private static final long serialVersionUID = -4016615552202089985L;

        // Jeton encodé en base64 passé de manière automatique aux services dans un header
        private static String jeton = "";
        // Durée de vie du jeton en secondes (sert au rafraîchissement automatique)
        private static int duree = 0;
        
        public static final String PREFIXE = "cp";
        public static String[] champsObligatoires = {"cp_id_personne"};
        
        public Utilisateur() {
                initialiserUtilisateur(null, false);
        }

        public Utilisateur(String id, boolean identifie) {
                initialiserUtilisateur(id, identifie);
        }
        
        public Utilisateur(JSONObject utilisateur) {
                // l'objet JSON est une table de hachage
                Set<String> im = utilisateur.keySet();

                // Parcourt pour chaque clé
                for (Iterator<String> it = im.iterator(); it.hasNext();) {
                        // Si elle est associée à une valeur, nous l'ajoutons
                        String cle = it.next();
                        // Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
                        String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
                        // Valeur est vide par défaut
                        String valeur = "";
                        if (utilisateur.get(cle).isString() != null) {
                                valeur = utilisateur.get(cle).isString().stringValue();
                                this.set(cleObjet, valeur);
                        } else {
                                this.set(cleObjet, valeur);
                        }
                }
        }
        
        @Override
        protected String getPrefixe() {
                return PREFIXE;
        }
        
        protected String[] getChampsObligatoires()      {
                return champsObligatoires;
        }

        private void initialiserUtilisateur(String id, boolean etreIdentifie) {
                setId(id);
                setIdentification(etreIdentifie);
        }
        
        
        // ID
        /**
         * Retourne l'id de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
         * @return String id de l'utilisateur
         */
        public String getId() {
                return renvoyerValeurCorrecte("id_personne");
        }
        public void setId(String id) {
                set("id_personne", id);
        }
        
        // NOM COMPLET
        /**
         * Retourne le nom complet et formaté de l'utilisateur
         * @return String nom complet
         */
        public String getNomComplet() {
                return renvoyerValeurCorrecte("fmt_nom_complet");
        }
        
        public void setNomComplet(String nom_complet) {
                set("fmt_nom_complet", nom_complet);
        }

        // PRÉNOM
        /**
         * Retourne le prénom de l'utilisateur
         * @return String prénom
         */
        public String getPrenom() {
                return renvoyerValeurCorrecte("prenom");
        }
        public void setPrenom(String prenom) {
                set("prenom", prenom);
        }
        
        // NOM
        /**
         * Retourne le nom de l'utilisateur
         * @return String nom
         */
        public String getNom() {
                return renvoyerValeurCorrecte("nom");
        }
        public void setNom(String nom) {
                set("nom", nom);
        }
        
        // LOGIN
        /**
         * Retourne le login de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
         * @return String login
         */
        public String getLogin() {
                return renvoyerValeurCorrecte("login");
        }
        public void setLogin(String l) {
                set("login", l);
        }
        
        // MOT DE PASSE
        /**
         * Retourne le mot de passe de l'utilisateur
         * @return String mot de passe
         */
        public String getMotDePasse() {
                return renvoyerValeurCorrecte("mot_de_passe");
        }
        public void setMotDePasse(String mdp) {
                set("mot_de_passe", mdp);
        }
        
        // PARAMÈTRE
        public String getParametre() {
                String xml = renvoyerValeurCorrecte("parametre");
                if (xml.equals("")) {
                        xml = "<?xml version='1.0' encoding='UTF-8'?>\n<parametres>\n</parametres>";
                }
                return xml;
        }
        public void setParametre(String param) {
                set("parametre", param);
        }

        public static String getJeton() {
                return Utilisateur.jeton;
        }

        public static void setJeton(String jeton) {
                Utilisateur.jeton = jeton;
        }

        public static int getDureeJeton() {
                return Utilisateur.duree;
        }

        public static void setDureeJeton(int duree) {
                Utilisateur.duree = duree;
        }
        
        // +---------------------------------------------------------------------------------------------------------------+
        // IDENTIFIÉ
        /**
         * Retourne vrai si utilisateur est identifié.
         * @return boolean
         */
        public boolean isIdentifie() {
                if (get("identifie").equals(true))      {
                        return true;
                }       else    {
                        return false;
                }
        }
        
        public void setIdentification(Boolean bool) {
                set("identifie", bool);
        }
        
        public boolean avoirLicenceAcceptee() {
                if (getLicence().equals("1"))   {
                        return true;
                }       else    {
                        return false;
                }
        }

        // LICENCE ACCEPTÉE
        public void setLicence(String licence)  {
                this.set("licenceAcceptee", licence);
        }
        
        public String getLicence()      {
                if (this.get("licenceAcceptee") != null)        {
                        return this.get("licenceAcceptee");
                } else {
                        return "";
                }
        }
}