Subversion Repositories eFlore/Applications.cel

Rev

Rev 220 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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