Subversion Repositories eFlore/Applications.cel

Rev

Rev 1488 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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