@Override
  public void onGetAllSuccess(JSONArray response) {
    view.hideProgress();

    if (response.length() != 0) {
      view.addItems(response);
    }
  }
  @Override
  public void OnFindByNameSuccess(JSONArray response) {
    view.hideProgress();

    if (response.length() != 0) {
      view.addItems(response);
    }
  }
  @Override
  public void onQuerySubmit(String string) {
    view.clearResults();
    view.showProgress();

    if (string.equals("find all")) {
      robotSource.getAll(this);
    } else {
      robotSource.findByName(string, this);

      // regex for any positive number without leading "0".
      if (string.matches("^[1-9]\\d*$")) {
        robotSource.findById(string, this);
      }
    }
  }
 @Override
 public void onFindByNameFailure(int statusCode, String responseString) {
   view.hideProgress();
   view.showMessage(responseString);
 }
 @Override
 public void onFindByIdFailure(int statusCode, JSONObject errorResponse) {
   view.hideProgress();
   view.showMessage(errorResponse.toString());
 }
 @Override
 public void OnFindByIdSuccess(JSONObject response) {
   if (response.optString(STATUS).equalsIgnoreCase(FOUND)) {
     view.addItem(response.optString(DATA));
   }
 }
 @Override
 public void onAddClicked() {
   view.showAdd();
 }
 @Override
 public void onItemSelected(int item) {
   view.showDetail(item);
 }