Subversion Repositories eFlore/Applications.cel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
21 david 1
package org.tela_botanica.client.modeles;
2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.observation.ObservationModele;
5
 
6
import com.google.gwt.http.client.Request;
7
import com.google.gwt.http.client.RequestBuilder;
8
import com.google.gwt.http.client.RequestCallback;
9
import com.google.gwt.http.client.RequestException;
10
import com.google.gwt.http.client.Response;
11
import com.google.gwt.http.client.URL;
116 aurelien 12
import com.google.gwt.user.client.Window;
21 david 13
 
116 aurelien 14
 
21 david 15
/**
16
 * DAO d'accès a une observation
17
 *
18
 * @author aurelien
19
 *
20
 */
21
public class ObservationAsynchroneDAO {
22
 
23
	/**
24
	 * Le modele associé au DAO
25
	 */
26
	private ObservationModele oModele = null;
27
 
28
	public ObservationAsynchroneDAO(ObservationModele obs) {
29
		oModele = obs;
30
	}
31
 
32
	/**
33
	 * Setteur pour le modèle
34
	 *
35
	 * @param obs
36
	 *            le modèle à associer
37
	 */
38
	public void setoModele(ObservationModele obs) {
39
		oModele = obs;
40
	}
41
 
42
	/**
43
	 * Envoie requete au serveur pour ajouter une observations
44
	 *
45
	 * @param motcle
46
	 *            le mots clés à ajouter avec son parent et son identifiant
47
	 */
48
 
49
	public void ajouter(final Rafraichissable r, String utilisateur, final Observation obs) {
122 aurelien 50
 
116 aurelien 51
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl()+ "/Inventory/") ;
39 david 52
 
963 aurelien 53
			String postData = "ce_utilisateur="
259 aurelien 54
				+ utilisateur
55
				+"&nom_sel="+URL.encodeComponent(obs.getNomSaisi())
963 aurelien 56
				+"&nom_sel_nn="+obs.getNumeroNomenclaturalSaisi()
57
				+"&zone_geo="+URL.encodeComponent(obs.getLocalite())
58
				+"&ce_zone_geo="+obs.getIdentifiantLocalite()
259 aurelien 59
				+"&date_observation=" +  obs.getDate()
60
				+"&lieudit="+ URL.encodeComponent(obs.getLieudit())
61
				+"&station="+URL.encodeComponent(obs.getStation())
62
				+"&milieu="+URL.encodeComponent(obs.getMilieu())
411 aurelien 63
				+"&commentaire="+obs.getCommentaire()
963 aurelien 64
				+"&latitude="+URL.encodeComponent(""+obs.getLatitude())
65
				+"&longitude="+URL.encodeComponent(""+obs.getLongitude());;
21 david 66
 
41 jpm 67
 
32 jpm 68
			try {
69
 
70
				rb.sendRequest(postData, new RequestCallback() {
21 david 71
 
32 jpm 72
					public void onError(Request request, Throwable exception) {
73
						// TODO Auto-generated method stub
74
 
75
					}
21 david 76
 
32 jpm 77
					public void onResponseReceived(Request request,
78
							Response response) {
79
 
21 david 80
						r.rafraichir(obs,true);
32 jpm 81
 
82
					}
83
 
84
 
85
				}) ;
86
 
87
			} catch (RequestException e) {
88
 
21 david 89
		}
32 jpm 90
	}
74 david 91
 
92
	/**
93
	 * Envoie requete au serveur pour modifier une observations
94
	 *
95
	 * @param motcle
96
	 *            le mots clés à ajouter avec son parent et son identifiant
97
	 */
98
 
79 david 99
	public void modifier(final Rafraichissable r, String utilisateur, final Observation obs) {
74 david 100
 
116 aurelien 101
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl()+ "/Inventory/" + utilisateur + "/" + obs.getNumeroOrdre()+ "/") ;
21 david 102
 
971 aurelien 103
			String postData = "ce_utilisateur="
220 aurelien 104
				+ utilisateur
105
				+ "&nom_sel=" + URL.encodeComponent(obs.getNomSaisi())
963 aurelien 106
				+ "&nom_sel_nn=" + obs.getNumeroNomenclaturalSaisi()
107
				+ "&zone_geo=" + URL.encodeComponent(obs.getLocalite())
108
				+ "&ce_zone_geo=" + obs.getIdentifiantLocalite()
220 aurelien 109
				+ "&date_observation=" +  obs.getDate()
110
				+ "&lieudit="+ URL.encodeComponent(obs.getLieudit())
111
				+ "&station="+ URL.encodeComponent(obs.getStation())
112
				+"&milieu="+ URL.encodeComponent(obs.getMilieu())
411 aurelien 113
				+"&commentaire="+obs.getCommentaire()
318 aurelien 114
				+"&mots_cles="+URL.encodeComponent(""+obs.getMotsCles())
963 aurelien 115
				+"&latitude="+URL.encodeComponent(""+obs.getLatitude())
116
				+"&longitude="+URL.encodeComponent(""+obs.getLongitude());
74 david 117
 
118
			try {
119
 
120
				rb.sendRequest(postData, new RequestCallback() {
121
 
122
					public void onError(Request request, Throwable exception) {
123
						// TODO Auto-generated method stub
124
 
125
					}
126
 
127
					public void onResponseReceived(Request request,
128
							Response response) {
129
 
79 david 130
						r.rafraichir(obs,true);
74 david 131
 
132
					}
133
 
134
 
135
				}) ;
136
 
137
			} catch (RequestException e) {
138
 
139
		}
140
 
141
	}
77 jpm 142
 
143
	public void supprimer(Rafraichissable r, String identifiant, String numeroOrdre) {
144
 
145
		String postData = "";
146
		postData += "&action=DELETE";
147
 
148
		// on envoie un post avec l'id de l'image à supprimer
107 aurelien 149
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
150
				Configuration.getServiceBaseUrl()
77 jpm 151
				+ "/inventory/"
152
				+ identifiant
153
				+ "/"
154
				+ numeroOrdre);
155
 
156
		try {
157
			rb.sendRequest(postData, new RequestCallback() {
158
 
159
				public void onError(Request request, Throwable exception) {
160
					// TODO Auto-generated method stub
161
 
162
				}
163
 
164
				public void onResponseReceived(Request request,
165
						Response response) {
166
 
167
					if (response.getText().equals("OK")) {
168
 
169
 
170
					} else {
171
						com.google.gwt.user.client.Window
172
								.alert("Problème lors de la mise à jour des données");
173
						return ;
174
					}
175
				}
176
 
177
			});
178
 
179
			r.rafraichir("OK", true) ;
180
 
181
		} catch (RequestException e) {
182
			// TODO Auto-generated catch block
183
			e.printStackTrace();
184
		}
185
 
186
	}
74 david 187
 
21 david 188
}