Ignore:
Timestamp:
03/06/14 10:58:13 (10 years ago)
Author:
Twan Goosen
Message:

Implemented getting getDocument(docId) in the solr document service implementation, and added unit tests.
For this, added method createDocumentQuery to document query factory interface (+ javadoc) and implemented.

File:
1 edited

Legend:

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

    r4626 r4628  
    2424import org.apache.solr.client.solrj.SolrQuery;
    2525import org.apache.solr.common.SolrDocument;
     26import org.apache.solr.common.SolrDocumentList;
     27import org.slf4j.Logger;
     28import org.slf4j.LoggerFactory;
    2629
    2730/**
     
    3134public class SolrDocumentServiceImpl implements SolrDocumentService {
    3235
     36    private final static Logger logger = LoggerFactory.getLogger(SolrDocumentServiceImpl.class);
    3337    private final SearchResultsDao searchResultsDao;
    3438    private final SolrDocumentQueryFactory queryFatory;
     
    4145    @Override
    4246    public SolrDocument getDocument(String docId) {
    43         throw new UnsupportedOperationException("Not supported yet.");
     47        final SolrQuery query = queryFatory.createDocumentQuery(docId);
     48        final SolrDocumentList result = searchResultsDao.getDocuments(query);
     49        if (result.size() < 1) {
     50            return null;
     51        } else {
     52            logger.debug("Document with docId {} retrieved:", result);
     53            return result.get(0);
     54        }
    4455    }
    4556
    4657    @Override
    4758    public List<SolrDocument> getDocuments(QueryFacetsSelection selection, int first, int count) {
    48         SolrQuery query = queryFatory.createDocumentQuery(selection,first, count);
     59        final SolrQuery query = queryFatory.createDocumentQuery(selection, first, count);
    4960        return searchResultsDao.getDocuments(query);
    5061    }
     
    5263    @Override
    5364    public long getDocumentCount(QueryFacetsSelection selection) {
    54         SolrQuery query = queryFatory.createDocumentQuery(selection,0,0);
     65        final SolrQuery query = queryFatory.createDocumentQuery(selection, 0, 0);
    5566        return searchResultsDao.getDocuments(query).getNumFound();
    5667    }
Note: See TracChangeset for help on using the changeset viewer.