Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
836 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 VoteDeterminationCallBack 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
13
	}
14
 
15
	protected ModeRequete mode;
16
 
17
	public VoteDeterminationCallBack(ModeRequete mode) {
18
		this.mode = mode;
19
	}
20
 
21
	public VoteDeterminationCallBack() {
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
			default:
41
				codeAttendu = 500;
42
				break;
43
		}
44
 
45
		if (statusCode == codeAttendu) {
46
			surRetour(response.getText());
47
		} else {
48
			surErreur("Erreur " + statusCode + ": " + response.getText());
49
		}
50
	}
51
 
52
	@Override
53
	public void onError(Request request, Throwable exception) {
54
		Window.alert(exception.getMessage());
55
	}
56
 
57
	public abstract void surRetour(String messageRetour);
58
	public abstract void surErreur(String messageErreur);
59
}