Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles.collection;import java.util.HashMap;import org.tela_botanica.client.Mediateur;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.modeles.Information;import org.tela_botanica.client.synchronisation.Reponse;import org.tela_botanica.client.util.UtilDAO;import com.extjs.gxt.ui.client.Registry;import com.google.gwt.core.client.GWT;import com.google.gwt.http.client.URL;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONObject;import com.google.gwt.json.client.JSONValue;public class CollectionAStructureAsyncDao {private static final String SERVICE_NOM = "CoelCollection";public static final String PAR_STRUCTURE = "ParIdStructure";private Rafraichissable vueARafraichir = null;public CollectionAStructureAsyncDao(Rafraichissable vueARafraichirCourrante) {if (Mediateur.DEBUG) System.out.println("|| CollectionAStructureAsyncDao > vueARafraichir = "+vueARafraichirCourrante.getClass().toString());vueARafraichir = vueARafraichirCourrante;}public void selectionner(final String structureId, final int start, final int nbElements, final Integer seqId) {String[] parametres = {structureId};HashMap<String, String> restrictions = new HashMap<String, String>();if (nbElements != -1) {restrictions.put("limit", String.valueOf(nbElements));}/** DEFINITION DU TUPLE DE DEPART **/restrictions.put("start", String.valueOf(start*nbElements));final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM+'/'+PAR_STRUCTURE, parametres, restrictions);rb.envoyerRequete(null, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue responseValue) {Information info = new Information("liste_collection_a_structure");if (responseValue != null) {final JSONArray reponse = responseValue.isArray();// Si la réponse est un tableau, alors c'est une liste de collections qui a été retournéeif (responseValue.isArray() != null) {// Transformation du tableau JSON réponse en CollectionAStructureListeCollectionAStructureListe collections = new CollectionAStructureListe(reponse);info.setDonnee(0, collections);// et on met à jour le demandeur des donnéesif (seqId != null) {if (Mediateur.DEBUG) System.out.println("<-- CollectionAStructureAsyncDao > Liste non paginée, retour au sequenceur");Reponse reponseRequete = new Reponse(info, seqId);vueARafraichir.rafraichir(reponseRequete);}else {if (Mediateur.DEBUG) System.out.println("<-- CollectionAStructureAsyncDao > Liste non paginée, retour au sequenceur");vueARafraichir.rafraichir(info);}// Si la réponse est un objet, alors c'est une unique collection qui a été retournée} else if (responseValue.isArray() != null) {GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null);}}}});}}