@Override protected void doSort() { if (hasGroups()) { groupDelegate.doGroupSort(sortInfos); } else { super.doSort(); } }
@Override public void sort(SortInfo[] sortInfos) { if (sortInfos.length != 1) { throw new UnsupportedOperationException("Supporting sort by one field only"); } //noinspection unchecked this.sortInfos = sortInfos; if (data.size() > 0) { if (!sortOnDb || containsAllDataFromDb()) { doSort(); fireCollectionChanged(Operation.REFRESH, Collections.emptyList()); } else { refresh(); } } }
@SuppressWarnings("unused") protected void afterRefresh(Map<String, Object> parameters, Collection prevIds) { State prevState = state; if (!prevState.equals(State.VALID)) { state = State.VALID; fireStateChanged(prevState); } if (this.item != null && !prevIds.contains(this.item.getId())) { setItem(null); } else if (this.item != null) { setItem(getItem(this.item.getId())); } else { setItem(null); } if (sortInfos != null && sortInfos.length > 0) doSort(); suspended = false; refreshOnResumeRequired = false; fireCollectionChanged(Operation.REFRESH, Collections.emptyList()); checkDataLoadError(); }