Subversion Repositories eFlore/Applications.cel

Rev

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