Subversion Repositories eFlore/Archives.cel-v1

Compare Revisions

Ignore whitespace Rev 3 → Rev 4

/trunk/src/org/tela_botanica/client/NameAssistant.java
5,10 → 5,18
import java.util.EventListener;
 
 
import com.google.gwt.i18n.client.Dictionary;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.ResponseTextHandler;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
 
import java.util.Vector;
 
 
import org.tela_botanica.client.AutoCompleteAsyncTextBox;
 
/**
15,18 → 23,17
* A composite that displays a list of names that can be selected.
*/
 
public class NameAssistant extends Composite implements EventListener {
public class NameAssistant extends Composite implements EventListener, ResponseTextHandler {
 
private AutoCompleteAsyncTextBox autoCompletebox = new AutoCompleteAsyncTextBox();
private AutoCompleteAsyncTextBox autoCompletebox = new AutoCompleteAsyncTextBox(this);
private HorizontalPanel panel = new HorizontalPanel();
 
private Vector complements=null;
public NameAssistant(AutoCompleteAsyncTextBoxListener listener) {
// autoCompletebox.setSearchUrl("http://localhost/david/PHPJSON/server/server.php");
// autoCompletebox.setSearchUrl("http://localhost/david/papyrus/client/eflore_bp/index.php?module=recherche&action=completion_nom_latin&referentiel=25&format=json&nom=");
autoCompletebox.setSearchUrl("http://localhost/david/jrest/NameSearch/");
public NameAssistant(AutoCompleteAsyncTextBoxListener listener,Vector comps) {
complements=comps;
autoCompletebox.setSearchUrl(getServiceBaseUrl()+"/NameSearch/");
panel.add(autoCompletebox);
 
autoCompletebox.setWidth("100%");
35,6 → 42,42
 
}
 
public void onCompletion(String str) {
JSONValue jsonValue= JSONParser.parse(str);
JSONArray jsonArray;
JSONArray jsonArrayNested;
JSONString jsonString;
 
complements.clear();
if ((jsonArray = jsonValue.isArray()) != null) {
for (int i = 0; i < jsonArray.size(); ++i) {
if ((jsonArrayNested = jsonArray.get(i).isArray()) != null) {
if ((jsonString = (jsonArrayNested.get(0)).isString()) != null) {
autoCompletebox.addItem(jsonString.stringValue());
}
if ((jsonString = (jsonArrayNested.get(1)).isString()) != null) {
complements.add(i,jsonString.stringValue());
}
}
}
}
 
autoCompletebox.displayList();
}
 
 
public String getServiceBaseUrl() {
Dictionary theme = Dictionary.getDictionary("Parameters");
return theme.get("serviceBaseUrl");
 
}
}