@Override public int compare(Object obj1, Object obj2) { for (BeanPropertyComparator comparator : comparators) { int result = comparator.compare(obj1, obj2); if (result == 0) { continue; } else { return result; } } return 0; } }
public void singleSort(FacesContext context, DataTable table) { Object value = table.getValue(); if (value == null) { return; } ValueExpression sortVE = table.getValueExpression(DataTable.PropertyKeys.sortBy.toString()); SortOrder sortOrder = SortOrder.valueOf(table.getSortOrder().toUpperCase(Locale.ENGLISH)); MethodExpression sortFunction = table.getSortFunction(); UIColumn sortColumn = table.getSortColumn(); if (sortColumn != null && sortColumn.isDynamic()) { ((DynamicColumn) sortColumn).applyStatelessModel(); } List list = resolveList(value); Collections.sort(list, new BeanPropertyComparator( sortVE, table.getVar(), sortOrder, sortFunction, table.isCaseSensitiveSort(), table.resolveDataLocale(), table.getNullSortOrder())); context.getApplication().publishEvent(context, PostSortEvent.class, table); }
public void multiSort(FacesContext context, DataTable table) { Object value = table.getValue(); if (value == null) { return; } List<SortMeta> sortMeta = table.getMultiSortMeta(); List list = resolveList(value); boolean caseSensitiveSort = table.isCaseSensitiveSort(); Locale locale = table.resolveDataLocale(); int nullSortOrder = table.getNullSortOrder(); ChainedBeanPropertyComparator chainedComparator = new ChainedBeanPropertyComparator(); for (SortMeta meta : sortMeta) { BeanPropertyComparator comparator; UIColumn sortColumn = meta.getColumn(); ValueExpression sortByVE = sortColumn.getValueExpression(Column.PropertyKeys.sortBy.toString()); if (sortColumn.isDynamic()) { ((DynamicColumn) sortColumn).applyStatelessModel(); comparator = new DynamicChainedPropertyComparator( (DynamicColumn) sortColumn, sortByVE, table.getVar(), meta.getSortOrder(), sortColumn.getSortFunction(), caseSensitiveSort, locale, nullSortOrder); } else { comparator = new BeanPropertyComparator(sortByVE, table.getVar(), meta.getSortOrder(), sortColumn.getSortFunction(), caseSensitiveSort, locale, nullSortOrder); } chainedComparator.addComparator(comparator); } Collections.sort(list, chainedComparator); context.getApplication().publishEvent(context, PostSortEvent.class, table); }
Collections.sort(filteredList, new BeanPropertyComparator(veSortBy, var, convertSortOrder(), null, isCaseSensitiveSort(), Locale.ENGLISH, getNullSortOrder()));
@SuppressWarnings("unchecked") @Override public int compare(Object obj1, Object obj2) { column.applyStatelessModel(); return super.compare(obj1, obj2); } }
public void singleSort(FacesContext context, DataTable table) { Object value = table.getValue(); if (value == null) { return; } ValueExpression sortVE = table.getValueExpression(DataTable.PropertyKeys.sortBy.toString()); SortOrder sortOrder = SortOrder.valueOf(table.getSortOrder().toUpperCase(Locale.ENGLISH)); MethodExpression sortFunction = table.getSortFunction(); List list = null; UIColumn sortColumn = table.getSortColumn(); if (sortColumn != null && sortColumn.isDynamic()) { ((DynamicColumn) sortColumn).applyStatelessModel(); } if (value instanceof List) { list = (List) value; } else if (value instanceof ListDataModel) { list = (List) ((ListDataModel) value).getWrappedData(); } else { throw new FacesException("Data type should be java.util.List or javax.faces.model.ListDataModel instance to be sortable."); } Collections.sort(list, new BeanPropertyComparator( sortVE, table.getVar(), sortOrder, sortFunction, table.isCaseSensitiveSort(), table.resolveDataLocale(), table.getNullSortOrder())); context.getApplication().publishEvent(context, PostSortEvent.class, table); }
public int compare(Object obj1, Object obj2) { for (BeanPropertyComparator comparator : comparators) { int result = comparator.compare(obj1, obj2); if (result == 0) { continue; } else { return result; } } return 0; } }
comparator = new BeanPropertyComparator(sortByVE, table.getVar(), meta.getSortOrder(), sortColumn.getSortFunction(), caseSensitiveSort, locale, nullSortOrder);
@SuppressWarnings("unchecked") @Override public int compare(Object obj1, Object obj2) { column.applyStatelessModel(); return super.compare(obj1, obj2); } }