Subversion Repositories eFlore/Applications.del

Rev

Rev 1256 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
500 aurelien 1
package org.tela_botanica.del.client.utils;
386 aurelien 2
 
1256 aurelien 3
import java.util.HashMap;
4
import java.util.Map;
5
 
386 aurelien 6
import com.google.gwt.http.client.Response;
7
import com.google.gwt.json.client.JSONArray;
938 gduche 8
import com.google.gwt.json.client.JSONObject;
386 aurelien 9
import com.google.gwt.json.client.JSONParser;
10
import com.google.gwt.json.client.JSONValue;
11
 
12
public class UtilitairesAutoCompletionService {
13
 
14
	public static String effectuerPreTraitementChaineRequeteGenreEspeceSlash(String requete) {
15
		String chaineTraitee = requete;
16
		String[] parties = requete.split(" ", 2);
17
 
18
		if(parties.length == 2) {
19
			if(parties[1].trim().isEmpty()) {
20
				parties[1] = "*";
21
			}
22
			chaineTraitee = parties[0]+"/"+parties[1];
23
		}
24
 
25
		return chaineTraitee;
26
	}
27
 
28
	public static String effectuerPreTraitementChaineRequeteGenreEspeceEflore(String requete) {
29
 
30
		String chaineTraitee = "?recherche=etendue&ns.structure=au&retour.format=oss&masque="+requete;
31
		return chaineTraitee;
32
	}
33
 
1256 aurelien 34
	public static Map<String, String> extraireTaxonsNumNomsResultatRetourSimple(Response response) {
35
		JSONObject responseValue = JSONParser.parseStrict(response.getText()).isObject();
36
		JSONArray noms = responseValue.get("resultats").isArray();
37
 
38
		final int taillemax = noms.size();
39
		Map<String, String> retourTaxons = new HashMap<String, String>(taillemax);
40
 
41
		for (int i = 0; i < taillemax; i++) {
42
			String nom = (noms.get(i).isArray().get(0).isString().stringValue());
43
			String taxon = (noms.get(i).isArray().get(1).isString().stringValue());
44
			retourTaxons.put(nom, taxon);
45
		}
46
		return retourTaxons;
47
	}
48
 
938 gduche 49
	public static String[] parserResultatRetourSimple(Response response) {
50
		JSONObject responseValue = JSONParser.parseStrict(response.getText()).isObject();
51
		JSONArray noms = responseValue.get("resultats").isArray();
52
 
53
		String[] valeurs = new String[0];
54
		final int taillemax = noms.size();
55
		valeurs = new String[taillemax];
56
		for (int i = 0; i < taillemax; i++) {
57
			valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue());
58
		}
59
		return valeurs;
60
	}
61
 
386 aurelien 62
	public static String[] parserRetourSimple(Response response) {
63
		final JSONValue responseValue = JSONParser.parseStrict(response.getText());
64
		JSONArray noms;
65
		String[] valeurs = new String[0];
66
 
67
		if ((noms=responseValue.isArray()) != null) {
68
 
69
			final int taillemax = noms.size();
70
			valeurs = new String[taillemax];
71
			for (int i = 0; i < taillemax; i++) {
72
				valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue());
73
			}
74
		}
75
		return valeurs;
76
	}
77
 
78
	public static String[] parserRetourOss(Response response) {
79
		JSONValue retourJson = JSONParser.parseStrict(response.getText());
80
		JSONArray tableauResultat = retourJson.isArray().get(1).isArray();
81
 
82
		String[] suggestions = new String[tableauResultat.size()];
83
		for (int i = 0; i < tableauResultat.size(); i++) {
84
			suggestions[i] = tableauResultat.get(i).isString().stringValue();
85
		}
86
 
87
		return suggestions;
88
	}
89
}