New file |
0,0 → 1,68 |
package org.tela_botanica.del.client.services.rest.async; |
|
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat; |
|
import com.google.gwt.http.client.Request; |
import com.google.gwt.http.client.RequestCallback; |
import com.google.gwt.http.client.Response; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.user.client.Window; |
|
public abstract class PropositionDeterminationCallBack implements RequestCallback { |
|
//TODO: voir si l'on fusionne les classes de vote callback qui sont tout à fait semblables |
// pour ne pas dire identiques |
public enum ModeRequete { |
AJOUT, MODIFICATION, SUPPRESSION |
} |
|
protected ModeRequete mode; |
|
public PropositionDeterminationCallBack(ModeRequete mode) { |
this.mode = mode; |
} |
|
public PropositionDeterminationCallBack() { |
// TODO Auto-generated constructor stub |
} |
|
public void setMode(ModeRequete mode) { |
this.mode = mode; |
} |
|
@Override |
public void onResponseReceived(Request request, Response response){ |
int statusCode = response.getStatusCode(); |
int codeAttendu = 500; |
switch (mode) { |
case AJOUT: |
codeAttendu = 201; |
break; |
case MODIFICATION: |
codeAttendu = 200; |
break; |
case SUPPRESSION: |
codeAttendu = 200; |
break; |
default: |
codeAttendu = 500; |
break; |
} |
|
if (statusCode == codeAttendu) { |
String id = UtilitairesServiceResultat.parserRetourAjoutCommentaire(JSONParser.parseStrict(response.getText()).isObject()); |
surRetour(id); |
} else { |
surErreur("Erreur " + statusCode + ": " + response.getText()); |
} |
} |
|
@Override |
public void onError(Request request, Throwable exception) { |
Window.alert(exception.getMessage()); |
} |
|
public abstract void surRetour(String messageRetour); |
public abstract void surErreur(String messageErreur); |
|
} |