Rev 778 | Rev 941 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.modeles;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dev.js.rhino.ObjToIntMap.Iterator;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.Window;
public class ImageServiceResultat {
private List<Image> images;
private int nbTotalImagesPourLaRecherche;
public ImageServiceResultat(JSONValue retourJson) {
try {
images = new ArrayList<Image>();
// TODO ajouter vérifications plus précises
if(retourJson.isObject().get("entete") != null) {
double total = retourJson.isObject().get("entete").isObject().get("total").isNumber().doubleValue();
nbTotalImagesPourLaRecherche = (int) total;
JSONObject tableauImg = retourJson.isObject().get("resultats").isObject();
java.util.Iterator<String> it = tableauImg.keySet().iterator();
while (it.hasNext()) {
JSONObject imageJson = tableauImg.get(it.next()).isObject();
Image image = parserRetourImage(imageJson);
images.add(image);
}
} else {
JSONArray tableauImg = retourJson.isObject().get("images").isArray();
nbTotalImagesPourLaRecherche = (int) tableauImg.size();
for (int i = 0; i < nbTotalImagesPourLaRecherche; i++) {
JSONObject imageJson = tableauImg.get(i).isObject();
Image image = parserRetourImage(imageJson);
images.add(image);
}
}
} catch (Exception e) {
Window.alert(e.getMessage());
}
}
public Image parserRetourImage(JSONObject imageJson) {
Image image = UtilitairesServiceResultat.parserImageJSON(imageJson);
if (imageJson.get("observation") != null && imageJson.get("observation").isObject() != null) {
JSONObject observationJson = imageJson.get("observation").isObject();
image.setObservation(UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson));
}
if (imageJson.get("protocoles_votes") != null && imageJson.get("protocoles_votes").isObject() != null) {
JSONObject votes = imageJson.get("protocoles_votes").isObject();
image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes));
}
return image;
}
public List<Image> getImages() {
return images;
}
public void setImages(List<Image> images) {
this.images = images;
}
public int getNbTotalImagesPourLaRecherche() {
return nbTotalImagesPourLaRecherche;
}
public void setNbTotalImagesPourLaRecherche(int nbTotalImagesPourLaRecherche) {
this.nbTotalImagesPourLaRecherche = nbTotalImagesPourLaRecherche;
}
}