New file |
0,0 → 1,95 |
package org.tela_botanica.del.client.services.rest; |
|
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
import org.tela_botanica.del.client.services.rest.async.AjoutVoteDeterminationCallback; |
import org.tela_botanica.del.client.services.rest.async.ListeVotesDeterminationCallback; |
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete; |
|
import org.tela_botanica.del.client.services.RequestBuilderWithCredentials; |
import com.google.gwt.user.client.Window; |
|
public class VoteDeterminationServiceConcret implements VoteDeterminationService { |
|
private String baseUrl; |
|
public VoteDeterminationServiceConcret() { |
Config config = new Config(); |
this.baseUrl = config.getServiceBaseUrl(); |
} |
|
public VoteDeterminationServiceConcret(Config config) { |
this.baseUrl = config.getServiceBaseUrl(); |
} |
|
@Override |
public void ajouterVote(VoteDetermination voteDetermination, AjoutVoteDeterminationCallback callback) { |
|
|
String idObservation = voteDetermination.getPropositionDetermination().getObservation().getId(); |
String idProposition = voteDetermination.getPropositionDetermination().getId(); |
//cas de la proposition de détermination crée automatiquement à partir de l'obs |
if(idProposition == null) { |
idProposition = "0"; |
} |
|
String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/"; |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.PUT, urlService); |
|
callback.setMode(ModeRequete.AJOUT); |
String chainePost = assemblerChaineRequeteAjoutModif(voteDetermination); |
try { |
rb.sendRequest(chainePost, callback); |
} catch (Exception e) { |
//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ? |
} |
} |
|
@Override |
public void modifierVote(VoteDetermination voteDetermination, AjoutVoteDeterminationCallback callback) { |
String idObservation = voteDetermination.getPropositionDetermination().getObservation().getId(); |
String idProposition = voteDetermination.getPropositionDetermination().getId(); |
//cas de la proposition de détermination crée automatiquement à partir de l'obs |
if(idProposition == null) { |
idProposition = "0"; |
} |
|
String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/"; |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST, urlService); |
|
callback.setMode(ModeRequete.MODIFICATION); |
String chainePost = assemblerChaineRequeteAjoutModif(voteDetermination); |
try { |
rb.sendRequest(chainePost, callback); |
} catch (Exception e) { |
//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ? |
} |
} |
|
private String assemblerChaineRequeteAjoutModif(VoteDetermination voteDetermination) { |
String chaineRequete = "utilisateur="+voteDetermination.getContributeur()+"&"+ |
"valeur="+voteDetermination.getVote(); |
return chaineRequete; |
} |
|
@Override |
public void consulterVotesPourPropositionDetermination(PropositionDetermination propositionDetermination, ListeVotesDeterminationCallback callback) { |
String idObservation = propositionDetermination.getObservation().getId(); |
String idProposition = propositionDetermination.getId(); |
//cas de la proposition de détermination crée automatiquement à partir de l'obs |
if(idProposition == null) { |
idProposition = "0"; |
} |
|
String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/"; |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, urlService); |
|
callback.setMode(ModeRequete.LECTURE); |
try { |
rb.sendRequest(null, callback); |
} catch (Exception e) { |
//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ? |
} |
} |
} |