| Line 1... |
Line 1... |
| 1 |
package org.tela_botanica.client.modeles;
|
1 |
package org.tela_botanica.client.modeles;
|
| Line 2... |
Line 2... |
| 2 |
|
2 |
|
| - |
|
3 |
import org.tela_botanica.client.RegistreId;
|
| - |
|
4 |
import org.tela_botanica.client.http.JsonRestRequestBuilder;
|
| 3 |
import org.tela_botanica.client.RegistreId;
|
5 |
import org.tela_botanica.client.http.JsonRestRequestCallback;
|
| 4 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
6 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
| Line 5... |
Line 7... |
| 5 |
import org.tela_botanica.client.util.UtilDAO;
|
7 |
import org.tela_botanica.client.util.UtilDAO;
|
| 6 |
|
8 |
|
| Line 24... |
Line 26... |
| 24 |
*/
|
26 |
*/
|
| 25 |
public class UtilisateurAsyncDao {
|
27 |
public class UtilisateurAsyncDao {
|
| 26 |
private static final String SERVICE_NOM = "CoelUtilisateur";
|
28 |
private static final String SERVICE_NOM = "CoelUtilisateur";
|
| Line 27... |
Line 29... |
| 27 |
|
29 |
|
| 28 |
private Utilisateur utilisateur = null;
|
- |
|
| 29 |
private String urlServiceBase = null;
|
30 |
private Utilisateur utilisateur = null;
|
| Line 30... |
Line 31... |
| 30 |
private Rafraichissable vueARafraichir = null;
|
31 |
private Rafraichissable vueARafraichir = null;
|
| 31 |
|
32 |
|
| 32 |
/**
|
33 |
/**
|
| 33 |
* Constructeur
|
34 |
* Constructeur
|
| 34 |
* @param retour : méthode appellée en retour d'appel.
|
35 |
* @param retour : méthode appellée en retour d'appel.
|
| 35 |
*/
|
36 |
*/
|
| 36 |
public UtilisateurAsyncDao(Rafraichissable r) {
|
- |
|
| 37 |
vueARafraichir = r;
|
37 |
public UtilisateurAsyncDao(Rafraichissable vueARafraichirCourrante) {
|
| 38 |
urlServiceBase = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
|
38 |
vueARafraichir = vueARafraichirCourrante;
|
| Line 39... |
Line 39... |
| 39 |
utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
|
39 |
utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
|
| 40 |
}
|
40 |
}
|
| 41 |
|
41 |
|
| 42 |
/**
|
42 |
/**
|
| 43 |
* Méthode de classe d'appel du service des gestion d'identification.
|
43 |
* Méthode de classe d'appel du service des gestion d'identification.
|
| 44 |
*/
|
44 |
*/
|
| 45 |
public void getEtatUtilisateur() {
|
45 |
public void getEtatUtilisateur() {
|
| 46 |
// Recherche identifiant utilisateur identifie
|
46 |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM);
|
| 47 |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlServiceBase+SERVICE_NOM+"/") ;
|
- |
|
| - |
|
47 |
rb.envoyerRequete(null, new JsonRestRequestCallback() {
|
| 48 |
try {
|
48 |
@Override
|
| 49 |
rb.sendRequest(null, new RequestCallback() {
|
49 |
public void surReponse(JSONValue responseValue) {
|
| - |
|
50 |
if (responseValue.isArray() != null) {
|
| - |
|
51 |
final JSONArray reponse = responseValue.isArray();
|
| - |
|
52 |
// Identifiant utilisateur ou identifiant de session si non identifié
|
| - |
|
53 |
String login = ((JSONString) reponse.get(0)).stringValue();
|
| - |
|
54 |
// Drapeau leve si utilisateur deja identifié
|
| - |
|
55 |
boolean identifie = ((JSONBoolean) reponse.get(1)).booleanValue();
|
| 50 |
|
56 |
utilisateur.setIdentification(identifie);
|
| 51 |
public void onError(Request request, Throwable exception) {
|
- |
|
| 52 |
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP
|
- |
|
| 53 |
}
|
- |
|
| 54 |
|
- |
|
| 55 |
public void onResponseReceived(Request request, Response response) {
|
- |
|
| 56 |
JSONValue jsonValue = JSONParser.parse(response.getText());
|
- |
|
| 57 |
JSONArray jsonArray;
|
- |
|
| 58 |
if ((jsonArray = jsonValue.isArray()) != null) {
|
- |
|
| 59 |
// Identifiant utilisateur ou identifiant de session si non identifié
|
- |
|
| 60 |
String login = ((JSONString) jsonArray.get(0)).stringValue();
|
- |
|
| 61 |
// Drapeau leve si utilisateur deja identifié
|
- |
|
| 62 |
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
|
- |
|
| 63 |
utilisateur.setIdentification(identifie);
|
- |
|
| 64 |
utilisateur.setLogin(login);
|
57 |
utilisateur.setLogin(login);
|
| 65 |
vueARafraichir.rafraichir(utilisateur);
|
58 |
vueARafraichir.rafraichir(utilisateur);
|
| 66 |
}
|
- |
|
| 67 |
}
|
- |
|
| 68 |
}) ;
|
- |
|
| 69 |
} catch (RequestException e) {
|
59 |
}
|
| Line 70... |
Line 60... |
| 70 |
e.printStackTrace();
|
60 |
}
|
| 71 |
}
|
61 |
});
|
| 72 |
}
|
62 |
}
|
| 73 |
|
63 |
|
| 74 |
/**
|
64 |
/**
|
| - |
|
65 |
* Méthode déconnectant un utilisateur de l'application.
|
| - |
|
66 |
* @param identifiant de l'utilisateur à déconnecter.
|
| 75 |
* Méthode déconnectant un utilisateur de l'application.
|
67 |
*/
|
| - |
|
68 |
public void deconnecterUtilisateur() {
|
| 76 |
* @param identifiant de l'utilisateur à déconnecter.
|
69 |
String[] parametres = {utilisateur.getId()};
|
| 77 |
*/
|
70 |
|
| - |
|
71 |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
|
| - |
|
72 |
rb.envoyerRequete(null, new JsonRestRequestCallback() {
|
| - |
|
73 |
@Override
|
| - |
|
74 |
public void surReponse(JSONValue responseValue) {
|
| - |
|
75 |
if (responseValue.isArray() != null) {
|
| - |
|
76 |
final JSONArray reponse = responseValue.isArray();
|
| 78 |
public void deconnecterUtilisateur() {
|
77 |
// Identifiant utilisateur ou identifiant de session si non identifié
|
| - |
|
78 |
String id = ((JSONString) reponse.get(0)).stringValue();
|
| 79 |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlServiceBase+SERVICE_NOM+"/"+utilisateur.getId()) ;
|
79 |
// Drapeau levé si l'utilisateur est déjà identifié
|
| - |
|
80 |
boolean identifie = ((JSONBoolean) reponse.get(1)).booleanValue();
|
| 80 |
try {
|
81 |
|
| - |
|
82 |
// Nous réinitialisons l'utilisateur
|
| 81 |
rb.sendRequest(null, new RequestCallback() {
|
83 |
utilisateur = new Utilisateur(id, identifie);
|
| 82 |
|
- |
|
| 83 |
public void onError(Request request, Throwable exception) {
|
- |
|
| 84 |
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP
|
- |
|
| 85 |
}
|
- |
|
| 86 |
|
- |
|
| 87 |
public void onResponseReceived(Request request, Response response) {
|
- |
|
| 88 |
JSONValue jsonValue = JSONParser.parse(response.getText());
|
- |
|
| 89 |
JSONArray jsonArray;
|
- |
|
| 90 |
if ((jsonArray = jsonValue.isArray()) != null) {
|
- |
|
| 91 |
// Identifiant utilisateur ou identifiant de session si non identifié
|
- |
|
| 92 |
String id = ((JSONString) jsonArray.get(0)).stringValue();
|
- |
|
| 93 |
// Drapeau levé si l'utilisateur est déjà identifié
|
- |
|
| 94 |
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
|
- |
|
| 95 |
|
- |
|
| 96 |
// Nous réinitialisons l'utilisateur
|
- |
|
| 97 |
utilisateur = new Utilisateur(id, identifie);
|
- |
|
| 98 |
|
84 |
|
| 99 |
GWT.log(utilisateur.toString(), null);
|
85 |
GWT.log(utilisateur.toString(), null);
|
| 100 |
vueARafraichir.rafraichir(utilisateur);
|
- |
|
| 101 |
}
|
- |
|
| 102 |
}
|
- |
|
| 103 |
}) ;
|
86 |
vueARafraichir.rafraichir(utilisateur);
|
| Line 104... |
Line 87... |
| 104 |
} catch (RequestException e) {
|
87 |
}
|
| 105 |
e.printStackTrace();
|
88 |
}
|
| 106 |
}
|
89 |
});
|
| 107 |
}
|
90 |
}
|
| 108 |
|
91 |
|
| 109 |
/**
|
- |
|
| 110 |
* Méthode connectant un utilisateur à l'application.
|
- |
|
| 111 |
* @param Utilisateur l'utilisateur courant.
|
92 |
/**
|
| Line 112... |
Line 93... |
| 112 |
*/
|
93 |
* Méthode connectant un utilisateur à l'application.
|
| 113 |
public void connecterUtilisateur () {
|
- |
|
| 114 |
String[] parametres = new String[2];
|
94 |
* @param Utilisateur l'utilisateur courant.
|
| 115 |
parametres[0] = utilisateur.getLogin();
|
- |
|
| 116 |
parametres[1] = utilisateur.getMotDePasse();
|
- |
|
| 117 |
|
- |
|
| 118 |
RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
|
- |
|
| 119 |
try {
|
95 |
*/
|
| 120 |
rb.sendRequest(null, new RequestCallback() {
|
- |
|
| 121 |
|
96 |
public void connecterUtilisateur() {
|
| 122 |
public void onError(Request request, Throwable exception) {
|
- |
|
| 123 |
GWT.log("Erreur à l'exécution du service " + SERVICE_NOM + " (selection)", exception);
|
- |
|
| 124 |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
|
- |
|
| 125 |
}
|
- |
|
| 126 |
|
- |
|
| 127 |
public void onErrorHTTP(Request request, Response reponse) {
|
- |
|
| 128 |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest
|
- |
|
| 129 |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
|
97 |
String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse()};
|
| 130 |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
|
- |
|
| 131 |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
|
- |
|
| 132 |
}
|
- |
|
| 133 |
|
- |
|
| 134 |
public void onResponseReceived(Request request, Response response) {
|
98 |
|
| 135 |
if (response.getStatusCode() != 200) {
|
99 |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
|
| 136 |
onErrorHTTP(request, response);
|
100 |
rb.envoyerRequete(null, new JsonRestRequestCallback() {
|
| 137 |
} else {
|
101 |
@Override
|
| 138 |
JSONValue jsonValue = JSONParser.parse(response.getText());
|
102 |
public void surReponse(JSONValue responseValue) {
|
| 139 |
JSONArray jsonArray;
|
103 |
if (responseValue.isArray() != null) {
|
| 140 |
if ((jsonArray = jsonValue.isArray()) != null) {
|
104 |
final JSONArray reponse = responseValue.isArray();
|
| 141 |
if (jsonArray.size() > 0) {
|
105 |
if (reponse.size() > 0) {
|
| 142 |
// Identifiant de l'utilisateur ou identifiant de session si non identifié
|
106 |
// Identifiant de l'utilisateur ou identifiant de session si non identifié
|
| 143 |
utilisateur.setId(((JSONString) jsonArray.get(0)).stringValue());
|
107 |
utilisateur.setId(((JSONString) reponse.get(0)).stringValue());
|
| 144 |
|
108 |
|
| 145 |
// Drapeau levé si l'utilisateur est déjà identifié
|
109 |
// Drapeau levé si l'utilisateur est déjà identifié
|
| 146 |
GWT.log(jsonArray.toString(), null);
|
110 |
GWT.log(reponse.toString(), null);
|
| 147 |
utilisateur.setIdentification(((JSONBoolean) jsonArray.get(1)).booleanValue());
|
111 |
utilisateur.setIdentification(((JSONBoolean) reponse.get(1)).booleanValue());
|
| 148 |
|
- |
|
| 149 |
// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
|
- |
|
| 150 |
if (jsonArray.size() > 2) {
|
- |
|
| 151 |
// Nom complet de l'utilisateur
|
- |
|
| 152 |
if (jsonArray.get(2).isString() != null) {
|
- |
|
| 153 |
utilisateur.setNomComplet(((JSONString) jsonArray.get(2)).stringValue());
|
- |
|
| 154 |
}
|
- |
|
| 155 |
// Prénom de l'utilisateur
|
- |
|
| 156 |
if (jsonArray.get(3).isString() != null) {
|
- |
|
| 157 |
utilisateur.setPrenom(((JSONString) jsonArray.get(3)).stringValue());
|
- |
|
| 158 |
}
|
- |
|
| 159 |
// Nom de l'utilisateur
|
- |
|
| 160 |
if (jsonArray.get(4).isString() != null) {
|
112 |
|
| - |
|
113 |
// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
|
| - |
|
114 |
if (reponse.size() > 2) {
|
| - |
|
115 |
// Nom complet de l'utilisateur
|
| - |
|
116 |
if (reponse.get(2).isString() != null) {
|
| - |
|
117 |
utilisateur.setNomComplet(((JSONString) reponse.get(2)).stringValue());
|
| - |
|
118 |
}
|
| - |
|
119 |
// Prénom de l'utilisateur
|
| - |
|
120 |
if (reponse.get(3).isString() != null) {
|
| - |
|
121 |
utilisateur.setPrenom(((JSONString) reponse.get(3)).stringValue());
|
| 161 |
utilisateur.setNom(((JSONString) jsonArray.get(4)).stringValue());
|
122 |
}
|
| - |
|
123 |
// Nom de l'utilisateur
|
| 162 |
}
|
124 |
if (reponse.get(4).isString() != null) {
|
| 163 |
GWT.log(utilisateur.toString(), null);
|
125 |
utilisateur.setNom(((JSONString) reponse.get(4)).stringValue());
|
| 164 |
}
|
126 |
}
|
| 165 |
vueARafraichir.rafraichir(utilisateur);
|
- |
|
| 166 |
}
|
- |
|
| 167 |
}
|
127 |
GWT.log(utilisateur.toString(), null);
|
| 168 |
}
|
128 |
}
|
| 169 |
}
|
129 |
vueARafraichir.rafraichir(utilisateur);
|
| 170 |
}) ;
|
130 |
}
|