Subversion Repositories eFlore/Applications.del

Rev

Rev 778 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 778 Rev 839
1
package org.tela_botanica.del.client.modeles;
1
package org.tela_botanica.del.client.modeles;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Date;
4
import java.util.Date;
5
import java.util.HashMap;
5
import java.util.HashMap;
6
import java.util.List;
6
import java.util.List;
7
import java.util.Map;
7
import java.util.Map;
8
 
8
 
9
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
9
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
10
 
10
 
11
import com.google.gwt.core.client.GWT;
11
import com.google.gwt.core.client.GWT;
12
import com.google.gwt.dev.js.rhino.ObjToIntMap.Iterator;
12
import com.google.gwt.dev.js.rhino.ObjToIntMap.Iterator;
13
import com.google.gwt.i18n.client.DateTimeFormat;
13
import com.google.gwt.i18n.client.DateTimeFormat;
14
import com.google.gwt.json.client.JSONArray;
14
import com.google.gwt.json.client.JSONArray;
15
import com.google.gwt.json.client.JSONObject;
15
import com.google.gwt.json.client.JSONObject;
16
import com.google.gwt.json.client.JSONValue;
16
import com.google.gwt.json.client.JSONValue;
17
import com.google.gwt.user.client.Window;
17
import com.google.gwt.user.client.Window;
18
 
18
 
19
public class ImageServiceResultat {
19
public class ImageServiceResultat {
20
 
20
 
21
	private List<Image> images;
21
	private List<Image> images;
22
 
22
 
23
	private int nbTotalImagesPourLaRecherche;
23
	private int nbTotalImagesPourLaRecherche;
24
 
24
 
25
	public ImageServiceResultat(JSONValue retourJson) {
25
	public ImageServiceResultat(JSONValue retourJson) {
26
	
26
	
27
		try {
27
		try {
28
			images = new ArrayList<Image>();
28
			images = new ArrayList<Image>();
29
			// TODO ajouter vérifications plus précises
29
			// TODO ajouter vérifications plus précises
30
			if(retourJson.isObject().get("entete") != null) {
30
			if(retourJson.isObject().get("entete") != null) {
31
				double total = retourJson.isObject().get("entete").isObject().get("total").isNumber().doubleValue();
31
				double total = retourJson.isObject().get("entete").isObject().get("total").isNumber().doubleValue();
32
				nbTotalImagesPourLaRecherche = (int) total;
32
				nbTotalImagesPourLaRecherche = (int) total;
33
				JSONObject tableauImg = retourJson.isObject().get("resultats").isObject();
33
				JSONObject tableauImg = retourJson.isObject().get("resultats").isObject();
34
				java.util.Iterator<String> it = tableauImg.keySet().iterator();
34
				java.util.Iterator<String> it = tableauImg.keySet().iterator();
35
				while (it.hasNext()) {
35
				while (it.hasNext()) {
36
					JSONObject imageJson = tableauImg.get(it.next()).isObject();
36
					JSONObject imageJson = tableauImg.get(it.next()).isObject();
37
					Image image = parserRetourImage(imageJson);
37
					Image image = parserRetourImage(imageJson);
38
					images.add(image);
38
					images.add(image);
39
				}
39
				}
40
				
40
				
41
			} else {
41
			} else {
42
				JSONArray tableauImg = retourJson.isObject().get("images").isArray();
42
				JSONArray tableauImg = retourJson.isObject().get("images").isArray();
43
				nbTotalImagesPourLaRecherche = (int) tableauImg.size();
43
				nbTotalImagesPourLaRecherche = (int) tableauImg.size();
44
				for (int i = 0; i < nbTotalImagesPourLaRecherche; i++) {
44
				for (int i = 0; i < nbTotalImagesPourLaRecherche; i++) {
45
					JSONObject imageJson = tableauImg.get(i).isObject();
45
					JSONObject imageJson = tableauImg.get(i).isObject();
46
					Image image = parserRetourImage(imageJson);
46
					Image image = parserRetourImage(imageJson);
47
					images.add(image);
47
					images.add(image);
48
				}
48
				}
49
			}
49
			}
50
		} catch (Exception e) {
50
		} catch (Exception e) {
51
 
-
 
-
 
51
			Window.alert(e.getMessage());
52
		}
52
		}
53
	}
53
	}
54
	
54
	
55
	public Image parserRetourImage(JSONObject imageJson) {
55
	public Image parserRetourImage(JSONObject imageJson) {
56
		Image image = UtilitairesServiceResultat.parserImageJSON(imageJson);
56
		Image image = UtilitairesServiceResultat.parserImageJSON(imageJson);
57
		
57
		
58
		if (imageJson.get("observation") != null && imageJson.get("observation").isObject() != null) {
58
		if (imageJson.get("observation") != null && imageJson.get("observation").isObject() != null) {
59
			JSONObject observationJson = imageJson.get("observation").isObject();
59
			JSONObject observationJson = imageJson.get("observation").isObject();
60
			image.setObservation(UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson));
60
			image.setObservation(UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson));
61
		}
61
		}
62
 
62
 
63
		if (imageJson.get("protocoles_votes") != null && imageJson.get("protocoles_votes").isObject() != null) {
63
		if (imageJson.get("protocoles_votes") != null && imageJson.get("protocoles_votes").isObject() != null) {
64
			JSONObject votes = imageJson.get("protocoles_votes").isObject();
64
			JSONObject votes = imageJson.get("protocoles_votes").isObject();
65
			image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes));
65
			image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes));
66
		}
66
		}
67
		
67
		
68
		return image;
68
		return image;
69
	}
69
	}
70
 
70
 
71
	public List<Image> getImages() {
71
	public List<Image> getImages() {
72
		return images;
72
		return images;
73
	}
73
	}
74
 
74
 
75
	public void setImages(List<Image> images) {
75
	public void setImages(List<Image> images) {
76
		this.images = images;
76
		this.images = images;
77
	}
77
	}
78
 
78
 
79
	public int getNbTotalImagesPourLaRecherche() {
79
	public int getNbTotalImagesPourLaRecherche() {
80
		return nbTotalImagesPourLaRecherche;
80
		return nbTotalImagesPourLaRecherche;
81
	}
81
	}
82
 
82
 
83
	public void setNbTotalImagesPourLaRecherche(int nbTotalImagesPourLaRecherche) {
83
	public void setNbTotalImagesPourLaRecherche(int nbTotalImagesPourLaRecherche) {
84
		this.nbTotalImagesPourLaRecherche = nbTotalImagesPourLaRecherche;
84
		this.nbTotalImagesPourLaRecherche = nbTotalImagesPourLaRecherche;
85
	}
85
	}
86
}
86
}