Subversion Repositories eFlore/Applications.cel

Rev

Rev 989 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles.objets;

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

public class Utilisateur {

        private String loginUtilisateurConnecte = null;
        private String loginUtilisateurConsulte = null;
        
        private String identifiantUtilisateurConnecte = null;
        private String identifiantUtilisateurConsulte = null;
        
        private boolean identifie = false;
        private boolean isAdmin = false;
        private boolean licenceAcceptee = false;
        
        private static Utilisateur thisUtilisateur = null;
        
        // Jeton encodé en base64 passé de manière automatique aux services dans un header
        private static String jeton = "";
        
        public static Utilisateur InitialiserInstance(JSONObject objetJsonUtilisateur) {
                thisUtilisateur = new Utilisateur(objetJsonUtilisateur);
                
                return thisUtilisateur;
        }
        
        public static Utilisateur getInstance() {
                return thisUtilisateur;
        }
        
        public static String getJeton() {
                return jeton;
        }
        
        public static void setJeton(String jeton) {
                Utilisateur.jeton = jeton;
        }
        
        private Utilisateur(JSONObject objetJsonUtilisateur) {
                
                // login utilisateur ou vide si non identifie
                loginUtilisateurConnecte = ((JSONString) objetJsonUtilisateur.get("courriel")).stringValue(); 
                loginUtilisateurConsulte = loginUtilisateurConnecte; 
                
                // identifiant utilisateur ou bien identifiant de session si non identifie
                identifiantUtilisateurConnecte = ((JSONString) objetJsonUtilisateur.get("id_utilisateur")).stringValue(); 
                identifiantUtilisateurConsulte = identifiantUtilisateurConnecte;
                                
                // Drapeau leve si utilisateur deja identifie
                identifie = objetJsonUtilisateur.get("connecte").isBoolean().booleanValue();
                
                // Drapeau leve si utilisateur est admin
                isAdmin = objetJsonUtilisateur.get("admin").isBoolean().booleanValue();
                
                // Drapeau leve si utilisateur a accepte licence
                licenceAcceptee = objetJsonUtilisateur.get("licence_acceptee").isBoolean().booleanValue();
        }
                
        /**
         * Retourne vrai si utilisateur identifie
         * @return boolean
         */
        public boolean isIdentifie() {
                return identifie;
        }
        
        /**
         * Retourne vrai si utilisateur est admin
         * @return boolean
         */
        public boolean isAdmin() {
                return isAdmin;
        }
        
        /**
         * Met à jour l'identité utilisée (dans le cas où l'utilisateur est admin)
         * @param identite la nouvelle identité
         */
        public void setUtilisateurConsulte(String identifiantUtilisateurConsulte, String loginUtilisateurConsulte) {
                if(isAdmin()) {
                        this.identifiantUtilisateurConsulte = identifiantUtilisateurConsulte;
                        this.loginUtilisateurConsulte = loginUtilisateurConsulte;
                }
                else {
                        this.identifiantUtilisateurConsulte = identifiantUtilisateurConnecte;
                        this.loginUtilisateurConsulte = loginUtilisateurConnecte;
                }
        }
        
        /**
         * Retourne l'identifiant de l'utilisateur identifie ou un identifiant de session
         * @return String identifiantUtilisateurConsulte
        */      
        public String getIdentifiantUtilisateurConnecte() {
                return identifiantUtilisateurConnecte;
        }
        
        /**
         * Retourne l'identifiant de l'utilisateur consulte
         * @return String identifiantUtilisateurConsulte
         */     
        public String getIdentifiantUtilisateurConsulte() {
                return identifiantUtilisateurConsulte;
        }
        
        /**
         * Retourne le login de l'utilisateur identifie ou un identifiant de session
         * @return String loginUtilisateurConnecte
        */      
        public String getLoginUtilisateurConnecte() {
                return loginUtilisateurConnecte;
        }
        
        /**
         * Retourne le login de l'utilisateur consulte
         * @return String loginUtilisateurConsulte
         */     
        public String getLoginUtilisateurConsulte() {
                return loginUtilisateurConsulte;
        }
        
        public void setLicenceAcceptee(boolean licenceAcceptee) {
                this.licenceAcceptee = licenceAcceptee;
        }
        
        public boolean getLicenceAcceptee() {
                return licenceAcceptee;
        }
        
        public void setLoginUtilisateurConnecte(String loginUtilisateurConnecte) {
                this.loginUtilisateurConnecte = loginUtilisateurConnecte;
        }
        
        public void setLoginUtilisateurConsulte(String loginUtilisateurConsulte) {
                this.loginUtilisateurConsulte = loginUtilisateurConsulte;
        }
        
}