Subversion Repositories eFlore/Applications.del

Rev

Rev 1256 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1256 Rev 1886
Line 1... Line 1...
1
package org.tela_botanica.del.client.utils;
1
package org.tela_botanica.del.client.utils;
Line 2... Line 2...
2
 
2
 
3
import java.util.HashMap;
3
import java.util.LinkedHashMap;
Line -... Line 4...
-
 
4
import java.util.Map;
4
import java.util.Map;
5
 
5
 
6
import com.google.gwt.core.client.GWT;
6
import com.google.gwt.http.client.Response;
7
import com.google.gwt.http.client.Response;
7
import com.google.gwt.json.client.JSONArray;
8
import com.google.gwt.json.client.JSONArray;
8
import com.google.gwt.json.client.JSONObject;
9
import com.google.gwt.json.client.JSONObject;
-
 
10
import com.google.gwt.json.client.JSONParser;
Line 9... Line 11...
9
import com.google.gwt.json.client.JSONParser;
11
import com.google.gwt.json.client.JSONValue;
Line 10... Line 12...
10
import com.google.gwt.json.client.JSONValue;
12
import com.google.gwt.user.client.Window;
11
 
13
 
Line 29... Line 31...
29
		
31
		
30
		String chaineTraitee = "?recherche=etendue&ns.structure=au&retour.format=oss&masque="+requete;
32
		String chaineTraitee = "?recherche=etendue&ns.structure=au&retour.format=oss&masque="+requete;
31
		return chaineTraitee;
33
		return chaineTraitee;
Line 32... Line 34...
32
	}
34
	}
33
	
35
	
34
	public static Map<String, String> extraireTaxonsNumNomsResultatRetourSimple(Response response) {
36
	public static Map<String, InfosNomPourAutocompletion> extraireTaxonsNumNomsResultatRetourSimple(Response response) {
Line 35... Line 37...
35
		JSONObject responseValue = JSONParser.parseStrict(response.getText()).isObject();
37
		JSONObject responseValue = JSONParser.parseStrict(response.getText()).isObject();
-
 
38
		JSONArray noms = responseValue.get("resultats").isArray();
36
		JSONArray noms = responseValue.get("resultats").isArray();
39
		
Line 37... Line 40...
37
		
40
		final int taillemax = noms.size();
-
 
41
		// LinkedHashMap préserve l'ordre
-
 
42
		Map<String, InfosNomPourAutocompletion> retourTaxons = new LinkedHashMap<String, InfosNomPourAutocompletion>(taillemax);
38
		final int taillemax = noms.size();
43
			
-
 
44
		for (int i = 0; i < taillemax; i++) {
39
		Map<String, String> retourTaxons = new HashMap<String, String>(taillemax);
45
			// comment rendre compliqué un format fait pour être simple
-
 
46
			JSONObject obj = noms.get(i).isObject();
40
			
47
			String ns = obj.get("ns").isString().stringValue();
41
		for (int i = 0; i < taillemax; i++) {
48
			double nn = obj.get("nn").isNumber().doubleValue();
42
			String nom = (noms.get(i).isArray().get(0).isString().stringValue());
49
			boolean retenu = obj.get("retenu").isBoolean().booleanValue();
43
			String taxon = (noms.get(i).isArray().get(1).isString().stringValue());
50
			// empile, Gérard !
Line 44... Line 51...
44
			retourTaxons.put(nom, taxon);
51
			retourTaxons.put(ns, new InfosNomPourAutocompletion(nn, ns, retenu));
45
		}
52
		}
46
		return retourTaxons;
53
		return retourTaxons;
47
	}
54
	}
48
	
-
 
49
	public static String[] parserResultatRetourSimple(Response response) {
55
	
50
		JSONObject responseValue = JSONParser.parseStrict(response.getText()).isObject();
56
	public static InfosNomPourAutocompletion[] parserResultatRetourSimple(Response response) {
-
 
57
		JSONObject responseValue = JSONParser.parseStrict(response.getText()).isObject();
-
 
58
		JSONArray noms = responseValue.get("resultats").isArray();
51
		JSONArray noms = responseValue.get("resultats").isArray();
59
 
-
 
60
		final int taillemax = noms.size();	
-
 
61
		InfosNomPourAutocompletion[] valeurs = new InfosNomPourAutocompletion[taillemax];
52
		
62
 
-
 
63
		// Eh les gars, si on refaisait le même truc ici que celui qu'on vient de faire en haut ?
-
 
64
		for (int i = 0; i < taillemax; i++) {
-
 
65
			// comment rendre comp... euh j'ai déjà dit ça il y a 20 lignes, non ?
-
 
66
			JSONObject obj = noms.get(i).isObject();
53
		String[] valeurs = new String[0];
67
			String ns = obj.get("ns").isString().stringValue();
54
		final int taillemax = noms.size();	
68
			double nn = obj.get("nn").isNumber().doubleValue();
55
		valeurs = new String[taillemax];
69
			boolean retenu = obj.get("retenu").isBoolean().booleanValue();
Line 56... Line 70...
56
		for (int i = 0; i < taillemax; i++) {
70
			// empile, Marcel !