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); |
} |