Subversion Repositories eFlore/Applications.del

Rev

Rev 887 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
880 aurelien 1
package org.tela_botanica.del.client.services.rest.async;
2
 
3
import com.google.gwt.http.client.Request;
4
import com.google.gwt.http.client.RequestCallback;
5
import com.google.gwt.http.client.Response;
6
import com.google.gwt.user.client.Window;
7
 
8
public abstract class CommentaireCallback implements RequestCallback {
9
	//TODO: voir si l'on fusionne les deux classes de vote callback qui sont tout à fait semblables
10
		// pour ne pas dire identiques
11
		public enum ModeRequete {
12
			AJOUT, MODIFICATION, SUPPRESSION
13
		}
14
 
15
		protected ModeRequete mode;
16
 
17
		public CommentaireCallback(ModeRequete mode) {
18
			this.mode = mode;
19
		}
20
 
21
		public CommentaireCallback() {
22
			// TODO Auto-generated constructor stub
23
		}
24
 
25
		public void setMode(ModeRequete mode) {
26
			this.mode = mode;
27
		}
28
 
29
		@Override
30
		public void onResponseReceived(Request request, Response response){
31
			int statusCode = response.getStatusCode();
32
			int codeAttendu = 500;
33
			switch (mode) {
34
				case AJOUT:
35
					codeAttendu = 201;
36
					break;
37
				case MODIFICATION:
38
					codeAttendu = 200;
39
					break;
40
				case SUPPRESSION:
41
					codeAttendu = 200;
42
					break;
43
				default:
44
					codeAttendu = 500;
45
					break;
46
			}
47
 
48
			if (statusCode == codeAttendu) {
49
				surRetour(response.getText());
50
			} else {
51
				surErreur("Erreur " + statusCode + ": " + response.getText());
52
			}
53
		}
54
 
55
		@Override
56
		public void onError(Request request, Throwable exception) {
57
			Window.alert(exception.getMessage());
58
		}
59
 
60
		public abstract void surRetour(String messageRetour);
61
		public abstract void surErreur(String messageErreur);
62
}