@Override protected void populateItem(ListItem item) { Property<T> property = (Property<T>) item.getModelObject(); // build a sortable link if the property is sortable, a label otherwise IModel titleModel = getPropertyTitle(property); if (sortable && property.getComparator() != null) { Fragment f = new Fragment("header", "sortableHeader", item); AjaxLink link = sortLink(dataProvider, item); link.add(new Label("label", titleModel)); f.add(link); item.add(f); } else { item.add(new Label("header", titleModel)); } }
/** * Returns a comparator given the sort property. * * @param sort */ protected Comparator<T> getComparator(SortParam<?> sort) { if (sort == null) { return null; } Property<T> property = getProperty(sort); if (property != null) { Comparator<T> comparator = property.getComparator(); if (comparator != null) { if (!sort.isAscending()) return new ReverseComparator<T>(comparator); else return comparator; } } LOGGER.log(Level.WARNING, "Could not find any comparator " + "for sort property " + sort); return null; }
@Override protected void populateItem(ListItem<Property<T>> item) { Property<T> property = (Property<T>) item.getModelObject(); // build a sortable link if the property is sortable, a label otherwise IModel<String> titleModel = getPropertyTitle(property); if (sortable && property.getComparator() != null) { Fragment f = new Fragment("header", "sortableHeader", GeoServerTablePanel.this); AjaxLink<Property<T>> link = sortLink(dataProvider, item); link.add(new Label("label", titleModel)); f.add(link); item.add(f); } else { item.add(new Label("header", titleModel)); } } };
/** * Returns a comparator given the sort property. * * @param sort * @return */ protected Comparator<T> getComparator(SortParam sort) { if (sort == null || sort.getProperty() == null) return null; for (Property<T> property : getProperties()) { if (sort.getProperty().equals(property.getName())) { Comparator<T> comparator = property.getComparator(); if (comparator != null) { if (!sort.isAscending()) return new ReverseComparator<T>(comparator); else return comparator; } } } LOGGER.log(Level.WARNING, "Could not find any comparator " + "for sort property " + sort.getProperty()); return null; }