Subversion Repositories eFlore/Applications.cel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
989 aurelien 1
package org.tela_botanica.client.modeles.dao;
54 david 2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
989 aurelien 4
import org.tela_botanica.client.modeles.objets.Configuration;
54 david 5
import org.tela_botanica.client.observation.ObservationModele;
6
 
7
import com.google.gwt.http.client.Request;
1918 aurelien 8
import org.tela_botanica.client.util.RequestBuilderWithCredentials;
54 david 9
import com.google.gwt.http.client.RequestCallback;
10
import com.google.gwt.http.client.RequestException;
11
import com.google.gwt.http.client.Response;
12
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONParser;
14
import com.google.gwt.json.client.JSONString;
15
import com.google.gwt.json.client.JSONValue;
16
 
17
/**
18
 * DAO d'accès a une observation
19
 *
20
 * @author aurelien
21
 *
22
 */
23
public class ImageInformationRepartitionAsynchroneDAO {
24
 
25
	/**
26
	 * Le modele associé au DAO
27
	 */
28
	private ObservationModele observationModele = null;
29
 
30
	public ImageInformationRepartitionAsynchroneDAO(ObservationModele obs) {
31
		observationModele = obs;
32
	}
33
 
34
 
35
 
36
	/**
37
	 * Recherche Image repartition associee a un nom
38
	 * @param r
39
	 * @param identifiant
40
	 * @param numeroNomenclaturalSaisiObservation
41
	 */
42
 
1542 aurelien 43
	public void obtenirURLImage(final Rafraichissable r, String referentielTaxo, String numeroNomenclaturalSaisiObservation) {
54 david 44
 
1542 aurelien 45
		String referentielDefaut =  Configuration.getReferentielsDispos().get(0).getCode();
46
		referentielTaxo = (referentielTaxo != null && !referentielTaxo.isEmpty()) ? referentielTaxo : referentielDefaut;
54 david 47
 
48
		// on envoie le get asynchrone
1918 aurelien 49
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET,Configuration.getServiceBaseUrl()
1542 aurelien 50
				+"/NameMap/"+referentielTaxo+"/"+numeroNomenclaturalSaisiObservation) ;
54 david 51
 
52
		try {
53
			rb.sendRequest(null, new RequestCallback() {
54
 
1293 aurelien 55
				@Override
54 david 56
				public void onError(Request request, Throwable exception) {
57
					// TODO Auto-generated method stub
58
 
59
				}
60
 
1293 aurelien 61
				@Override
54 david 62
				public void onResponseReceived(Request request,
63
						Response response) {
64
 
65
					JSONValue responseValue = JSONParser.parse(response.getText());
66
					JSONArray reponse;
67
					String urlImage=null;
68
 
69
					if ((reponse = responseValue.isArray()) != null) {
70
						// Url Image
71
						urlImage= ((JSONString)reponse.get(0)).stringValue();
72
					}
73
					else {
74
						urlImage="";
75
					}
76
 
77
					r.rafraichir(urlImage,true);
78
				}
79
			}) ;
80
 
81
		} catch (RequestException e) {
82
			// TODO Auto-generated catch block
83
			e.printStackTrace();
84
		}
85
	}
86
 
87
 
88
 
89
}