source: vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/SolrFacetFieldsService.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: 1.7 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 eu.clarin.cmdi.vlo.service.SearchResultsDao;
22import eu.clarin.cmdi.vlo.service.SolrQueryFactory;
23import java.util.List;
24import org.apache.solr.client.solrj.response.FacetField;
25
26/**
27 *
28 * @author twagoo
29 */
30public class SolrFacetFieldsService implements FacetFieldsService {
31
32    private final SearchResultsDao searchResultsDao;
33    private final SolrQueryFactory queryFatory;
34
35    public SolrFacetFieldsService(SearchResultsDao searchResultsDao, SolrQueryFactory queryFatory) {
36        this.searchResultsDao = searchResultsDao;
37        this.queryFatory = queryFatory;
38    }
39
40    @Override
41    public List<FacetField> getFacetFields(QueryFacetsSelection selection) {
42        return searchResultsDao.getFacets(queryFatory.createFacetQuery(selection));
43    }
44
45    @Override
46    public long getFacetFieldCount() {
47        return (long) searchResultsDao.getFacets(queryFatory.createCountFacetsQuery()).size();
48    }
49
50}
Note: See TracBrowser for help on using the repository browser.