Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 81 Rev 94
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import org.tela_botanica.client.image.ImageModele;
3
import org.tela_botanica.client.image.ImageModele;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
5
import org.tela_botanica.client.observation.ObservationModele;
5
 
6
 
6
import com.google.gwt.http.client.Request;
7
import com.google.gwt.http.client.Request;
7
import com.google.gwt.http.client.RequestBuilder;
8
import com.google.gwt.http.client.RequestBuilder;
8
import com.google.gwt.http.client.RequestCallback;
9
import com.google.gwt.http.client.RequestCallback;
9
import com.google.gwt.http.client.RequestException;
10
import com.google.gwt.http.client.RequestException;
10
import com.google.gwt.http.client.Response;
11
import com.google.gwt.http.client.Response;
-
 
12
import com.google.gwt.json.client.JSONArray;
-
 
13
import com.google.gwt.json.client.JSONParser;
-
 
14
import com.google.gwt.json.client.JSONString;
-
 
15
import com.google.gwt.json.client.JSONValue;
11
import com.google.gwt.user.client.Window;
16
import com.google.gwt.user.client.Window;
12
 
17
 
13
public class LienImageAsynchroneDAO {
18
public class LienImageAsynchroneDAO {
14
 
19
 
15
	private ImageModele iModele = null ;
20
	private ImageModele iModele = null ;
-
 
21
	
-
 
22
	private ObservationModele oModele = null ;
-
 
23
	
-
 
24
	private Rafraichissable raf = null ;
16
	
25
	
17
	public LienImageAsynchroneDAO(ImageModele im) {
26
	public LienImageAsynchroneDAO(ImageModele im) {
18
		iModele = im;
27
		iModele = im;
19
	}
28
	}
-
 
29
	
-
 
30
	public LienImageAsynchroneDAO(ObservationModele om) {
-
 
31
		oModele = om;
-
 
32
	}
20
 
33
 
21
	/**
34
	/**
22
	 * Setteur pour le modèle
35
	 * Setteur pour le modèle
23
	 * 
36
	 * 
24
	 * @param im
37
	 * @param im
25
	 *            le modèle à associer
38
	 *            le modèle à associer
26
	 */
39
	 */
27
	public void setIModele(ImageModele im) {
40
	public void setIModele(ImageModele im) {
28
		iModele = im;
41
		iModele = im;
29
	}
42
	}
30
	
43
	
31
	public void obtenirLiaisonsImagesObservations(Rafraichissable r,String id)
44
	public void obtenirLiaisonsImagesObservations(Rafraichissable r,String id)
32
	{
45
	{
33
		String paramGet = "&coi_ce_image="+id ;
46
		String paramGet = "&coi_ce_image="+id ;
34
 
47
 
35
		// et on envoie ça au serveur
48
		// et on envoie ça au serveur
36
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
49
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
37
				.getConfig().getServiceBaseUrl()
50
				.getConfig().getServiceBaseUrl()
38
				+ "/inventoryImageLink/" + iModele.getIdentifiant() + "/" + paramGet);
51
				+ "/inventoryImageLink/" + iModele.getIdentifiant() + "/" + paramGet);
39
			try {
52
			try {
40
				rb.sendRequest(null, new RequestCallback() {
53
				rb.sendRequest(null, new RequestCallback() {
41
	
54
	
42
					public void onError(Request request, Throwable exception) {
55
					public void onError(Request request, Throwable exception) {
43
						// TODO Auto-generated method stub
56
						// TODO Auto-generated method stub
44
	
57
	
45
					}
58
					}
46
	
59
	
47
					public void onResponseReceived(Request request,
60
					public void onResponseReceived(Request request,
48
							Response response) {
61
							Response response) {
49
	
62
	
50
						Window.alert(response.getText()) ;
63
						Window.alert(response.getText()) ;
51
	
64
	
52
					}
65
					}
53
				});
66
				});
-
 
67
	
-
 
68
			} catch (RequestException e) {
-
 
69
				// TODO Auto-generated catch block
-
 
70
				e.printStackTrace();
-
 
71
			}
-
 
72
	}
-
 
73
	
-
 
74
	public void obtenirLiaisonsObservationsImages(Rafraichissable r,String idObs, String utilisateur)
-
 
75
	{
-
 
76
		String paramGet = "&coi_ce_observation="+idObs ;
-
 
77
		raf = r ;
-
 
78
 
-
 
79
		// et on envoie ça au serveur
-
 
80
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, oModele
-
 
81
				.getConfig().getServiceBaseUrl()
-
 
82
				+ "/inventoryImageLink/" + utilisateur + "/" + paramGet);
-
 
83
			try {
-
 
84
				rb.sendRequest(null, new RequestCallback() {
-
 
85
	
-
 
86
					public void onError(Request request, Throwable exception) {
-
 
87
						// TODO Auto-generated method stub
-
 
88
	
-
 
89
					}
-
 
90
	
-
 
91
					public void onResponseReceived(Request request,
-
 
92
							Response response) {
-
 
93
	
-
 
94
						String baseUrl = "http://162.38.234.9/Documents/images_serveur/";
-
 
95
						
-
 
96
						final JSONValue responseValue = JSONParser.parse(response
-
 
97
								.getText());
-
 
98
						// si c'est un tableau
-
 
99
						if (responseValue.isArray() != null) {
-
 
100
 
-
 
101
							final JSONArray reponse = responseValue.isArray();
-
 
102
							
-
 
103
							final int taillemax = reponse.size();
-
 
104
							
-
 
105
							String urlTab[] = new String[taillemax] ;
-
 
106
							
-
 
107
							for(int i = 0 ;i<taillemax ;i++)
-
 
108
							{
-
 
109
								
-
 
110
								final JSONArray reponseInt = reponse.get(i).isArray();
-
 
111
								String idImg = ((JSONString)reponseInt.get(0)).stringValue() ;
-
 
112
								
-
 
113
								int maxZeros = 9 - idImg.length();
-
 
114
		
-
 
115
								for (int j = 0; j < maxZeros; j++) {
-
 
116
									idImg = "0" + idImg;
-
 
117
								}
-
 
118
		
-
 
119
								String dossierNv1 = idImg.substring(0, 3);
-
 
120
								String dossierNv2 = idImg.substring(3, 6);
-
 
121
								String fichierNv = idImg.substring(6, 9);
-
 
122
		
-
 
123
								String nomFichier = dossierNv1 + "_" + dossierNv2 + "_" + fichierNv;
-
 
124
		
-
 
125
								String[] infosFichier = { nomFichier, dossierNv1, dossierNv2 };
-
 
126
								
-
 
127
								String url_img = baseUrl + infosFichier[1] + "/" + infosFichier[2] + "/M/"
-
 
128
								+ infosFichier[0] + "_M.jpg";
-
 
129
								
-
 
130
								urlTab[i]= url_img ;
-
 
131
							}
-
 
132
							
-
 
133
							raf.rafraichir(urlTab, false) ;
-
 
134
						}
-
 
135
						else
-
 
136
						{
-
 
137
							String urlTab[] = new String[0] ;
-
 
138
							raf.rafraichir(urlTab, false) ;
-
 
139
						}
-
 
140
					}
-
 
141
					
-
 
142
				});
54
	
143
	
55
			} catch (RequestException e) {
144
			} catch (RequestException e) {
56
				// TODO Auto-generated catch block
145
				// TODO Auto-generated catch block
57
				e.printStackTrace();
146
				e.printStackTrace();
58
			}
147
			}
59
	}
148
	}
60
	
149
	
61
	public void lierImageBaseDeDonnees(String idsImages, String idsObs) {
150
	public void lierImageBaseDeDonnees(String idsImages, String idsObs) {
62
		
151
		
63
		String postData = "";
152
		String postData = "";
64
		
153
		
65
		postData += "&coi_ce_image="+idsImages ;
154
		postData += "&coi_ce_image="+idsImages ;
66
		postData += "&coi_ce_observation="+idsObs ;
155
		postData += "&coi_ce_observation="+idsObs ;
67
		postData += "&identifiant="+iModele.getIdentifiant() ;
156
		postData += "&identifiant="+iModele.getIdentifiant() ;
68
 
157
 
69
		// et on envoie ça au serveur
158
		// et on envoie ça au serveur
70
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
159
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
71
				.getConfig().getServiceBaseUrl()
160
				.getConfig().getServiceBaseUrl()
72
				+ "/inventoryImageLink/");
161
				+ "/inventoryImageLink/");
73
		
162
		
74
		if(Window.confirm("Lier les images "+idsImages+" aux observations "+idsObs+" ?"))
163
		if(Window.confirm("Lier les images "+idsImages+" aux observations "+idsObs+" ?"))
75
		{
164
		{
76
			try {
165
			try {
77
				rb.sendRequest(postData, new RequestCallback() {
166
				rb.sendRequest(postData, new RequestCallback() {
78
	
167
	
79
					public void onError(Request request, Throwable exception) {
168
					public void onError(Request request, Throwable exception) {
80
						// TODO Auto-generated method stub
169
						// TODO Auto-generated method stub
81
	
170
	
82
					}
171
					}
83
	
172
	
84
					public void onResponseReceived(Request request,
173
					public void onResponseReceived(Request request,
85
							Response response) {
174
							Response response) {
86
	
175
	
87
						// quand la requête est éxecutée on le signale au modèle
176
						// quand la requête est éxecutée on le signale au modèle
88
						// poru qu'il mette à jour les données
177
						// poru qu'il mette à jour les données
89
						// et en notifie le médiateur
178
						// et en notifie le médiateur
90
					//	iModele.requeteTerminee();
179
					//	iModele.requeteTerminee();
91
	
180
	
92
					}
181
					}
93
				});
182
				});
94
	
183
	
95
			} catch (RequestException e) {
184
			} catch (RequestException e) {
96
				// TODO Auto-generated catch block
185
				// TODO Auto-generated catch block
97
				e.printStackTrace();
186
				e.printStackTrace();
98
			}
187
			}
99
		}
188
		}
100
	}
189
	}
101
}
190
}