Rev 1197 | Rev 1329 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.http.JsonRestRequestBuilder;import org.tela_botanica.client.http.JsonRestRequestCallback;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.util.Debug;import org.tela_botanica.client.util.UtilDAO;import com.extjs.gxt.ui.client.Registry;import com.extjs.gxt.ui.client.widget.Info;import com.google.gwt.core.client.GWT;import com.google.gwt.http.client.Request;import com.google.gwt.http.client.RequestBuilder;import com.google.gwt.http.client.RequestCallback;import com.google.gwt.http.client.RequestException;import com.google.gwt.http.client.Response;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONBoolean;import com.google.gwt.json.client.JSONObject;import com.google.gwt.json.client.JSONParser;import com.google.gwt.json.client.JSONString;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.Window;/*** Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour**/public class UtilisateurAsyncDao {private static final String SERVICE_NOM = "CoelUtilisateur";private Utilisateur utilisateur = null;private Rafraichissable vueARafraichir = null;/*** Constructeur* @param retour : méthode appellée en retour d'appel.*/public UtilisateurAsyncDao(Rafraichissable vueARafraichirCourrante) {vueARafraichir = vueARafraichirCourrante;utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);}/*** Méthode de classe d'appel du service des gestion d'identification.*/public void getEtatUtilisateur() {final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM);rb.envoyerRequete(null, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue responseValue) {if (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();// Identifiant utilisateur ou identifiant de session si non identifiéString login = ((JSONString) reponse.get(2)).stringValue();// Drapeau leve si utilisateur deja identifiéboolean identifie = ((JSONBoolean) reponse.get(3)).booleanValue();utilisateur.setIdentification(identifie);utilisateur.setLogin(login);vueARafraichir.rafraichir(utilisateur);}}});}/*** Méthode déconnectant un utilisateur de l'application.* @param identifiant de l'utilisateur à déconnecter.*/public void deconnecterUtilisateur() {String[] parametres = {utilisateur.getId()};final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);rb.envoyerRequete(null, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue responseValue) {if (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();// Identifiant utilisateur ou identifiant de session si non identifiéString id = ((JSONString) reponse.get(1)).stringValue();// Drapeau levé si l'utilisateur est déjà identifiéboolean identifie = ((JSONBoolean) reponse.get(2)).booleanValue();// Nous réinitialisons l'utilisateurutilisateur = new Utilisateur(id, identifie);GWT.log(utilisateur.toString(), null);vueARafraichir.rafraichir(utilisateur);}}});}/*** Méthode connectant un utilisateur à l'application.* @param Utilisateur l'utilisateur courant.*/public void connecterUtilisateur() {String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse()};final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);rb.envoyerRequete(null, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue responseValue) {if (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();//Ajout des informations licenceif (reponse.get(0).isString() != null) {utilisateur.setLicence(reponse.get(0).isString().stringValue());} else {utilisateur.setLicence("");}if (reponse.size() > 0) {// Identifiant de l'utilisateur ou identifiant de session si non identifiéutilisateur.setId(((JSONString) reponse.get(1)).stringValue());// Drapeau levé si l'utilisateur est déjà identifiéGWT.log(reponse.toString(), null);utilisateur.setIdentification(((JSONBoolean) reponse.get(2)).booleanValue());// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentairesif (reponse.size() > 3) {// Nom complet de l'utilisateurif (reponse.get(3).isString() != null) {utilisateur.setNomComplet(((JSONString) reponse.get(3)).stringValue());}// Prénom de l'utilisateurif (reponse.get(4).isString() != null) {utilisateur.setPrenom(((JSONString) reponse.get(4)).stringValue());}// Nom de l'utilisateurif (reponse.get(5).isString() != null) {utilisateur.setNom(((JSONString) reponse.get(5)).stringValue());}// Paramètresif (reponse.get(6).isString() != null) {Debug.log(((JSONString) reponse.get(6)).stringValue());utilisateur.setParametre(((JSONString) reponse.get(6)).stringValue());}}vueARafraichir.rafraichir(utilisateur);}}}});}/** */public void accepterLicence() {String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse(), utilisateur.getId()};final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);rb.envoyerRequete(null, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue responseValue) {if (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();if (reponse.get(1).isString() != null) {String licenceAcceptee = reponse.get(1).isString().stringValue();Information info = new Information("maj_licence");info.setDonnee(0, licenceAcceptee);vueARafraichir.rafraichir(info);}}}});}}