Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 267 → Rev 268

/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java
14,19 → 14,31
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.http.client.Response;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class FormulairePropositionPresenteur extends Presenteur {
private AutoCompletionComboBoxPresenteur autoCompletionComboBoxPresenteur = new AutoCompletionComboBoxPresenteur();
private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
private String urlServiceCompletionNom = "http://www.tela-botanica.org/eflore/cel2/jrest/NameSearch/";
public FormulairePropositionPresenteur() {
super(new FormulairePropositionVue());
autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(urlServiceCompletionNom) {
@Override
protected String[] parserResultatRequete(Response response) {
return convertirReponseVersListeNom(response);
}
};
}
 
public void go(HasWidgets composite) {
 
autoCompletionComboBoxPresenteur.go(((FormulairePropositionVue)getVue()).getPropositionTaxon());
autoCompletionNomTaxonsPresenteur.go(((FormulairePropositionVue)getVue()).getPropositionTaxon());
composite.add((FormulairePropositionVue)getVue());
gererEvenements();
}
72,8 → 84,25
propositionAjoutee.setContributeur(auteur);
propositionAjoutee.setDate(new Date());
 
propositionAjoutee.setEspece(autoCompletionComboBoxPresenteur.getValeur());
propositionAjoutee.setEspece(autoCompletionNomTaxonsPresenteur.getValeur());
 
return propositionAjoutee;
}
private String[] convertirReponseVersListeNom(Response response) {
final JSONValue responseValue = JSONParser.parseStrict(response.getText());
JSONArray noms;
String[] valeurs = new String[0];
if ((noms=responseValue.isArray()) != null) {
final int taillemax = noms.size();
valeurs = new String[taillemax];
for (int i = 0; i < taillemax; i++) {
valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue());
}
}
return valeurs;
}
}
/trunk/src/org/tela_botanica/del/client/composants/formulaires/AutoCompletionComboBoxPresenteur.java
15,7 → 15,10
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.SuggestOracle;
 
public class AutoCompletionComboBoxPresenteur {
public abstract class AutoCompletionComboBoxPresenteur {
// Complétion de taxons :
// http://www.tela-botanica.org/eflore/cel2/jrest/NameSearch/
private AutoCompletionComboBoxVue autoCompletionComboBoxVue = new AutoCompletionComboBoxVue();
24,9 → 27,11
Timer suggestionTimer = null;
int tempsAvantRequete = 500;
String urlRequete = "";
public AutoCompletionComboBoxPresenteur() {
public AutoCompletionComboBoxPresenteur(String urlRequete) {
this.urlRequete = urlRequete;
}
public void go(HasWidgets composite) {
91,8 → 96,7
requeteAjax = parties[0]+"/"+parties[1];
}
String altUrl = "http://www.tela-botanica.org/eflore/cel2/jrest/NameSearch/";
String urlProxy = "proxy.php?url="+URL.encode(altUrl+requeteAjax);
String urlProxy = "proxy.php?url="+URL.encode(urlRequete+requeteAjax);
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlProxy) ;
108,21 → 112,11
public void onResponseReceived(final Request request,
final Response response) {
final JSONValue responseValue = JSONParser.parseStrict(response.getText());
JSONArray noms;
if ((noms=responseValue.isArray()) != null) {
final int taillemax = noms.size();
String[] valeurs = new String[taillemax];
for (int i = 0; i < taillemax; i++) {
valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue());
}
String[] valeurs = parserResultatRequete(response);
autoCompletionComboBoxVue.remplirListe(valeurs);
requeteOracle.setQuery(requete);
autoCompletionComboBoxVue.afficherSuggestions(requeteOracle, callBackOracle);
}
autoCompletionComboBoxVue.remplirListe(valeurs);
requeteOracle.setQuery(requete);
autoCompletionComboBoxVue.afficherSuggestions(requeteOracle, callBackOracle);
}
}) ;
 
131,4 → 125,6
e.printStackTrace();
}
}
protected abstract String[] parserResultatRequete(Response response);
}