Subversion Repositories eFlore/Applications.del

Rev

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

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