@Override public void onResponseReceived(Request request, Response response) { JSONValue j = JSONParser.parseStrict(response.getText()); JSONObject obj = j.isObject(); if (obj != null && obj.containsKey("error")) { Window.alert(obj.get("error").isString().stringValue()); changeButtonSelection(); setTextEnabled(false); clearTextBoxes(); singleSelectionModel.clear(); } else { List<OrganismInfo> organismInfoList = OrganismInfoConverter.convertJSONStringToOrganismInfoList(response.getText()); dataGrid.setSelectionModel(singleSelectionModel); MainPanel.getInstance().getOrganismInfoList().clear(); MainPanel.getInstance().getOrganismInfoList().addAll(organismInfoList); changeButtonSelection(); OrganismChangeEvent organismChangeEvent = new OrganismChangeEvent(organismInfoList); organismChangeEvent.setAction(OrganismChangeEvent.Action.LOADED_ORGANISMS); Annotator.eventBus.fireEvent(organismChangeEvent); // in the case where we just add one . . .we should refresh the app state if (organismInfoList.size() == 1) { MainPanel.getInstance().getAppState(); } } if (savingNewOrganism) { savingNewOrganism = false; setNoSelection(); changeButtonSelection(false); loadingDialog.hide(); } }