Subversion Repositories eFlore/Applications.del

Rev

Rev 843 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 843 Rev 941
Line 1... Line 1...
1
package org.tela_botanica.del.client.modeles;
1
package org.tela_botanica.del.client.modeles;
Line 2... Line -...
2
 
-
 
3
import java.util.ArrayList;
2
 
Line 4... Line -...
4
import java.util.List;
-
 
5
 
-
 
6
import org.tela_botanica.del.client.cache.CacheClient;
-
 
7
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
-
 
8
 
-
 
9
import com.google.gwt.json.client.JSONArray;
-
 
10
import com.google.gwt.json.client.JSONObject;
-
 
11
import com.google.gwt.json.client.JSONValue;
3
import java.util.List;
12
 
4
 
13
public class ObservationServiceResultat {
5
public class ObservationServiceResultat {
14
	
-
 
15
	private List<Observation> observations;
-
 
Line 16... Line -...
16
	
-
 
17
	private int nbTotalObservationsPourLaRecherche;
-
 
18
 
-
 
19
	public ObservationServiceResultat(JSONValue retourJson) {
-
 
20
		
-
 
21
		observations = new ArrayList<Observation>();
-
 
22
		
-
 
23
		if(retourJson.isObject().get("entete") != null) {
6
 
24
			//TODO ajouter vérifications plus précises
-
 
25
			double total = retourJson.isObject().get("entete").isObject().get("total").isNumber().doubleValue();
-
 
26
			nbTotalObservationsPourLaRecherche = (int) total;
-
 
27
			JSONObject tableauObs = retourJson.isObject().get("resultats").isObject();
-
 
28
						
-
 
29
			if(tableauObs != null) {
-
 
30
				java.util.Iterator<String> it = tableauObs.keySet().iterator();
-
 
31
				while (it.hasNext()) {					
-
 
32
					JSONObject observationJson = tableauObs.get(it.next()).isObject();
-
 
33
					Observation observation = analyserObservation(observationJson);
-
 
34
					observations.add(observation);			
-
 
35
				}
-
 
36
			}
-
 
37
		} else {
-
 
38
			JSONObject observationJson = retourJson.isObject();
-
 
39
			Observation observation = analyserObservation(observationJson);
-
 
40
			observations.add(observation);
-
 
41
			CacheClient.getInstance().setObservationCourante(observation);
-
 
42
		}
-
 
43
	}
-
 
44
	
-
 
45
	private Observation analyserObservation(JSONObject observationJson) {
-
 
46
		Observation observation = UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson);
-
 
47
		JSONArray tableauImagesObs = observationJson.get("images").isArray();
-
 
48
		List<Image> imagesPourObs = new ArrayList<Image>();
-
 
49
		
-
 
50
		int nbImages = tableauImagesObs.size();
-
 
51
		for (int j = 0; j < nbImages; j++) {
-
 
52
			JSONObject imageJson = tableauImagesObs.get(j).isObject();
-
 
53
			
-
 
54
			Image image = UtilitairesServiceResultat.parserImageJSON(imageJson);
-
 
55
			if (imageJson.get("protocoles_votes") != null && imageJson.get("protocoles_votes").isObject() != null) {
-
 
56
				JSONObject votes = imageJson.get("protocoles_votes").isObject();
-
 
57
				image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes));
-
 
58
			}
-
 
59
			image.setObservation(observation);
-
 
60
			imagesPourObs.add(image);
-
 
61
		}
-
 
62
		
-
 
63
		observation.setImages(imagesPourObs);
-
 
Line 64... Line 7...
64
		
7
	private List<Observation> observations;
65
		return observation;
8
 
66
	}
9
	private int nbTotalObservationsPourLaRecherche;