@Test public void testWithProjectionOnSingleField() throws NoSuchMethodException, SecurityException { Method method = SampleRepository.class.getMethod("findByNameProjectionOnPopularity", String.class); SolrQueryMethod queryMethod = new SolrQueryMethod(method, metadataMock, entityInformationCreatorMock); StringBasedSolrQuery solrQuery = new StringBasedSolrQuery(queryMethod, solrOperationsMock); org.springframework.data.solr.core.query.Query query = solrQuery.createQuery( new SolrParametersParameterAccessor(queryMethod, new Object[] {"christoph"})); Assert.assertEquals("name:christoph*", queryParser.getQueryString(query)); Assert.assertEquals(1, query.getProjectionOnFields().size()); Assert.assertEquals("popularity", query.getProjectionOnFields().get(0).getName()); }
private void processQueryOptions(SolrQuery solrQuery, Query query) { appendPagination(solrQuery, query.getPageRequest()); appendProjectionOnFields(solrQuery, query.getProjectionOnFields()); appendGroupByFields(solrQuery, query.getGroupByFields()); appendFilterQuery(solrQuery, query.getFilterQueries()); appendSort(solrQuery, query.getSort()); appendDefaultOperator(solrQuery, query.getDefaultOperator()); appendTimeAllowed(solrQuery, query.getTimeAllowed()); appendDefType(solrQuery, query.getDefType()); appendRequestHandler(solrQuery, query.getRequestHandler()); }