source: vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/FacetFieldsDataProvider.java @ 4519

Last change on this file since 4519 was 4519, checked in by twagoo, 10 years ago

Simplified model by merging FacetSelection? into QueryFacetsSelection?

File size: 2.0 KB
Line 
1/*
2 * Copyright (C) 2014 CLARIN
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17package eu.clarin.cmdi.vlo.service.impl;
18
19import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
20import eu.clarin.cmdi.vlo.service.FacetFieldsService;
21import java.util.Iterator;
22import java.util.List;
23import org.apache.solr.client.solrj.response.FacetField;
24import org.apache.wicket.markup.repeater.data.IDataProvider;
25import org.apache.wicket.model.IModel;
26import org.apache.wicket.model.Model;
27
28/**
29 *
30 * @author twagoo
31 */
32public class FacetFieldsDataProvider implements IDataProvider<FacetField> {
33
34    private final FacetFieldsService facetFieldService;
35    private final IModel<QueryFacetsSelection> selectionModel;
36
37    public FacetFieldsDataProvider(FacetFieldsService facetFieldService, IModel<QueryFacetsSelection> selectionModel) {
38        this.facetFieldService = facetFieldService;
39        this.selectionModel = selectionModel;
40    }
41
42    @Override
43    public Iterator<? extends FacetField> iterator(long first, long count) {
44        List<FacetField> facets = facetFieldService.getFacetFields(selectionModel.getObject());
45        return facets.listIterator((int) first);
46    }
47
48    @Override
49    public long size() {
50        return facetFieldService.getFacetFieldCount();
51    }
52
53    @Override
54    public IModel<FacetField> model(FacetField object) {
55        return Model.of(object);
56    }
57
58    @Override
59    public void detach() {
60    }
61
62}
Note: See TracBrowser for help on using the repository browser.