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 ImageGeneriqueVueAsynchroneDAO {
24
 
25
	/**
26
	 * Le modele associé au DAO
27
	 */
28
	private ObservationModele observationModele = null;
29
 
30
	public ImageGeneriqueVueAsynchroneDAO(ObservationModele obs) {
31
		observationModele = obs;
32
	}
33
 
34
 
35
 
36
	/**
347 david 37
	 * Recherche Image  associee a un nom
54 david 38
	 * @param r
39
	 * @param identifiant
40
	 * @param numeroNomenclaturalSaisiObservation
41
	 */
42
 
1542 aurelien 43
	public void obtenirURLImage(final Rafraichissable r, String referentielTaxo, String numeroNomenclaturalSaisiObservation) {
44
		String referentielDefaut =  Configuration.getReferentielsDispos().get(0).getCode();
45
		referentielTaxo = (referentielTaxo != null && !referentielTaxo.isEmpty()) ? referentielTaxo : referentielDefaut;
54 david 46
 
47
		// on envoie le get asynchrone
1918 aurelien 48
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET,Configuration.getServiceBaseUrl()
1542 aurelien 49
				+"/NameImage/"+referentielTaxo+"/"+numeroNomenclaturalSaisiObservation) ;
54 david 50
 
51
		try {
52
			rb.sendRequest(null, new RequestCallback() {
53
 
1293 aurelien 54
				@Override
54 david 55
				public void onError(Request request, Throwable exception) {
56
					// TODO Auto-generated method stub
57
 
58
				}
59
 
1293 aurelien 60
				@Override
54 david 61
				public void onResponseReceived(Request request,
62
						Response response) {
63
 
64
					JSONValue responseValue = JSONParser.parse(response.getText());
65
					JSONArray reponse;
66
					String urlImage=null;
347 david 67
					String urlImageMax=null;
54 david 68
 
69
					if ((reponse = responseValue.isArray()) != null) {
70
						// Url Image
71
						urlImage= ((JSONString)reponse.get(0)).stringValue();
347 david 72
						urlImageMax= ((JSONString)reponse.get(1)).stringValue();
54 david 73
					}
74
					else {
75
						urlImage="";
347 david 76
						urlImageMax="";
54 david 77
					}
78
 
347 david 79
					r.rafraichir(new String[]{urlImage,urlImageMax},true);
54 david 80
				}
81
			}) ;
82
 
83
		} catch (RequestException e) {
84
			// TODO Auto-generated catch block
85
			e.printStackTrace();
86
		}
87
	}
88
 
89
 
90
 
91
}