New file |
0,0 → 1,142 |
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.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
|
import com.extjs.gxt.ui.client.Registry; |
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.JSONParser; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.json.client.JSONValue; |
|
public class UtilisateurAsyncDao { |
|
private Utilisateur utilisateur = null; |
private String urlServiceBase = null; |
private Rafraichissable rafraichissement = null; |
|
/** |
* Constructeur |
* @param retour : méthode appellée en retour d'appel. |
*/ |
public UtilisateurAsyncDao(Rafraichissable r) { |
rafraichissement = r; |
urlServiceBase = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR); |
} |
|
/** |
* Méthode de classe d'appel du service des gestion d'identification. |
*/ |
public void getEtatUtilisateur() { |
// Recherche identifiant utilisateur identifie |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlServiceBase+"CoelUtilisateur/") ; |
try { |
rb.sendRequest(null, new RequestCallback() { |
|
public void onError(Request request, Throwable exception) { |
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP |
} |
|
public void onResponseReceived(Request request, Response response) { |
JSONValue jsonValue = JSONParser.parse(response.getText()); |
JSONArray jsonArray; |
if ((jsonArray = jsonValue.isArray()) != null) { |
// Identifiant utilisateur ou identifiant de session si non identifié |
String login = ((JSONString) jsonArray.get(0)).stringValue(); |
// Drapeau leve si utilisateur deja identifié |
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue(); |
utilisateur.setIdentifie(identifie); |
utilisateur.setLogin(login); |
rafraichissement.rafraichir(utilisateur); |
} |
} |
}) ; |
} catch (RequestException e) { |
e.printStackTrace(); |
} |
} |
|
/** |
* Méthode déconnectant un utilisateur de l'application. |
* @param identifiant de l'utilisateur à déconnecter. |
*/ |
public void deconnecterUtilisateur() { |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlServiceBase+"CoelUtilisateur/"+utilisateur.getLogin()) ; |
try { |
rb.sendRequest(null, new RequestCallback() { |
|
public void onError(Request request, Throwable exception) { |
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP |
} |
|
public void onResponseReceived(Request request, Response response) { |
JSONValue jsonValue = JSONParser.parse(response.getText()); |
JSONArray jsonArray; |
if ((jsonArray = jsonValue.isArray()) != null) { |
// Identifiant utilisateur ou identifiant de session si non identifié |
String login = ((JSONString) jsonArray.get(0)).stringValue(); |
// Drapeau levé si l'utilisateur est déjà identifié |
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue(); |
utilisateur.setIdentifie(identifie); |
utilisateur.setLogin(login); |
rafraichissement.rafraichir(utilisateur); |
} |
} |
}) ; |
} catch (RequestException e) { |
e.printStackTrace(); |
} |
} |
|
/** |
* Méthode déconnectant un utilisateur de l'application. |
* @param Utilisateur l'utilisateur courant. |
*/ |
public void connecterUtilisateur () { |
String login = utilisateur.getLogin(); |
String password = utilisateur.getMotDePasse(); |
String url = urlServiceBase+"CoelUtilisateur/"; |
|
if (login != null & password != null) { |
url = url+login+"/"+password; |
} |
|
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url); |
try { |
rb.sendRequest(null, new RequestCallback() { |
|
public void onError(Request request, Throwable exception) { |
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP |
} |
|
public void onResponseReceived(Request request, Response response) { |
JSONValue jsonValue = JSONParser.parse(response.getText()); |
JSONArray jsonArray; |
if ((jsonArray = jsonValue.isArray()) != null) { |
// Identifiant utilisateur ou identifiant de session si non identifié |
String login = ((JSONString) jsonArray.get(0)).stringValue(); |
// Drapeau levé si l'utilisateur est déjà identifié |
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue(); |
utilisateur.setIdentifie(identifie); |
utilisateur.setLogin(login); |
rafraichissement.rafraichir(utilisateur); |
} |
} |
}) ; |
} catch (RequestException e) { |
e.printStackTrace(); |
} |
} |
} |
Property changes: |
Added: svn:mergeinfo |