Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;
/**
* Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour
*
*/
import org.tela_botanica.client.interfaces.iRetourUtilisateur;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONBoolean;
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.HTTPRequest;
import com.google.gwt.user.client.ResponseTextHandler;
public class UtilisateurAsynchroneDAO {
/**
* Constructeur
*/
public UtilisateurAsynchroneDAO() {
}
/**
* Methode de classe d'appel du service gestion identification
* @param baseURL : URL du service
* @param retour : methode appelle en retour d'appel
*/
public void getUtilisateur(String baseURL, final iRetourUtilisateur retour) {
// Recherche identifiant utilisateur identifie
HTTPRequest.asyncGet(baseURL + "/User/", new ResponseTextHandler() {
public void onCompletion(String str) {
JSONValue jsonValue = JSONParser.parse(str);
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
String identifiant = ((JSONString) jsonArray.get(0))
.stringValue(); // Identifiant utilisateur ou
// identifiant de session si non
// identifie
boolean identifie = ((JSONBoolean) jsonArray.get(1))
.booleanValue(); // Drapeau leve si utilisateur
// deja identifie
retour.onRetour(new Utilisateur(identifiant, identifie));
}
}
});
}
public void deconnecterUtilisateur(String baseURL, final iRetourUtilisateur retour, String user) {
HTTPRequest.asyncGet(baseURL + "/User/" + user ,
new ResponseTextHandler() {
public void onCompletion(String str) {
JSONValue jsonValue = JSONParser.parse(str);
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
String identifiant = ((JSONString) jsonArray.get(0))
.stringValue(); // Identifiant utilisateur ou
// identifiant de session si non
// identifie
boolean identifie = ((JSONBoolean) jsonArray.get(1))
.booleanValue(); // Drapeau leve si utilisateur
// deja identifie
retour.onRetour(new Utilisateur(identifiant, identifie));
}
}
});
}
public void connecteUtilisateur(String baseURL,final iRetourUtilisateur retour, String login, String password) {
HTTPRequest.asyncGet(baseURL + "/User/" + login + "/" + password ,
new ResponseTextHandler() {
public void onCompletion(String str) {
JSONValue jsonValue = JSONParser.parse(str);
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
String identifiant = ((JSONString) jsonArray.get(0))
.stringValue(); // Identifiant utilisateur ou
// identifiant de session si non
// identifie
boolean identifie = ((JSONBoolean) jsonArray.get(1))
.booleanValue(); // Drapeau leve si utilisateur
// deja identifie
retour.onRetour(new Utilisateur(identifiant, identifie));
}
}
});
}
}