4,6 → 4,7 |
import org.tela_botanica.client.interfaces.Rafraichissable; |
|
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; |
18,9 → 19,11 |
public class StructureAsyncDao { |
|
public void ajouter(final Rafraichissable r, String utilisateurId, final Structure str) { |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelStructureListe/"); |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
"CoelStructureListe/"; |
|
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url); |
|
String postDonnees = "cmhl_ce_modifier_par=" + utilisateurId + |
"&cs_ce_projet =" + URL.encodeComponent(str.getIdProjet()) + |
"&cs_ce_mere =" + URL.encodeComponent(str.getIdMere()) + |
48,25 → 51,50 |
rb.sendRequest(postDonnees, new RequestCallback() { |
|
public void onError(Request request, Throwable exception) { |
// TODO Auto-generated method stub |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service CoelStructureListe", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
} |
|
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString()); |
} |
|
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
|
// Si la requête est un succès, reception d'un tableau |
if (responseValue.isString() != null) { |
str.set("messages", responseValue.isString().stringValue()); |
r.rafraichir(str); |
if (responseValue.isArray() != null) { |
Information info = new Information("ajout_structure", responseValue.isArray()); |
r.rafraichir(info); |
} else { |
GWT.log(url+"\n\tLa réponse n'est pas un tableau JSON.", null); |
} |
} else { |
GWT.log(url, null); |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
if (response.getText() == null) { |
GWT.log("\tLa réponse vaul null", null); |
} |
} |
} |
} |
|
}) ; |
} catch (RequestException e) { |
|
// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?) |
GWT.log("Erreur à la création du service CoelProjetsListe", e); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête."); |
} |
} |
|
90,18 → 118,27 |
|
} |
|
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString()); |
} |
|
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
|
// Si la requête est un succès, reception d'un tableau |
if (responseValue.isString() != null) { |
GWT.log(responseValue.isString().stringValue(), null); |
Information info = new Information("suppression_structure", responseValue.isString().stringValue()); |
info.setMessage("ok"); |
r.rafraichir(info); |
} else { |
GWT.log(url+"\n\tLa réponse est une chaine valant null", null); |
GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
} else { |
GWT.log(url, null); |
113,10 → 150,13 |
} |
} |
} |
} |
|
}) ; |
} catch (RequestException e) { |
|
// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?) |
GWT.log("Erreur à la création du service CoelProjetsListe", e); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête."); |
} |
} |
} |