Subversion Repositories eFlore/Applications.del

Rev

Rev 425 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 425 Rev 465
1
package org.tela_botanica.del.client.services;
1
package org.tela_botanica.del.client.services;
2
 
2
 
3
import com.google.gwt.http.client.Response;
3
import com.google.gwt.http.client.Response;
4
import com.google.gwt.json.client.JSONArray;
4
import com.google.gwt.json.client.JSONArray;
5
import com.google.gwt.json.client.JSONParser;
5
import com.google.gwt.json.client.JSONParser;
6
import com.google.gwt.json.client.JSONValue;
6
import com.google.gwt.json.client.JSONValue;
7
 
7
 
8
public class UtilitairesAutoCompletionService {
8
public class UtilitairesAutoCompletionService {
9
	
9
	
10
	// Attention à n'utiliser que si eflore est installé
10
	// Attention à n'utiliser que si eflore est installé
11
	public static String urlServiceCompletionNomEflore = "http://localhost/service:eflore:0.1/bdtfx/noms";	
11
	public static String urlServiceCompletionNomEflore = "http://localhost/service:eflore:0.1/bdtfx/noms";	
12
	public static String urlServiceCompletionNomLocale = "/del/jrest/NomsTaxons/";	
12
	public static String urlServiceCompletionNomLocale = "/del/jrest/NomsTaxons/";	
-
 
13
	
-
 
14
	public static String urlServiceCompletionCommunes = "/del/jrest/Communes/";
13
	
15
	
14
	public static String effectuerPreTraitementChaineRequeteGenreEspeceSlash(String requete) {
16
	public static String effectuerPreTraitementChaineRequeteGenreEspeceSlash(String requete) {
15
		String chaineTraitee = requete;
17
		String chaineTraitee = requete;
16
		String[] parties = requete.split(" ", 2);
18
		String[] parties = requete.split(" ", 2);
17
		
19
		
18
		if(parties.length == 2) {
20
		if(parties.length == 2) {
19
			if(parties[1].trim().isEmpty()) {
21
			if(parties[1].trim().isEmpty()) {
20
				parties[1] = "*";
22
				parties[1] = "*";
21
			}
23
			}
22
			chaineTraitee = parties[0]+"/"+parties[1];
24
			chaineTraitee = parties[0]+"/"+parties[1];
23
		}
25
		}
24
		
26
		
25
		return chaineTraitee;
27
		return chaineTraitee;
26
	}
28
	}
27
	
29
	
28
	public static String effectuerPreTraitementChaineRequeteGenreEspeceEflore(String requete) {
30
	public static String effectuerPreTraitementChaineRequeteGenreEspeceEflore(String requete) {
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;
32
	}
34
	}
33
	
35
	
34
	public static String[] parserRetourSimple(Response response) {
36
	public static String[] parserRetourSimple(Response response) {
35
		final JSONValue responseValue = JSONParser.parseStrict(response.getText());
37
		final JSONValue responseValue = JSONParser.parseStrict(response.getText());
36
		JSONArray noms;
38
		JSONArray noms;
37
		String[] valeurs = new String[0];
39
		String[] valeurs = new String[0];
38
	
40
	
39
		if ((noms=responseValue.isArray()) != null) {
41
		if ((noms=responseValue.isArray()) != null) {
40
				
42
				
41
			final int taillemax = noms.size();	
43
			final int taillemax = noms.size();	
42
			valeurs = new String[taillemax];
44
			valeurs = new String[taillemax];
43
			for (int i = 0; i < taillemax; i++) {
45
			for (int i = 0; i < taillemax; i++) {
44
				valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue());
46
				valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue());
45
			}
47
			}
46
		}
48
		}
47
		
49
		
48
		return valeurs;
50
		return valeurs;
49
	}
51
	}
50
	
52
	
51
	public static String[] parserRetourOss(Response response) {
53
	public static String[] parserRetourOss(Response response) {
52
		JSONValue retourJson = JSONParser.parseStrict(response.getText());
54
		JSONValue retourJson = JSONParser.parseStrict(response.getText());
53
		JSONArray tableauResultat = retourJson.isArray().get(1).isArray();
55
		JSONArray tableauResultat = retourJson.isArray().get(1).isArray();
54
		
56
		
55
		String[] suggestions = new String[tableauResultat.size()];
57
		String[] suggestions = new String[tableauResultat.size()];
56
		for (int i = 0; i < tableauResultat.size(); i++) {
58
		for (int i = 0; i < tableauResultat.size(); i++) {
57
			suggestions[i] = tableauResultat.get(i).isString().stringValue();
59
			suggestions[i] = tableauResultat.get(i).isString().stringValue();
58
		}
60
		}
59
		
61
		
60
		return suggestions;
62
		return suggestions;
61
	}
63
	}
62
}
64
}