final Map data = (Map) request.getData();
if (data == null || data.size() != 14)
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA, new Object[] {Objects.toString(data), SelectSheetCommand.class });
Spreadsheet spreadsheet = ((Spreadsheet) comp);
String sheetId = (String) data.get("sheetId");
boolean cacheInClient = (Boolean) data.get("cache");
int row = (Integer)data.get("row");
int col = (Integer)data.get("col");
//selection
int top = (Integer)data.get("top");
int right = (Integer)data.get("right");
int bottom = (Integer)data.get("bottom");
int left = (Integer)data.get("left");
//highlight
int highlightLeft = (Integer)data.get("hleft");
int highlightTop = (Integer)data.get("htop");
int highlightRight = (Integer)data.get("hright");
int highlightBottom = (Integer)data.get("hbottom");
//freeze
int rowfreeze = AuRequests.getInt(data, "frow", -1);
int colfreeze = AuRequests.getInt(data, "fcol", -1);
Book book = spreadsheet.getBook();
int len = book.getNumberOfSheets();
for (int i = 0; i < len; i++) {
Worksheet sheet = book.getWorksheetAt(i);
if (sheetId.equals(((SheetCtrl)sheet).getUuid())) {
spreadsheet.setSelectedSheetDirectly(sheet.getSheetName(), cacheInClient, row, col,
left, top, right, bottom,
highlightLeft, highlightTop, highlightRight, highlightBottom,
rowfreeze, colfreeze);
break;
}