Changeset 4852


Ignore:
Timestamp:
03/31/14 09:59:29 (11 years ago)
Author:
Twan Goosen
Message:

document query factory gets fields through constructor
created tests for this class

Location:
vlo/branches/vlo-3.0/vlo-web-app/src
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/config/VloSpringConfig.java

    r4844 r4852  
    1717package eu.clarin.cmdi.vlo.config;
    1818
     19import com.google.common.collect.ImmutableList;
    1920import eu.clarin.cmdi.vlo.service.impl.ExclusiveFieldFilter;
    2021import eu.clarin.cmdi.vlo.service.impl.InclusiveFieldFilter;
    2122import com.google.common.collect.Sets;
     23import eu.clarin.cmdi.vlo.FacetConstants;
    2224import eu.clarin.cmdi.vlo.VloWicketApplication;
    2325import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
     
    4345import eu.clarin.cmdi.vlo.service.solr.impl.SolrFacetQueryFactoryImpl;
    4446import java.io.IOException;
     47import java.util.Arrays;
     48import java.util.Collection;
    4549import java.util.Properties;
    4650import javax.xml.transform.OutputKeys;
     
    111115    @Bean
    112116    public SolrDocumentQueryFactoryImpl documentQueryFactory() {
    113         return new SolrDocumentQueryFactoryImpl();
     117        return new SolrDocumentQueryFactoryImpl(DOCUMENT_FIELDS);
    114118    }
    115119
     
    162166                vloConfig().getTechnicalFields());
    163167    }
     168
     169    /**
     170     * Fields to request for documents. TODO: Make configurable?
     171     */
     172    public static final Collection<String> DOCUMENT_FIELDS = ImmutableList.of(
     173            FacetConstants.FIELD_NAME,
     174            FacetConstants.FIELD_DESCRIPTION,
     175            FacetConstants.FIELD_COLLECTION,
     176            FacetConstants.FIELD_LANGUAGE,
     177            FacetConstants.FIELD_MODALITY,
     178            FacetConstants.FIELD_CONTINENT,
     179            FacetConstants.FIELD_COUNTRY,
     180            FacetConstants.FIELD_GENRE,
     181            FacetConstants.FIELD_SUBJECT,
     182            FacetConstants.FIELD_ORGANISATION,
     183            FacetConstants.FIELD_KEYWORDS,
     184            FacetConstants.FIELD_NATIONAL_PROJECT,
     185            FacetConstants.FIELD_RESOURCE_CLASS,
     186            FacetConstants.FIELD_RESOURCE,
     187            FacetConstants.FIELD_ID,
     188            FacetConstants.FIELD_DATA_PROVIDER,
     189            FacetConstants.FIELD_FILENAME,
     190            FacetConstants.FIELD_FORMAT,
     191            FacetConstants.FIELD_LANDINGPAGE,
     192            FacetConstants.FIELD_SEARCHPAGE,
     193            FacetConstants.FIELD_SEARCH_SERVICE,
     194            FacetConstants.FIELD_LAST_SEEN,
     195            FacetConstants.FIELD_CLARIN_PROFILE
     196    );
    164197}
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/solr/impl/SolrDocumentQueryFactoryImpl.java

    r4691 r4852  
    2020import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
    2121import eu.clarin.cmdi.vlo.service.solr.SolrDocumentQueryFactory;
     22import java.util.Collection;
    2223import org.apache.solr.client.solrj.SolrQuery;
    2324
     
    2829public class SolrDocumentQueryFactoryImpl extends AbstractSolrQueryFactory implements SolrDocumentQueryFactory {
    2930
    30     public static final String[] DOCUMENT_FIELDS = {
    31         FacetConstants.FIELD_NAME,
    32         FacetConstants.FIELD_DESCRIPTION,
    33         FacetConstants.FIELD_COLLECTION,
    34         FacetConstants.FIELD_LANGUAGE,
    35         FacetConstants.FIELD_MODALITY,
    36         FacetConstants.FIELD_CONTINENT,
    37         FacetConstants.FIELD_COUNTRY,
    38         FacetConstants.FIELD_GENRE,
    39         FacetConstants.FIELD_SUBJECT,
    40         FacetConstants.FIELD_ORGANISATION,
    41         FacetConstants.FIELD_KEYWORDS,
    42         FacetConstants.FIELD_NATIONAL_PROJECT,
    43         FacetConstants.FIELD_RESOURCE_CLASS,
    44         FacetConstants.FIELD_RESOURCE,
    45         FacetConstants.FIELD_ID,
    46         FacetConstants.FIELD_DATA_PROVIDER,
    47         FacetConstants.FIELD_FILENAME,
    48         FacetConstants.FIELD_FORMAT,
    49         FacetConstants.FIELD_LANDINGPAGE,
    50         FacetConstants.FIELD_SEARCHPAGE,
    51         FacetConstants.FIELD_SEARCH_SERVICE,
    52         FacetConstants.FIELD_LAST_SEEN,
    53         FacetConstants.FIELD_CLARIN_PROFILE
    54     };
     31    /**
     32     * Template query for new document queries
     33     */
     34    private final SolrQuery defaultQueryTemplate;
     35
     36    /**
     37     *
     38     * @param documentFields fields that should be included in document queries
     39     */
     40    public SolrDocumentQueryFactoryImpl(Collection<String> documentFields) {
     41        defaultQueryTemplate = new SolrQuery();
     42        defaultQueryTemplate.setFields(documentFields.toArray(new String[]{}));
     43        defaultQueryTemplate.setSort(SolrQuery.SortClause.asc(FacetConstants.FIELD_NAME));
     44    }
    5545
    5646    @Override
     
    8171
    8272    private SolrQuery getDefaultDocumentQuery() {
    83         SolrQuery query = new SolrQuery();
    84         query.setFields(DOCUMENT_FIELDS);
    85         query.setSort(SolrQuery.SortClause.asc(FacetConstants.FIELD_NAME));
    86         return query;
     73        return defaultQueryTemplate.getCopy();
    8774    }
    8875}
Note: See TracChangeset for help on using the changeset viewer.