Rev 2 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;/*** Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour**/import org.tela_botanica.client.Util;import org.tela_botanica.client.interfaces.iRetourObservation;import com.google.gwt.http.client.URL;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONNumber;import com.google.gwt.json.client.JSONParser;import com.google.gwt.json.client.JSONString;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.HTTPRequest;import com.google.gwt.user.client.ResponseTextHandler;public class ObservationAsynchroneDAO {/*** Constructeur*/public ObservationAsynchroneDAO() {}public void getNombreObservation(String baseURL,final iRetourObservation retour, String identifiant,String identifiantLocalite, String localite, String annee,String mois, String jour, String lieudit, String rechercheLibre) {HTTPRequest.asyncGet(baseURL + "/InventoryItemList/" + identifiant+ "/" + identifiantLocalite + "/"+ URL.encodeComponent(localite) + "/" + annee + "/" + mois+ "/" + jour + "/" + URL.encodeComponent(rechercheLibre) + "/"+ URL.encodeComponent(lieudit), new ResponseTextHandler() {public void onCompletion(String str) {JSONValue jsonValue = JSONParser.parse(str);JSONNumber jsonNumber;if ((jsonNumber = jsonValue.isNumber()) != null) {retour.onRetour(new Observation((int) jsonNumber.getValue()));}}});}public void getListeObservation(String baseURL,final iRetourObservation retour, String identifiant,String identifiantLocalite, String localite, String annee,String mois, String jour, String lieudit, String rechercheLibre,int debut, int longueur) {HTTPRequest.asyncGet(baseURL + "/InventoryItemList/" + identifiant+ "/" + identifiantLocalite + "/"+ URL.encodeComponent(localite) + "/" + annee + "/" + mois+ "/" + jour + "/" + URL.encodeComponent(rechercheLibre) + "/"+ URL.encodeComponent(lieudit) + "/" + debut + "/" + longueur,new ResponseTextHandler() {public void onCompletion(String str) {JSONValue jsonValue = JSONParser.parse(str);JSONArray jsonArray;JSONArray jsonArrayNested;if ((jsonArray = jsonValue.isArray()) != null) {if ((jsonArray = jsonValue.isArray()) != null) {int arraySize = jsonArray.size();Observation[] listeObservation = new Observation[arraySize];for (int i = 0; i < arraySize; i++) {if ((jsonArrayNested = jsonArray.get(i).isArray()) != null) {String transmis = ((JSONString) jsonArrayNested.get(13)).stringValue();String nomSaisi = Util.toCelString(((JSONString) jsonArrayNested.get(0)).toString());String nomRetenu = Util.toCelString(((JSONString) jsonArrayNested.get(2)).toString());String numeroNomenclatural = ((JSONString) jsonArrayNested.get(3)).stringValue();String numeroTaxonomique = ((JSONString) jsonArrayNested.get(4)).stringValue();String famille = Util.toCelString(((JSONString) jsonArrayNested.get(5)).toString());String localite = Util.toCelString(((JSONString) jsonArrayNested.get(6)).toString());String lieudit = Util.toCelString(((JSONString) jsonArrayNested.get(9)).toString());String station = Util.toCelString(((JSONString) jsonArrayNested.get(10)).toString());String milieu = Util.toCelString(((JSONString) jsonArrayNested.get(11)).toString());String commentaire = Util.toCelString(((JSONString) jsonArrayNested.get(12)).toString());String date = ((JSONString) jsonArrayNested.get(8)).stringValue();String numeroOrdre = ((JSONString) jsonArrayNested.get(7)).stringValue();listeObservation[i] = new Observation(transmis,nomSaisi, nomRetenu,numeroNomenclatural, numeroTaxonomique,famille, localite, lieudit, station,milieu, commentaire, date, numeroOrdre);}}retour.onRetour(new Observation(listeObservation));}}}});}}