| 989 | aurelien | 1 | package org.tela_botanica.client.modeles.dao;
 | 
        
           | 2 | aperonnet | 2 |   | 
        
           |  |  | 3 | /**
 | 
        
           |  |  | 4 |  * Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour
 | 
        
           |  |  | 5 |  *
 | 
        
           |  |  | 6 |  */
 | 
        
           |  |  | 7 |   | 
        
           | 12 | david | 8 | import org.tela_botanica.client.CarnetEnLigneModele;
 | 
        
           |  |  | 9 | import org.tela_botanica.client.interfaces.Rafraichissable;
 | 
        
           | 989 | aurelien | 10 | import org.tela_botanica.client.modeles.objets.Configuration;
 | 
        
           |  |  | 11 | import org.tela_botanica.client.modeles.objets.Utilisateur;
 | 
        
           | 2 | aperonnet | 12 |   | 
        
           | 33 | jpm | 13 | import com.google.gwt.http.client.Request;
 | 
        
           | 1918 | aurelien | 14 | import org.tela_botanica.client.util.RequestBuilderWithCredentials;
 | 
        
           | 33 | jpm | 15 | import com.google.gwt.http.client.RequestCallback;
 | 
        
           |  |  | 16 | import com.google.gwt.http.client.RequestException;
 | 
        
           |  |  | 17 | import com.google.gwt.http.client.Response;
 | 
        
           | 937 | aurelien | 18 | import com.google.gwt.json.client.JSONObject;
 | 
        
           | 2 | aperonnet | 19 | import com.google.gwt.json.client.JSONParser;
 | 
        
           |  |  | 20 | import com.google.gwt.json.client.JSONValue;
 | 
        
           | 676 | aurelien | 21 | import com.google.gwt.user.client.Window;
 | 
        
           | 2 | aperonnet | 22 |   | 
        
           |  |  | 23 | public class UtilisateurAsynchroneDAO {
 | 
        
           |  |  | 24 |   | 
        
           |  |  | 25 | 	/**
 | 
        
           | 12 | david | 26 | 	 * Le modèle associé au DAO
 | 
        
           | 2 | aperonnet | 27 | 	 */
 | 
        
           | 12 | david | 28 | 	private CarnetEnLigneModele carnetEnLigneModele = null ;
 | 
        
           |  |  | 29 |   | 
        
           |  |  | 30 | 	/**
 | 
        
           |  |  | 31 | 	 * Constructeur
 | 
        
           |  |  | 32 | 	 */
 | 
        
           |  |  | 33 |   | 
        
           | 937 | aurelien | 34 | 	public UtilisateurAsynchroneDAO(CarnetEnLigneModele carnetEnLigneModele) {
 | 
        
           | 12 | david | 35 | 		this.carnetEnLigneModele=carnetEnLigneModele;
 | 
        
           | 2 | aperonnet | 36 | 	}
 | 
        
           |  |  | 37 | 	/**
 | 
        
           | 12 | david | 38 | 	 * Methode de classe d'appel du service gestion identification
 | 
        
           |  |  | 39 | 	 * @param baseURL : URL du service
 | 
        
           |  |  | 40 | 	 * @param retour : methode appelle en retour d'appel
 | 
        
           | 2 | aperonnet | 41 | 	 */
 | 
        
           | 12 | david | 42 |   | 
        
           |  |  | 43 | 	public void getEtatUtilisateur(final Rafraichissable r) {
 | 
        
           | 5 | aperonnet | 44 |   | 
        
           | 2 | aperonnet | 45 | 		// Recherche identifiant utilisateur identifie
 | 
        
           | 1918 | aurelien | 46 | 		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET,Configuration.getServiceBaseUrl() + "/User/") ;
 | 
        
           | 33 | jpm | 47 |   | 
        
           |  |  | 48 | 		try {
 | 
        
           |  |  | 49 |   | 
        
           |  |  | 50 | 			rb.sendRequest(null, new RequestCallback() {
 | 
        
           | 2 | aperonnet | 51 |   | 
        
           | 1293 | aurelien | 52 | 				@Override
 | 
        
           | 33 | jpm | 53 | 				public void onError(Request request, Throwable exception) {
 | 
        
           | 676 | aurelien | 54 |   | 
        
           | 2 | aperonnet | 55 | 				}
 | 
        
           |  |  | 56 |   | 
        
           | 1293 | aurelien | 57 | 				@Override
 | 
        
           | 33 | jpm | 58 | 				public void onResponseReceived(Request request,
 | 
        
           |  |  | 59 | 						Response response) {
 | 
        
           |  |  | 60 |   | 
        
           | 676 | aurelien | 61 | 					if(response.getText().isEmpty()) {
 | 
        
           |  |  | 62 | 						Window.alert("Impossible de contacter le serveur, veuillez vérifier la configuration du cel ou contacter un administrateur");
 | 
        
           |  |  | 63 | 					} else {
 | 
        
           |  |  | 64 |   | 
        
           |  |  | 65 | 						JSONValue jsonValue = JSONParser.parse(response.getText());
 | 
        
           | 937 | aurelien | 66 | 						JSONObject objetJsonUtilisateur;
 | 
        
           | 140 | aurelien | 67 |   | 
        
           | 937 | aurelien | 68 | 						if ((objetJsonUtilisateur = jsonValue.isObject()) != null) {
 | 
        
           | 676 | aurelien | 69 |   | 
        
           | 937 | aurelien | 70 | 							Utilisateur utilisateur = Utilisateur.InitialiserInstance(objetJsonUtilisateur);
 | 
        
           | 676 | aurelien | 71 | 							r.rafraichir(utilisateur,true);
 | 
        
           |  |  | 72 | 						}
 | 
        
           |  |  | 73 | 					}
 | 
        
           | 33 | jpm | 74 | 				}
 | 
        
           |  |  | 75 | 			}) ;
 | 
        
           | 937 | aurelien | 76 |   | 
        
           | 33 | jpm | 77 | 		} catch (RequestException e) {
 | 
        
           | 937 | aurelien | 78 |   | 
        
           | 33 | jpm | 79 | 		}
 | 
        
           | 2 | aperonnet | 80 | 	}
 | 
        
           |  |  | 81 |   | 
        
           |  |  | 82 |   | 
        
           | 12 | david | 83 |   | 
        
           |  |  | 84 | 	public void deconnecterUtilisateur(final Rafraichissable r, String user) {
 | 
        
           |  |  | 85 |   | 
        
           | 1918 | aurelien | 86 | 		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, Configuration.getServiceBaseUrl()+ "/User/" + user) ;
 | 
        
           | 33 | jpm | 87 |   | 
        
           |  |  | 88 | 		try {
 | 
        
           |  |  | 89 |   | 
        
           |  |  | 90 | 			rb.sendRequest(null, new RequestCallback() {
 | 
        
           | 2 | aperonnet | 91 |   | 
        
           | 1293 | aurelien | 92 | 				@Override
 | 
        
           | 33 | jpm | 93 | 				public void onError(Request request, Throwable exception) {
 | 
        
           |  |  | 94 | 					// TODO Auto-generated method stub
 | 
        
           |  |  | 95 |   | 
        
           |  |  | 96 | 				}
 | 
        
           |  |  | 97 |   | 
        
           | 1293 | aurelien | 98 | 				@Override
 | 
        
           | 33 | jpm | 99 | 				public void onResponseReceived(Request request,
 | 
        
           |  |  | 100 | 						Response response) {
 | 
        
           |  |  | 101 |   | 
        
           |  |  | 102 | 					JSONValue jsonValue = JSONParser.parse(response.getText());
 | 
        
           | 937 | aurelien | 103 | 					JSONObject objetJsonUtilisateur;
 | 
        
           |  |  | 104 |   | 
        
           |  |  | 105 | 					if ((objetJsonUtilisateur = jsonValue.isObject()) != null) {
 | 
        
           | 596 | aurelien | 106 |   | 
        
           | 937 | aurelien | 107 | 						Utilisateur utilisateur = Utilisateur.InitialiserInstance(objetJsonUtilisateur);
 | 
        
           |  |  | 108 | 						r.rafraichir(utilisateur,true);
 | 
        
           |  |  | 109 | 					}
 | 
        
           | 33 | jpm | 110 | 				}
 | 
        
           |  |  | 111 | 			}) ;
 | 
        
           |  |  | 112 |   | 
        
           |  |  | 113 | 		} catch (RequestException e) {
 | 
        
           | 937 | aurelien | 114 |   | 
        
           | 33 | jpm | 115 | 		}
 | 
        
           | 2 | aperonnet | 116 | 	}
 | 
        
           |  |  | 117 |   | 
        
           | 12 | david | 118 | 	public void connecteUtilisateur (final Rafraichissable r, String login, String password) {
 | 
        
           | 33 | jpm | 119 |   | 
        
           | 1918 | aurelien | 120 | 		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET,Configuration.getServiceBaseUrl() + "/User/" + login + "/" + password) ;
 | 
        
           | 33 | jpm | 121 |   | 
        
           |  |  | 122 | 		try {
 | 
        
           |  |  | 123 |   | 
        
           |  |  | 124 | 			rb.sendRequest(null, new RequestCallback() {
 | 
        
           | 12 | david | 125 |   | 
        
           | 1293 | aurelien | 126 | 				@Override
 | 
        
           | 33 | jpm | 127 | 				public void onError(Request request, Throwable exception) {
 | 
        
           |  |  | 128 | 					// TODO Auto-generated method stub
 | 
        
           |  |  | 129 |   | 
        
           |  |  | 130 | 				}
 | 
        
           | 2 | aperonnet | 131 |   | 
        
           | 1293 | aurelien | 132 | 				@Override
 | 
        
           | 33 | jpm | 133 | 				public void onResponseReceived(Request request,
 | 
        
           |  |  | 134 | 						Response response) {
 | 
        
           |  |  | 135 |   | 
        
           |  |  | 136 | 					JSONValue jsonValue = JSONParser.parse(response.getText());
 | 
        
           | 937 | aurelien | 137 | 					JSONObject objetJsonUtilisateur;
 | 
        
           | 33 | jpm | 138 |   | 
        
           | 937 | aurelien | 139 | 					if ((objetJsonUtilisateur = jsonValue.isObject()) != null) {
 | 
        
           | 12 | david | 140 |   | 
        
           | 937 | aurelien | 141 | 						Utilisateur utilisateur = Utilisateur.InitialiserInstance(objetJsonUtilisateur);
 | 
        
           | 596 | aurelien | 142 | 						r.rafraichir(utilisateur,true);
 | 
        
           | 937 | aurelien | 143 | 					}
 | 
        
           | 33 | jpm | 144 | 				}
 | 
        
           |  |  | 145 |   | 
        
           |  |  | 146 |   | 
        
           |  |  | 147 | 			}) ;
 | 
        
           |  |  | 148 |   | 
        
           |  |  | 149 | 		} catch (RequestException e) {
 | 
        
           |  |  | 150 |   | 
        
           |  |  | 151 | 			e.printStackTrace() ;
 | 
        
           |  |  | 152 | 		}
 | 
        
           | 2 | aperonnet | 153 | 	}
 | 
        
           |  |  | 154 |   | 
        
           | 596 | aurelien | 155 | 	public void accepterLicence(String identifiantUtilisateur) {
 | 
        
           |  |  | 156 |   | 
        
           | 1918 | aurelien | 157 | 		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST,Configuration.getServiceBaseUrl() + "/LicenceUtilisateur/"+identifiantUtilisateur) ;
 | 
        
           | 596 | aurelien | 158 |   | 
        
           |  |  | 159 | 		try {
 | 
        
           |  |  | 160 |   | 
        
           | 965 | aurelien | 161 | 			String postData = "licence=1";
 | 
        
           | 596 | aurelien | 162 |   | 
        
           |  |  | 163 | 			rb.sendRequest(postData, new RequestCallback() {
 | 
        
           | 12 | david | 164 |   | 
        
           | 1293 | aurelien | 165 | 				@Override
 | 
        
           | 596 | aurelien | 166 | 				public void onError(Request request, Throwable exception) {
 | 
        
           |  |  | 167 | 					// TODO Auto-generated method stub
 | 
        
           |  |  | 168 |   | 
        
           |  |  | 169 | 				}
 | 
        
           | 12 | david | 170 |   | 
        
           | 1293 | aurelien | 171 | 				@Override
 | 
        
           | 596 | aurelien | 172 | 				public void onResponseReceived(Request request,
 | 
        
           |  |  | 173 | 						Response response) {
 | 
        
           |  |  | 174 |   | 
        
           | 937 | aurelien | 175 | 				}
 | 
        
           | 596 | aurelien | 176 | 			}) ;
 | 
        
           |  |  | 177 |   | 
        
           |  |  | 178 | 		} catch (RequestException e) {
 | 
        
           |  |  | 179 |   | 
        
           |  |  | 180 | 			e.printStackTrace() ;
 | 
        
           | 937 | aurelien | 181 | 		}
 | 
        
           | 596 | aurelien | 182 | 	}
 | 
        
           | 937 | aurelien | 183 | }
 |