Subversion Repositories eFlore/Applications.del

Rev

Rev 926 | Go to most recent revision | Details | Compare with Previous | 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 {
887 aurelien 9
		//TODO: voir si l'on fusionne les  classes de commentaire et proposition callback qui sont tout à fait semblables
880 aurelien 10
		// pour ne pas dire identiques
11
		public enum ModeRequete {
926 benjamin 12
			AJOUT, MODIFICATION, SUPPRESSION, LECTURE
880 aurelien 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;
926 benjamin 43
				case LECTURE:
44
					codeAttendu = 200;
45
					break;
880 aurelien 46
				default:
47
					codeAttendu = 500;
48
					break;
49
			}
50
 
932 aurelien 51
			if (statusCode == codeAttendu) {
926 benjamin 52
				surRetour(response.getText());
932 aurelien 53
			} else {
54
				surErreur("Erreur " + statusCode + ": " + response.getText());
55
			}
880 aurelien 56
		}
57
 
58
		@Override
59
		public void onError(Request request, Throwable exception) {
60
			Window.alert(exception.getMessage());
61
		}
62
 
63
		public abstract void surRetour(String messageRetour);
64
		public abstract void surErreur(String messageErreur);
65
}