public List<IOpenLTable> getAdvancedSearchResults(Object searchResult) { List<IOpenLTable> searchResults = new ArrayList<IOpenLTable>(); if (searchResult instanceof OpenLAdvancedSearchResult) { TableAndRows[] tr = ((OpenLAdvancedSearchResult) searchResult).getFoundTableAndRows(); OpenLAdvancedSearchResultViewer searchViewer = new OpenLAdvancedSearchResultViewer(); for (int i = 0; i < tr.length; i++) { ISearchTableRow[] rows = tr[i].getRows(); if (rows.length > 0) { TableSyntaxNode tsn = tr[i].getTsn(); String tableUri = tsn.getUri(); CompositeGrid cg = searchViewer.makeGrid(rows); IGridTable gridTable = cg != null ? cg.asGridTable() : null; OpenLTable newTable = new OpenLTable(); newTable.setGridTable(gridTable); newTable.setUri(tableUri); newTable.setProperties(tsn.getTableProperties()); searchResults.add(newTable); } } } return searchResults; }