public JsonArray formatSortOperations(List<DataSetSort> sortOps) throws JsonException { if (sortOps.isEmpty()) { return null; } // There should be only one DataSetFilter return formatColumnSorts(sortOps.get(0).getColumnSortList()); }
/** * Clone this sort operation. */ public DataSetSort cloneInstance() { DataSetSort clone = new DataSetSort(); for (ColumnSort columnSort : columnSortList) { clone.addSortColumn(columnSort.cloneInstance()); } return clone; }
public DataSetSortIndex indexSort(DataSetSort sortOp, List<Integer> sortedRows, long buildTime) { if (sortIndexes == null) sortIndexes = new ArrayList<DataSetSortIndex>(); DataSetSortIndex index = new DataSetSortIndex(sortOp, sortedRows); index.setParent(this); index.setBuildTime(buildTime); sortIndexes.add(index); // Also create an index for the inverted sort. DataSetSort invertedSortOp = sortOp.cloneInstance().invertOrder(); List<Integer> invertedRows = new ArrayList<Integer>(sortedRows); Collections.reverse(invertedRows); DataSetSortIndex invertedIndex = new DataSetSortIndex(invertedSortOp, invertedRows); invertedIndex.setParent(this); sortIndexes.add(invertedIndex); return index; }
public List<DataSetSort> parseSortOperations(JsonArray columnSortsJsonArray) { if (columnSortsJsonArray == null) { return null; } List<DataSetSort> dataSetSorts = new ArrayList<DataSetSort>(); // There's only one DataSetSort, the json array is an array of column sorts DataSetSort dataSetSort = new DataSetSort(); dataSetSorts.add(dataSetSort); List<ColumnSort> columnSorts = parseColumnSorts(columnSortsJsonArray); if (columnSorts != null) { dataSetSort.getColumnSortList().addAll(columnSorts); } return dataSetSorts; }
public DataSetSortIndex getSortIndex(DataSetSort sortOp) { if (sortIndexes == null) return null; for (DataSetSortIndex sortIndex : sortIndexes) { if (sortOp.equals(sortIndex.getSortOp())) { sortIndex.reuseHit(); return sortIndex; } } return null; } }
public List<DataSetSort> parseSortOperations(JsonArray columnSortsJsonArray) { if (columnSortsJsonArray == null) { return null; } List<DataSetSort> dataSetSorts = new ArrayList<DataSetSort>(); // There's only one DataSetSort, the json array is an array of column sorts DataSetSort dataSetSort = new DataSetSort(); dataSetSorts.add(dataSetSort); List<ColumnSort> columnSorts = parseColumnSorts(columnSortsJsonArray); if (columnSorts != null) { dataSetSort.getColumnSortList().addAll(columnSorts); } return dataSetSorts; }
/** * Clone this sort operation. */ public DataSetSort cloneInstance() { DataSetSort clone = new DataSetSort(); for (ColumnSort columnSort : columnSortList) { clone.addSortColumn(columnSort.cloneInstance()); } return clone; }
public JsonArray formatSortOperations(List<DataSetSort> sortOps) throws JsonException { if (sortOps.isEmpty()) { return null; } // There should be only one DataSetFilter return formatColumnSorts(sortOps.get(0).getColumnSortList()); }
public T sort(String columnId, SortOrder order) { DataSetOp op = getCurrentOp(); if (op == null || !(op instanceof DataSetSort)) { dataSetLookup.addOperation(new DataSetSort()); } DataSetSort sOp = (DataSetSort) getCurrentOp(); sOp.addSortColumn(new ColumnSort(columnId, order)); return (T) this; }
protected void checkSortOp(DataSet dataSet, DataSetSort op) { for (ColumnSort columnSort : op.getColumnSortList()) { String id = columnSort.getColumnId(); if (dataSet.getColumnById(id) == null) { throw new IllegalArgumentException("Sort column not found in the data set: " + id); } } }
public T sort(String columnId, SortOrder order) { DataSetOp op = getCurrentOp(); if (op == null || !(op instanceof DataSetSort)) { dataSetLookup.addOperation(new DataSetSort()); } DataSetSort sOp = (DataSetSort) getCurrentOp(); sOp.addSortColumn(new ColumnSort(columnId, order)); return (T) this; }
protected void _appendOrderBy(DataSetSort sortOp) { List<SortColumn> _columns = new ArrayList<>(); List<ColumnSort> sortList = sortOp.getColumnSortList(); for (ColumnSort columnSort : sortList) { String dbColumnId = _columnFromMetadata(metadata, columnSort.getColumnId()); if (SortOrder.DESCENDING.equals(columnSort.getOrder())) { _columns.add(SQLFactory.column(dbColumnId).desc()); } else { _columns.add(SQLFactory.column(dbColumnId).asc()); } } _query.orderBy(_columns); }
@Override public void sort(String columnId, SortOrder sortOrder) { unsort(); String sourceId = _getSourceColumnId(columnId); DataSetSort sortOp = new DataSetSort(); sortOp.addSortColumn(new ColumnSort(sourceId, sortOrder)); lookupCurrent.addOperation(sortOp); }
protected void _appendOrderBy(DataSetSort sortOp) { List<SortColumn> _columns = new ArrayList<>(); List<ColumnSort> sortList = sortOp.getColumnSortList(); for (ColumnSort columnSort : sortList) { String dbColumnId = _columnFromMetadata(metadata, columnSort.getColumnId()); if (SortOrder.DESCENDING.equals(columnSort.getOrder())) { _columns.add(SQLFactory.column(dbColumnId).desc()); } else { _columns.add(SQLFactory.column(dbColumnId).asc()); } } _query.orderBy(_columns); }
@Override public void sort(String columnId, SortOrder sortOrder) { unsort(); String sourceId = _getSourceColumnId(columnId); DataSetSort sortOp = new DataSetSort(); sortOp.addSortColumn(new ColumnSort(sourceId, sortOrder)); lookupCurrent.addOperation(sortOp); }
/** * Invert the sort order if this sort operation. */ public DataSetSort invertOrder() { for (ColumnSort columnSort : getColumnSortList()) { SortOrder order = columnSort.getOrder(); if (SortOrder.ASCENDING.equals(order)) columnSort.setOrder(SortOrder.DESCENDING); else if (SortOrder.DESCENDING.equals(order)) columnSort.setOrder(SortOrder.ASCENDING); } return this; }
DataSetSort sortOp = new DataSetSort(); sortOp.addSortColumn(new ColumnSort(columnGroup.getSourceId(), SortOrder.ASCENDING)); DataSetHandler sortResults = handler.sort(sortOp); List<Integer> sortedRows = sortResults.getRows();
/** * Invert the sort order if this sort operation. */ public DataSetSort invertOrder() { for (ColumnSort columnSort : getColumnSortList()) { SortOrder order = columnSort.getOrder(); if (SortOrder.ASCENDING.equals(order)) columnSort.setOrder(SortOrder.DESCENDING); else if (SortOrder.DESCENDING.equals(order)) columnSort.setOrder(SortOrder.ASCENDING); } return this; }
DataSetSort sortOp = new DataSetSort(); sortOp.addSortColumn(new ColumnSort(columnGroup.getSourceId(), SortOrder.ASCENDING)); DataSetHandler sortResults = handler.sort(sortOp); List<Integer> sortedRows = sortResults.getRows();
protected void _appendOrderGroupBy(DataSetGroup groupOp, DataSetSort sortOp, boolean post) { List<SortColumn> _columns = new ArrayList<>(); List<ColumnSort> sortList = sortOp.getColumnSortList(); ColumnGroup cg = groupOp.getColumnGroup(); boolean sortPost = post;