/** change Filter Title ListBox selectedValue */
  @SuppressWarnings("deprecation")
  @Override
  public void changeFilterTitleShown(String selectedtTitle) {
    Log.debug("###########this is changeFilterTitleShown");

    //		Window.alert("getSelectedFilterTitle() = " + getSelectedFilterTitle());
    requests
        .anamnesisCheckRequest()
        .findTitlesContatisAnamnesisChecksWithSearching(
            place.getSearchStr(), getSelectedFilterTitle())
        .fire(
            new Receiver<List<AnamnesisCheckTitleProxy>>() {

              @Override
              public void onSuccess(List<AnamnesisCheckTitleProxy> response) {
                Log.debug("????????in changeFilterTitleShown response = " + response.size());
                view.getAnamnesisCheckPanel().clear();
                if ((place.getSearchStr() == null || place.getSearchStr().equals(""))
                    && getSelectedFilterTitle() == null) {
                  view.loadAnamnesisCheckPanel(response, false);
                } else {
                  view.loadAnamnesisCheckPanel(response, true);
                }
              }
            });
  }
 @SuppressWarnings("deprecation")
 private void getTitlesBySearchStringAndFilter() {
   requests
       .anamnesisCheckRequest()
       .findTitlesContatisAnamnesisChecksWithSearching(
           view.getSearchBox().getText(), getSelectedFilterTitle())
       .fire(new FilteredTitleReceiver());
 }
 // find check value by title
 protected void fireCheckValueRequest(
     String searchValue, AnamnesisCheckProxy title, Receiver<List<AnamnesisCheckProxy>> callback) {
   requests
       .anamnesisCheckRequest()
       .findAnamnesisChecksByTitle(searchValue, title)
       .with(view.getPaths())
       .fire(callback);
 }
  private void reSorting(AnamnesisCheckTitleProxy anamnesisCheckTitle, Integer sortOder) {
    requests
        .anamnesisCheckRequest()
        .reSorting(anamnesisCheckTitle, sortOder + 1)
        .fire(
            new Receiver<Void>() {

              @Override
              public void onSuccess(Void response) {
                GWT.log("!!!!!!!!!!!!!!!!!!!!!!!! reSorting sucess");
              }
            });
  }
  private void init() {
    request = requests.anamnesisCheckRequest();

    if (anamnesisCheck == null) {
      AnamnesisCheckProxy anamnesisCheck = request.create(AnamnesisCheckProxy.class);
      this.anamnesisCheck = anamnesisCheck;
      view.setEditTitle(false);
    } else {
      // cannot be set via editor...
      view.setEditTitle(true);
    }

    //		GWT.log("$$$$$$$$$$$$$$$$ anamnesisCheck be
    // title="+anamnesisCheck.getAnamnesisCheckTitle().getText());
    //		GWT.log("$$$$$$$$$$$$$$$$ anamnesisCheck be sort oder="+anamnesisCheck.getSort_order());
    anamnesisCheckBefore = anamnesisCheck;

    Log.info("edit");

    Log.info("persist");

    request.persist().using(anamnesisCheck);
    editorDriver.edit(anamnesisCheck, request);

    Log.info("flush");
    //		editorDriver.flush();
    Log.debug("Create für: " + anamnesisCheck.getId());

    // manually update value fields... (no editor support)

    view.update(anamnesisCheck);

    initInsideTitle();
    if (place.getOperation() == Operation.EDIT) {
      getQuestionsByselected(anamnesisCheck.getAnamnesisCheckTitle());
    } else if (place.getOperation() == Operation.CREATE) {
      requests
          .anamnesisCheckTitleRequest()
          .findAnamnesisCheckTitle(Long.valueOf(place.getTitleId()))
          .fire(
              new Receiver<AnamnesisCheckTitleProxy>() {

                @Override
                public void onSuccess(AnamnesisCheckTitleProxy response) {
                  getQuestionsByselected(response);
                }
              });
    }
  }
  private void saveOrEditAnamnesisCheckTitleInSpportal(AnamnesisCheckProxy anamnesisCheck) {
    requests
        .anamnesisCheckRequest()
        .saveOrEditAnamnesisCheck(anamnesisCheck)
        .fire(
            new OSCEReceiver<Boolean>() {

              @Override
              public void onSuccess(Boolean response) {
                if (response == false) {
                  showErrorMessageToUser("System could not save AnamnesisCheck Data for spportal");
                }
              }
            });
  }
  @SuppressWarnings("deprecation")
  private void getQuestionsByselected(final AnamnesisCheckTitleProxy title) {

    //		if(anamnesisChecktype!=null&&anamnesisChecktype==AnamnesisCheckTypes.QUESTION_TITLE){
    //
    //	requests.anamnesisCheckRequest().findAnamnesisChecksByType(AnamnesisCheckTypes.QUESTION_TITLE).with("anamnesisForm","title").fire(new Receiver<List<AnamnesisCheckProxy>>() {
    //				public void onFailure(ServerFailure error) {
    //					GWT.log("in AnamnesisCheckEditActivity findAnamnesisChecksByType error = "+error);
    //				}
    //
    //				@Override
    //				public void onSuccess(List<AnamnesisCheckProxy> response) {
    //					initPreviousQuestion(response);
    //
    //				}
    //			});
    //		}else if(title!=null){
    //			requests.anamnesisCheckRequest().findAnamnesisChecksByTitle("",
    // title).with("anamnesisForm","title").fire(new Receiver<List<AnamnesisCheckProxy>>() {
    //				public void onFailure(ServerFailure error) {
    //					GWT.log("in AnamnesisCheckEditActivity findAnamnesisChecksByType error = "+error);
    //				}
    //
    //				@Override
    //				public void onSuccess(List<AnamnesisCheckProxy> response) {
    //					List<AnamnesisCheckProxy> previousQuestions = new ArrayList<AnamnesisCheckProxy>();
    //					previousQuestions.add(title);
    //					previousQuestions.addAll(response);
    //					initPreviousQuestion(previousQuestions);
    //
    //				}
    //			});
    //		}
    requests
        .anamnesisCheckRequest()
        .findAnamnesisChecksBySearchWithAnamnesisCheckTitle("", title)
        .fire(
            new Receiver<List<AnamnesisCheckProxy>>() {

              @Override
              public void onSuccess(List<AnamnesisCheckProxy> response) {
                initPreviousQuestion(response);
              }
            });
  }
  @SuppressWarnings("deprecation")
  @Override
  public void setQuestionTableData(AnamnesisCheckTitleProxy title) {
    if (mapTitlesToProviders.size() < 1) {
      Log.warn("No data providers!?");
    }

    ListDataProvider<AnamnesisCheckProxy> dataProvider = mapTitlesToProviders.get(title);

    if (dataProvider.getList() != null) {
      Log.debug("view.getSearchBoxShown() = " + view.getSearchBoxShown());
      requests
          .anamnesisCheckRequest()
          .findAnamnesisChecksBySearchWithAnamnesisCheckTitle(view.getSearchBoxShown(), title)
          .with("anamnesisCheckTitle")
          .fire(new AnamnesisCheckReceiver(dataProvider));
    }
  }
  @Override
  public void orderEdited(final AnamnesisCheckProxy proxy, String sortOrderStr) {
    try {
      requests
          .anamnesisCheckRequest()
          .changeSortOrder(Integer.parseInt(sortOrderStr))
          .using(proxy)
          .fire(
              new OSCEReceiver<Void>() {

                @Override
                public void onSuccess(Void response) {
                  // TODO Auto-generated method stub
                  view.filterTitle(proxy.getAnamnesisCheckTitle());
                  performSearch();
                }
              });
    } catch (Exception e) {
      Log.error(e.getMessage());
    }
  }
  private void initPreviousQuestion(List<AnamnesisCheckProxy> anamnesisCheckList) {
    AnamnesisCheckProxy deleteAnamnesisCheckProxy = null;
    for (AnamnesisCheckProxy anamnesisCheckProxy : anamnesisCheckList) {
      if (anamnesisCheck.getId() != null
          && String.valueOf(anamnesisCheckProxy.getId())
              .equals(String.valueOf(anamnesisCheck.getId()))) {
        deleteAnamnesisCheckProxy = anamnesisCheckProxy;
      }
    }
    if (deleteAnamnesisCheckProxy != null) {
      anamnesisCheckList.remove(deleteAnamnesisCheckProxy);
    }
    view.setPreviousQuestionListBox(anamnesisCheckList);

    if (anamnesisCheck.getSort_order() != null
        && anamnesisCheck.getSort_order() > 1
        && anamnesisCheck.getAnamnesisCheckTitle() != null) {
      requests
          .anamnesisCheckRequest()
          .findPreviousAnamnesisCheck(
              anamnesisCheck.getSort_order(), anamnesisCheck.getAnamnesisCheckTitle())
          .fire(
              new Receiver<AnamnesisCheckProxy>() {

                @Override
                public void onSuccess(AnamnesisCheckProxy response) {
                  Log.info("inside success" + response);
                  if (response != null && response.getSort_order() != null) {
                    // Issue # 122 : Replace pull down with autocomplete.
                    // view.setSeletedPreviousQuestion(String.valueOf(response.getSort_order()));
                    view.setSeletedPreviousQuestion(response);
                    // Issue # 122 : Replace pull down with autocomplete.
                    Log.info("inside success if " + response);
                  }
                }
              });
    }
  }
 protected void fireCountRequest(String q, AnamnesisCheckProxy title, Receiver<Long> callback) {
   requests.anamnesisCheckRequest().countAnamnesisChecksBySearchWithTitle(q, title).fire(callback);
 }
 protected Request<java.util.List<AnamnesisCheckProxy>> createRangeRequest(
     String q, AnamnesisCheckProxy title, Range range) {
   return requests
       .anamnesisCheckRequest()
       .findAnamnesisChecksBySearchWithTitle(q, title, range.getStart(), range.getLength());
 }
 @Override
 public void moveDown(final AnamnesisCheckTitleProxy title, AnamnesisCheckProxy proxy) {
   requests.anamnesisCheckRequest().moveDown().using(proxy).fire(new MoveProxyReceiver(title));
 }
  @SuppressWarnings("deprecation")
  private void sortOderByPrevious() {

    int previousSortOder = 0;
    if (view.getSelectedPreviousQuestion() != null
        && !view.getSelectedPreviousQuestion().equals("")
        && view.getSelectedPreviousQuestion().length() != 0) {

      // System.out.println("inside if--"+view.getSelectedPreviousQuestion());
      // System.out.println("inside if--"+Integer.valueOf(view.getSelectedPreviousQuestion()));
      // TODO: If remove comment then null pointer exceptin occurs from server side. Need to check
      // in detail.
      /*previousSortOder = Integer.valueOf(view
      .getSelectedPreviousQuestion());*/

    }
    // GWT.log("@@@@@@@@@@@@@@@@@@anamnesisCheckBefore =
    // "+anamnesisCheckBefore.getAnamnesisCheckTitle().getText());
    if (place.getOperation() == Operation.EDIT
        && anamnesisCheckBefore != null
        && anamnesisCheck != null
        && anamnesisCheckBefore.getAnamnesisCheckTitle() != null
        && anamnesisCheck.getAnamnesisCheckTitle() != null
        && anamnesisCheckBefore.getAnamnesisCheckTitle().getId()
            == anamnesisCheck.getAnamnesisCheckTitle().getId()) {
      GWT.log("################call oderByPreviousAnamnesisCheck ");
      requests
          .anamnesisCheckRequest()
          .oderByPreviousAnamnesisCheck(previousSortOder)
          .using(anamnesisCheck)
          .fire(
              new Receiver<Void>() {

                @Override
                public void onSuccess(Void response) {
                  GWT.log(">>>>>>>>>>>>>>>>>>> oderByPreviousAnamnesisCheck success !");
                  placeController.goTo(
                      new AnamnesisCheckDetailsPlace(anamnesisCheck.stableId(), Operation.NEW));
                }
              });
    } else {
      GWT.log("################call insertAnamnesisCheck ");
      // System.out.println("sort order--"+previousSortOder);
      // System.out.println("id--"+anamnesisCheck.getId());

      requests
          .anamnesisCheckRequest()
          .insertAnamnesisCheck(previousSortOder)
          .using(anamnesisCheck)
          .fire(
              new Receiver<Void>() {

                @Override
                public void onSuccess(Void response) {
                  GWT.log(">>>>>>>>>>>>>>>>>>> insertAnamnesisCheck success !");
                  if (place.getOperation() == Operation.EDIT
                      && anamnesisCheckBefore != null
                      && anamnesisCheckBefore.getAnamnesisCheckTitle() != null
                      && anamnesisCheckBefore.getSort_order() != null) {

                    GWT.log(">>>>>>>>>>>>>>>>>>> reSorting call !");
                    requests
                        .anamnesisCheckRequest()
                        .reSorting(
                            anamnesisCheckBefore.getAnamnesisCheckTitle(),
                            anamnesisCheckBefore.getSort_order() + 1)
                        .fire(
                            new Receiver<Void>() {

                              @Override
                              public void onSuccess(Void response) {
                                GWT.log(">>>>>>>>>>>>>>>>>>> reSorting success !");
                                placeController.goTo(
                                    new AnamnesisCheckDetailsPlace(
                                        anamnesisCheck.stableId(), Operation.NEW));
                              }
                            });

                  } else {
                    placeController.goTo(
                        new AnamnesisCheckDetailsPlace(anamnesisCheck.stableId(), Operation.NEW));
                  }
                }
              });
    }
  }