Subversion Repositories eFlore/Applications.cel

Rev

Rev 1549 | Go to most recent revision | 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;
1549 aurelien 7
import org.tela_botanica.client.util.Util;
21 david 8
 
9
import com.google.gwt.http.client.Request;
10
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.RequestCallback;
12
import com.google.gwt.http.client.RequestException;
13
import com.google.gwt.http.client.Response;
14
import com.google.gwt.http.client.URL;
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/") ;
1549 aurelien 54
			rb.setHeader("Content-type", "application/x-www-form-urlencoded");
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())
1488 aurelien 67
				+"&longitude="+URL.encodeComponent(""+obs.getLongitude())
1572 aurelien 68
				+"&altitude="+URL.encodeComponent(""+obs.getAltitude())
1488 aurelien 69
				+"&abondance="+URL.encodeComponent(""+obs.getAbondance())
1542 aurelien 70
				+"&certitude="+URL.encodeComponent(""+obs.getCertitude())
71
				+"&phenologie="+URL.encodeComponent(""+obs.getPhenologie())
1549 aurelien 72
				+"&nom_referentiel="+URL.encodeComponent(""+obs.getReferentielTaxo())
1572 aurelien 73
				+"&obs_etendue="+URL.encodeComponent(""+Util.convertirChampsEtendusEnChaineRequete(obs.getChampsEtendus()));
32 jpm 74
			try {
75
 
76
				rb.sendRequest(postData, new RequestCallback() {
21 david 77
 
1293 aurelien 78
					@Override
32 jpm 79
					public void onError(Request request, Throwable exception) {
80
						// TODO Auto-generated method stub
81
 
82
					}
21 david 83
 
1293 aurelien 84
					@Override
32 jpm 85
					public void onResponseReceived(Request request,
86
							Response response) {
87
 
21 david 88
						r.rafraichir(obs,true);
32 jpm 89
 
1293 aurelien 90
					}
32 jpm 91
				}) ;
92
 
93
			} catch (RequestException e) {
94
 
21 david 95
		}
32 jpm 96
	}
74 david 97
 
98
	/**
99
	 * Envoie requete au serveur pour modifier une observations
100
	 *
101
	 * @param motcle
102
	 *            le mots clés à ajouter avec son parent et son identifiant
103
	 */
104
 
79 david 105
	public void modifier(final Rafraichissable r, String utilisateur, final Observation obs) {
74 david 106
 
116 aurelien 107
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl()+ "/Inventory/" + utilisateur + "/" + obs.getNumeroOrdre()+ "/") ;
1549 aurelien 108
			rb.setHeader("Content-type", "application/x-www-form-urlencoded");
971 aurelien 109
			String postData = "ce_utilisateur="
220 aurelien 110
				+ utilisateur
111
				+ "&nom_sel=" + URL.encodeComponent(obs.getNomSaisi())
963 aurelien 112
				+ "&nom_sel_nn=" + obs.getNumeroNomenclaturalSaisi()
113
				+ "&zone_geo=" + URL.encodeComponent(obs.getLocalite())
114
				+ "&ce_zone_geo=" + obs.getIdentifiantLocalite()
220 aurelien 115
				+ "&date_observation=" +  obs.getDate()
116
				+ "&lieudit="+ URL.encodeComponent(obs.getLieudit())
117
				+ "&station="+ URL.encodeComponent(obs.getStation())
118
				+"&milieu="+ URL.encodeComponent(obs.getMilieu())
411 aurelien 119
				+"&commentaire="+obs.getCommentaire()
963 aurelien 120
				+"&latitude="+URL.encodeComponent(""+obs.getLatitude())
1488 aurelien 121
				+"&longitude="+URL.encodeComponent(""+obs.getLongitude())
1572 aurelien 122
				+"&altitude="+URL.encodeComponent(""+obs.getAltitude())
1488 aurelien 123
				+"&abondance="+URL.encodeComponent(""+obs.getAbondance())
1542 aurelien 124
				+"&certitude="+URL.encodeComponent(""+obs.getCertitude())
125
				+"&phenologie="+URL.encodeComponent(""+obs.getPhenologie())
1549 aurelien 126
				+"&nom_referentiel="+URL.encodeComponent(""+obs.getReferentielTaxo())
1572 aurelien 127
				+"&obs_etendue="+URL.encodeComponent(""+Util.convertirChampsEtendusEnChaineRequete(obs.getChampsEtendus()));
74 david 128
			try {
129
 
130
				rb.sendRequest(postData, new RequestCallback() {
131
 
1293 aurelien 132
					@Override
74 david 133
					public void onError(Request request, Throwable exception) {
134
						// TODO Auto-generated method stub
135
 
136
					}
137
 
1293 aurelien 138
					@Override
74 david 139
					public void onResponseReceived(Request request,
140
							Response response) {
141
 
79 david 142
						r.rafraichir(obs,true);
74 david 143
 
144
					}
145
 
146
 
147
				}) ;
148
 
149
			} catch (RequestException e) {
150
 
151
		}
152
 
153
	}
77 jpm 154
 
155
	public void supprimer(Rafraichissable r, String identifiant, String numeroOrdre) {
156
 
157
		String postData = "";
158
		postData += "&action=DELETE";
159
 
160
		// on envoie un post avec l'id de l'image à supprimer
107 aurelien 161
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
162
				Configuration.getServiceBaseUrl()
77 jpm 163
				+ "/inventory/"
164
				+ identifiant
165
				+ "/"
166
				+ numeroOrdre);
167
 
168
		try {
169
			rb.sendRequest(postData, new RequestCallback() {
170
 
1293 aurelien 171
				@Override
77 jpm 172
				public void onError(Request request, Throwable exception) {
173
					// TODO Auto-generated method stub
174
 
175
				}
176
 
1293 aurelien 177
				@Override
77 jpm 178
				public void onResponseReceived(Request request,
179
						Response response) {
180
 
181
					if (response.getText().equals("OK")) {
182
 
183
 
184
					} else {
185
						com.google.gwt.user.client.Window
186
								.alert("Problème lors de la mise à jour des données");
187
						return ;
188
					}
189
				}
190
 
191
			});
192
 
193
			r.rafraichir("OK", true) ;
194
 
195
		} catch (RequestException e) {
196
			// TODO Auto-generated catch block
197
			e.printStackTrace();
198
		}
199
 
200
	}
74 david 201
 
21 david 202
}