Ignore:
Timestamp:
05/07/14 11:48:38 (10 years ago)
Author:
Twan Goosen
Message:

Improved layout of Collections facet by allowing for a partitioned facet values view via a partioned data provider (+tests)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/provider/FacetFieldValuesProvider.java

    r5125 r5140  
    4747 * @author twagoo
    4848 */
    49 public class FacetFieldValuesProvider extends SortableDataProvider<FacetField.Count, FieldValuesOrder> {
     49public class FacetFieldValuesProvider extends SortableDataProvider<FacetField.Count, FieldValuesOrder> implements ListProvider<FacetField.Count> {
    5050
    5151    private final static Logger logger = LoggerFactory.getLogger(FacetFieldValuesProvider.class);
     
    115115    @Override
    116116    public Iterator<? extends FacetField.Count> iterator(long first, long count) {
    117         final Iterable<Count> filtered = getFilteredValues();
     117        // return iterator starting at specified offset
     118        return getList().listIterator((int) first);
     119    }
     120
     121    @Override
     122    public List<? extends FacetField.Count> getList() {
     123        final Iterable<Count> filteredValues = getFilteredValues();
    118124        // sort what remains
    119         final ImmutableList sorted = getOrdering().immutableSortedCopy(filtered);
     125        final ImmutableList sorted = getOrdering().immutableSortedCopy(filteredValues);
    120126        if (sorted.size() > maxNumberOfItems) {
    121             return sorted.subList(0, maxNumberOfItems).listIterator((int) first);
     127            return sorted.subList(0, maxNumberOfItems);
    122128        } else {
    123129            // return iterator starting at specified offset
    124             return sorted.listIterator((int) first);
     130            return sorted;
    125131        }
    126132    }
Note: See TracChangeset for help on using the changeset viewer.