babbarkrishan
23 Dec 2010, 3:17 AM
Hi,
I want to populate a combo box using REST which returns data in JSON format. I tried with below given code but it is giving ClassCastException. Please help me to solve this, i would appreciate your help very much.
// Format of JSON return from server on calling of REST
{"response":{"entityName":null,"statusCode":0,"statusMessage":"SUCCESS","entityId":null,"parentName":null},"users":["Krishan","Chris"]}
// Calling REST method and parsing JSON data. I would like to fetch "users" Krishan and Chris from above JSON and populate the same in a combo box
ModelType type = new ModelType();
type.setRoot("response");
type.addField("users", "users");
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(fetchAllUsersUrl));
HttpProxy<String> proxy = new HttpProxy<String>(builder);
JsonLoadResultReader<ListLoadResult<ModelData>> reader = new JsonLoadResultReader<ListLoadResult<ModelData>>(type);
final BaseListLoader<ListLoadResult<ModelData>> loader = new BaseListLoader<ListLoadResult<ModelData>>(proxy, reader);
final ListStore<ModelData> store = new ListStore<ModelData>(loader);
loader.load();
loader.addLoadListener(new LoadListener() {
public void handleEvent(LoadEvent e) {
EventType type = e.getType();
if (type == Loader.Load) {
populateUsers(store);
}
}
});
SimpleComboBox<String> userCombo = new SimpleComboBox<String>();
public void populateUsers(ListStore<ModelData> store) {
Iterator<ModelData> usersIterator = store.getModels().iterator();
while (usersIterator.hasNext()) {
ModelData user = usersIterator.next();
userCombo.add((String)user.get("users"));
}
}Thanks
Krishan Babbar
I want to populate a combo box using REST which returns data in JSON format. I tried with below given code but it is giving ClassCastException. Please help me to solve this, i would appreciate your help very much.
// Format of JSON return from server on calling of REST
{"response":{"entityName":null,"statusCode":0,"statusMessage":"SUCCESS","entityId":null,"parentName":null},"users":["Krishan","Chris"]}
// Calling REST method and parsing JSON data. I would like to fetch "users" Krishan and Chris from above JSON and populate the same in a combo box
ModelType type = new ModelType();
type.setRoot("response");
type.addField("users", "users");
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(fetchAllUsersUrl));
HttpProxy<String> proxy = new HttpProxy<String>(builder);
JsonLoadResultReader<ListLoadResult<ModelData>> reader = new JsonLoadResultReader<ListLoadResult<ModelData>>(type);
final BaseListLoader<ListLoadResult<ModelData>> loader = new BaseListLoader<ListLoadResult<ModelData>>(proxy, reader);
final ListStore<ModelData> store = new ListStore<ModelData>(loader);
loader.load();
loader.addLoadListener(new LoadListener() {
public void handleEvent(LoadEvent e) {
EventType type = e.getType();
if (type == Loader.Load) {
populateUsers(store);
}
}
});
SimpleComboBox<String> userCombo = new SimpleComboBox<String>();
public void populateUsers(ListStore<ModelData> store) {
Iterator<ModelData> usersIterator = store.getModels().iterator();
while (usersIterator.hasNext()) {
ModelData user = usersIterator.next();
userCombo.add((String)user.get("users"));
}
}Thanks
Krishan Babbar