protected String resolveOrderBy(SortConstraint orderBy) { String filterOrder = null; if (orderBy != null) { PropertyModel property = orderBy.getPropertyModel(); filterOrder = property.getPropertyName(); ColumnSort sort = orderBy.getColumnSort(); if (sort.equals(ColumnSort.DESCENDING)) { filterOrder += " desc"; } if (log.isDebugEnabled()) { log.debug("Order : " + filterOrder); } } return filterOrder; }
/** * This method will set all the Sorting stuffs, thanks to sSortDir and iSortCol DataTable parameters, coming from the request */ public void prepareResponse(GridDataSource source){ String sortingCols = request.getParameter(DataTableConstants.SORTING_COLS); if(InternalUtils.isNonBlank(sortingCols)){ int nbSortingCols = Integer.parseInt(sortingCols); String sord = request.getParameter(DataTableConstants.SORT_DIR+"0"); String sidx = request.getParameter(DataTableConstants.SORT_COL+"0"); if(nbSortingCols>0) { List<String> names = model.getPropertyNames(); int indexProperty = Integer.parseInt(sidx); String propName = names.get(indexProperty); ColumnSort colSort =sortModel.getColumnSort(propName); if(!(InternalUtils.isNonBlank(colSort.name()) && colSort.name().startsWith(sord.toUpperCase()))) sortModel.updateSort(propName); } } }