1,7 → 1,8 |
package org.tela_botanica.client.modeles; |
|
import org.tela_botanica.client.Modele; |
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 com.extjs.gxt.ui.client.Registry; |
15,57 → 16,55 |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Window; |
|
public class PublicationAsyncDao { |
private static final String SERVICE_NOM = "CoelPublication"; |
|
private PublicationListe publications = null; |
private Rafraichissable rafraichissement = null; |
private Rafraichissable vueARafraichir = null; |
|
public PublicationAsyncDao(Rafraichissable r) { |
|
rafraichissement = r ; |
public PublicationAsyncDao(Rafraichissable vueARafraichirCourrante) { |
vueARafraichir = vueARafraichirCourrante ; |
} |
|
public void obtenirListePublication() { |
// Demande de toutes les structures |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url+SERVICE_NOM+"/"); |
public void selectionnerPublication(final String publicationId, String projetId, String nomComplet) { |
// Ajout des paramètres et données à selectionner dans l'URL |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
(projetId == null ? "*" : projetId) + "/" + |
(publicationId == null ? "*" : publicationId) + "/" + |
(nomComplet == null ? "*" : nomComplet) + "/" + |
""; |
|
try { |
rb.sendRequest(null, new RequestCallback() { |
|
public void onError(Request request, Throwable exception) { |
// TODO Auto-generated method stub |
|
} |
|
public void onResponseReceived(Request request, Response response) { |
Boolean defaut = true; |
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.isObject() != null) { |
final JSONObject reponse = responseValue.isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
publications = new PublicationListe(reponse); |
// et on met à jour le demandeur des données |
rafraichissement.rafraichir(publications); |
// Tout c'est bien déroulé, on courcircuite l'affichage par défaut |
defaut = false; |
} |
JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.GET, url); |
|
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, reception d'un objet ou d'un tableau |
if (responseValue.isObject() != null) { |
final JSONObject reponse = responseValue.isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Publication publication = new Publication(reponse); |
// et on met à jour le demandeur des données |
vueARafraichir.rafraichir(publication); |
} else if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
PublicationListe publications = new PublicationListe(reponse); |
vueARafraichir.rafraichir(publications); |
} else { |
GWT.log(url+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
if (defaut == true) { |
publications = new PublicationListe(0); |
rafraichissement.rafraichir(publications); |
} else { |
// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide |
if (publicationId == null) { |
PublicationListe publications = new PublicationListe(0); |
vueARafraichir.rafraichir(publications); |
} |
} |
}); |
} catch (RequestException e) { |
e.printStackTrace(); |
} |
} |
}); |
} |
|
public void modifierPublication(String utilisateurId, Publication pubAModifier) { |
92,7 → 91,7 |
// Transformation du tableau JSON réponse en ListeInstitution |
publications = new PublicationListe(reponse); |
// et on met à jour le demandeur des données |
rafraichissement.rafraichir(publications); |
vueARafraichir.rafraichir(publications); |
// Tout c'est bien déroulé, on courcircuite l'affichage par défaut |
defaut = false; |
} |
99,7 → 98,7 |
} |
if (defaut == true) { |
publications = new PublicationListe(0); |
rafraichissement.rafraichir(publications); |
vueARafraichir.rafraichir(publications); |
} |
} |
}); |
131,7 → 130,7 |
// Transformation du tableau JSON réponse en ListeInstitution |
publications = new PublicationListe(reponse); |
// et on met à jour le demandeur des données |
rafraichissement.rafraichir(publications); |
vueARafraichir.rafraichir(publications); |
// Tout c'est bien déroulé, on courcircuite l'affichage par défaut |
defaut = false; |
} |
138,7 → 137,7 |
} |
if (defaut == true) { |
publications = new PublicationListe(0); |
rafraichissement.rafraichir(publications); |
vueARafraichir.rafraichir(publications); |
} |
} |
}); |
172,7 → 171,7 |
// Transformation du tableau JSON réponse en ListeInstitution |
publications = new PublicationListe(reponse); |
// et on met à jour le demandeur des données |
rafraichissement.rafraichir(publications); |
vueARafraichir.rafraichir(publications); |
// Tout c'est bien déroulé, on courcircuite l'affichage par défaut |
defaut = false; |
} |
179,7 → 178,7 |
} |
if (defaut == true) { |
publications = new PublicationListe(0); |
rafraichissement.rafraichir(publications); |
vueARafraichir.rafraichir(publications); |
} |
} |
}); |