Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 268 → Rev 264

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