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,Vector comps) { |
|
public NameAssistant(AutoCompleteAsyncTextBoxListener listener) { |
complements=comps; |
autoCompletebox.setSearchUrl(getServiceBaseUrl()+"/NameSearch/"); |
|
// 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/"); |
|
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"); |
|
|
} |
|
|
} |
|