private void showSelectRefreshIntervalPopup(
      final int left, final int top, final Button refreshIntervalSelector) {
    VerticalPanel popupContent = new VerticalPanel();

    // int configuredSeconds = presenter.getAutoRefreshSeconds();
    int configuredSeconds = view.getRefreshValue();
    if (configuredSeconds > 0) {
      updateRefreshInterval(true, configuredSeconds);
    } else {
      updateRefreshInterval(false, 0);
    }

    RadioButton oneMinuteRadioButton =
        createTimeSelectorRadioButton(
            60, "1 Minute", configuredSeconds, refreshIntervalSelector, popupContent);
    RadioButton fiveMinuteRadioButton =
        createTimeSelectorRadioButton(
            300, "5 Minutes", configuredSeconds, refreshIntervalSelector, popupContent);
    RadioButton tenMinuteRadioButton =
        createTimeSelectorRadioButton(
            600, "10 Minutes", configuredSeconds, refreshIntervalSelector, popupContent);

    popupContent.add(oneMinuteRadioButton);
    popupContent.add(fiveMinuteRadioButton);
    popupContent.add(tenMinuteRadioButton);

    Button resetButton = new Button("Disable Autorefresh");
    resetButton.setSize(ButtonSize.MINI);
    resetButton.addClickHandler(
        new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            updateRefreshInterval(false, 0);
            view.saveRefreshValue(0);
            refreshIntervalSelector.setActive(false);
            popup.hide();
          }
        });

    popupContent.add(resetButton);

    popup.setWidget(popupContent);
    popup.show();
    int finalLeft = left - popup.getOffsetWidth();
    popup.setPopupPosition(finalLeft, top);
  }
  @Override
  public void getData(final Range visibleRange) {
    try {
      FilterSettings currentTableSettings = dataSetQueryHelper.getCurrentTableSettings();
      if (currentTableSettings != null) {
        currentTableSettings.setTablePageSize(view.getListGrid().getPageSize());
        ColumnSortList columnSortList = view.getListGrid().getColumnSortList();
        GWT.log(
            "-----taskList getData "
                + columnSortList.size()
                + "currentTableSettings table name "
                + currentTableSettings.getTableName());
        if (columnSortList != null && columnSortList.size() > 0) {
          dataSetQueryHelper.setLastOrderedColumn(
              (columnSortList.size() > 0)
                  ? columnSortList.get(0).getColumn().getDataStoreName()
                  : "");
          dataSetQueryHelper.setLastSortOrder(
              (columnSortList.size() > 0) && columnSortList.get(0).isAscending()
                  ? SortOrder.ASCENDING
                  : SortOrder.DESCENDING);
        } else {
          dataSetQueryHelper.setLastOrderedColumn(DataSetTasksListGridViewImpl.COLUMN_CREATEDON);
          dataSetQueryHelper.setLastSortOrder(SortOrder.ASCENDING);
        }
        dataSetQueryHelper.setDataSetHandler(currentTableSettings);
        dataSetQueryHelper.lookupDataSet(
            visibleRange.getStart(),
            new DataSetReadyCallback() {
              @Override
              public void callback(DataSet dataSet) {
                if (dataSet != null) {
                  List<TaskSummary> myTasksFromDataSet = new ArrayList<TaskSummary>();

                  for (int i = 0; i < dataSet.getRowCount(); i++) {
                    myTasksFromDataSet.add(
                        new TaskSummary(
                            dataSetQueryHelper.getColumnLongValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_TASKID, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_NAME, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_DESCRIPTION, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_STATUS, i),
                            dataSetQueryHelper.getColumnIntValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_PRIORITY, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_ACTUALOWNER, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_CREATEDBY, i),
                            dataSetQueryHelper.getColumnDateValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_CREATEDON, i),
                            dataSetQueryHelper.getColumnDateValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_ACTIVATIONTIME, i),
                            dataSetQueryHelper.getColumnDateValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_DUEDATE, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_PROCESSID, i),
                            dataSetQueryHelper.getColumnLongValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_PROCESSSESSIONID, i),
                            dataSetQueryHelper.getColumnLongValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_PROCESSINSTANCEID, i),
                            dataSetQueryHelper.getColumnStringValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_DEPLOYMENTID, i),
                            dataSetQueryHelper.getColumnLongValue(
                                dataSet, DataSetTasksListGridViewImpl.COLUMN_PARENTID, i)));
                  }
                  PageResponse<TaskSummary> taskSummaryPageResponse =
                      new PageResponse<TaskSummary>();
                  taskSummaryPageResponse.setPageRowList(myTasksFromDataSet);
                  taskSummaryPageResponse.setStartRowIndex(visibleRange.getStart());
                  taskSummaryPageResponse.setTotalRowSize(dataSet.getRowCountNonTrimmed());
                  taskSummaryPageResponse.setTotalRowSizeExact(true);
                  if (visibleRange.getStart() + dataSet.getRowCount()
                      == dataSet.getRowCountNonTrimmed()) {
                    taskSummaryPageResponse.setLastPage(true);
                  } else {
                    taskSummaryPageResponse.setLastPage(false);
                  }
                  DataSetTasksListGridPresenter.this.updateDataOnCallback(taskSummaryPageResponse);
                }
                view.hideBusyIndicator();
              }

              @Override
              public void notFound() {
                view.hideBusyIndicator();
                errorPopup.showMessage("Not found DataSet with UUID [  jbpmHumanTasks ] ");
                GWT.log("DataSet with UUID [  jbpmHumanTasks ] not found.");
              }

              @Override
              public boolean onError(final ClientRuntimeError error) {
                view.hideBusyIndicator();
                error.getThrowable().printStackTrace();
                errorPopup.showMessage(
                    "DataSet with UUID [  jbpmHumanTasks ] error: " + error.getThrowable());
                GWT.log("DataSet with UUID [  jbpmHumanTasks ] error: ", error.getThrowable());
                return false;
              }
            });
      } else {
        view.hideBusyIndicator();
      }
    } catch (Exception e) {
      GWT.log("Error looking up dataset with UUID [ jbpmHumanTasks ]");
    }
  }