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 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 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 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; }
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); } } }
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); }
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); }
/** * 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; }
/** * 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; }
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;
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;
SortOrder sortOrder = SortOrder.UNSPECIFIED; StringBuilder orderBy = new StringBuilder(); for (ColumnSort cSort : sort.getColumnSortList()) { orderBy.append(cSort.getColumnId()).append(","); sortOrder = cSort.getOrder();
SortOrder sortOrder = SortOrder.UNSPECIFIED; StringBuilder orderBy = new StringBuilder(); for (ColumnSort cSort : sort.getColumnSortList()) { orderBy.append(cSort.getColumnId()).append(","); sortOrder = cSort.getOrder();
protected void sort(DataSetSort op, InternalContext context) { checkSortOp(context.dataSet, op); // No index => Sort required if (context.index == null) { List<Integer> orderedRows = sortAlgorithm.sort(context.getDataSet(), context.getRows(), op.getColumnSortList()); context.index(op, new DataSetSortIndex(op, orderedRows)); return; } // Index match => Reuse it DataSetSortIndex sortIndex = context.index.getSortIndex(op); if (sortIndex != null) { context.index(op, sortIndex); return; } // No index match => Sort required chronometer.start(); List<Integer> orderedRows = sortAlgorithm.sort(context.getDataSet(), context.getRows(), op.getColumnSortList()); chronometer.stop(); // Index before return. context.index(op, context.index.indexSort(op, orderedRows, chronometer.elapsedTime())); }