Ignore:
Timestamp:
02/25/14 14:25:15 (10 years ago)
Author:
twagoo
Message:
  • List of facets in config now a list, not string array
  • Renamed SolrQueryFactory? to SolrFacetQueryFactory? (there will be a separate one for documents)
  • It now gets the list of facets to query for, not the config that holds that list
File:
1 moved

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/SolrFacetQueryFactoryImpl.java

    r4543 r4565  
    1818
    1919import eu.clarin.cmdi.vlo.FacetConstants;
    20 import eu.clarin.cmdi.vlo.config.VloConfig;
    21 import eu.clarin.cmdi.vlo.service.SolrQueryFactory;
     20import eu.clarin.cmdi.vlo.service.SolrFacetQueryFactory;
    2221import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
    2322import java.util.ArrayList;
     
    3433 * @author twagoo
    3534 */
    36 public class SolrQueryFactoryImpl implements SolrQueryFactory {
    37 
     35public class SolrFacetQueryFactoryImpl implements SolrFacetQueryFactory {
     36   
    3837    private static final String SOLR_SEARCH_ALL = "*:*";
    39     private final SolrQuery countQuery;
    40     private final VloConfig config;
    41 
    42     public SolrQueryFactoryImpl(VloConfig config) {
    43         this.config = config;
     38    private final SolrQuery facetCountQuery;
     39    private final String[] facets;
     40   
     41    /**
     42     *
     43     * @param facets names of facets to include in query
     44     */
     45    public SolrFacetQueryFactoryImpl(List<String> facets) {
     46        this.facets = facets.toArray(new String[facets.size()]);
    4447
    4548        // create the query used to count facets (will never change)
    46         countQuery = getDefaultFacetQuery();
    47         countQuery.setRows(0);
     49        facetCountQuery = getDefaultFacetQuery();
     50        facetCountQuery.setRows(0);
    4851    }
    49 
     52   
    5053    @Override
    5154    public SolrQuery createFacetQuery(QueryFacetsSelection queryFacetsSelections) {
     
    5457        return query;
    5558    }
    56 
     59   
    5760    @Override
    5861    public SolrQuery createDocumentQuery(QueryFacetsSelection selection, int first, int count) {
     
    6366        return query;
    6467    }
    65 
     68   
    6669    protected void addQueryFacetParameters(final SolrQuery query, QueryFacetsSelection queryFacetsSelections) {
    6770        final String queryString = queryFacetsSelections.getQuery();
    68 
     71       
    6972        if (queryString == null) {
    7073            query.setQuery(SOLR_SEARCH_ALL);
     
    7275            query.setQuery(ClientUtils.escapeQueryChars(queryString));
    7376        }
    74 
    75         Map<String, Collection<String>> selections = queryFacetsSelections.getSelection();
    76 
     77       
     78        final Map<String, Collection<String>> selections = queryFacetsSelections.getSelection();
    7779        if (selections != null) {
    7880            final List<String> encodedQueries = new ArrayList(selections.size()); // assuming every facet has one selection, most common scenario
     
    8991        }
    9092    }
    91 
     93   
    9294    private SolrQuery getDefaultFacetQuery() {
    9395        SolrQuery query = new SolrQuery();
     
    9597        query.setFacet(true);
    9698        query.setFacetMinCount(1);
    97         query.addFacetField(config.getFacetFields());
     99        query.addFacetField(facets);
    98100        return query;
    99101    }
    100 
     102   
    101103    private SolrQuery getDefaultDocumentQuery() {
    102104        SolrQuery query = new SolrQuery();
     
    105107        return query;
    106108    }
    107 
     109   
    108110    @Override
    109111    public synchronized SolrQuery createCountFacetsQuery() {
    110         return countQuery;
     112        return facetCountQuery;
    111113    }
    112 
     114   
    113115}
Note: See TracChangeset for help on using the changeset viewer.