New file |
0,0 → 1,175 |
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() { |
@Override |
public 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() { |
@Override |
public 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'utilisateur |
utilisateur = 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() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
|
//Ajout des informations licence |
if (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é |
utilisateur.setIdentification(((JSONBoolean) reponse.get(2)).booleanValue()); |
|
// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires |
if (reponse.size() > 3) { |
// Nom complet de l'utilisateur |
if (reponse.get(3).isString() != null) { |
utilisateur.setNomComplet(((JSONString) reponse.get(3)).stringValue()); |
} |
// Prénom de l'utilisateur |
if (reponse.get(4).isString() != null) { |
utilisateur.setPrenom(((JSONString) reponse.get(4)).stringValue()); |
} |
|
// Nom de l'utilisateur |
if (reponse.get(5).isString() != null) { |
utilisateur.setNom(((JSONString) reponse.get(5)).stringValue()); |
} |
|
// Paramètres |
if (reponse.get(6).isString() != null) { |
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() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
if (reponse.get(0).isString() != null) { |
String licenceAcceptee = reponse.get(0).isString().stringValue(); |
Information info = new Information("maj_licence"); |
info.setDonnee(0, licenceAcceptee); |
vueARafraichir.rafraichir(info); |
} |
} |
} |
}); |
} |
} |
Property changes: |
Added: svn:mergeinfo |
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/modeles/UtilisateurAsyncDao.java:r1136-1368 |