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