package com.griddynamics.jagger.webclient.client.callback;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.view.client.MultiSelectionModel;
import com.griddynamics.jagger.dbapi.dto.TaskDataDto;
import com.griddynamics.jagger.webclient.client.components.ExceptionPanel;
import java.util.List;
import java.util.Set;
/**
* @author "Artem Kirillov" (akirillov@griddynamics.com)
* @since 6/22/12
*/
public class TaskDataDtoListQueryAsyncCallback implements AsyncCallback<List<TaskDataDto>> {
private Set<String> sessionIds;
private final CellTable<TaskDataDto> testGrid;
public TaskDataDtoListQueryAsyncCallback(Set<String> sessionIds, CellTable<TaskDataDto> testGrid) {
this.sessionIds = sessionIds;
this.testGrid = testGrid;
}
public void setSessionIds(Set<String> sessionIds) {
this.sessionIds = sessionIds;
}
@Override
public void onFailure(Throwable caught) {
new ExceptionPanel("Error is occurred during server request processing (Task data fetching)");
}
@Override
public void onSuccess(List<TaskDataDto> result) {
if (result.isEmpty()) {
return;
}
MultiSelectionModel model = (MultiSelectionModel)testGrid.getSelectionModel();
model.clear();
testGrid.redraw();
testGrid.setRowData(result);
}
}