Added method support for Repository and Template to return List<T> (https://github.com/BioMedCentralLtd/spring-data-elasticsearch/issues/22)
This commit is contained in:
@@ -119,6 +119,26 @@ public interface ElasticsearchOperations {
|
||||
*/
|
||||
<T> Page<T> queryForPage(StringQuery query, Class<T> clazz);
|
||||
|
||||
/**
|
||||
* Execute the criteria query against elasticsearch and return result as {@link List}
|
||||
*
|
||||
* @param query
|
||||
* @param clazz
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
<T> List<T> queryForList(CriteriaQuery query, Class<T> clazz);
|
||||
|
||||
/**
|
||||
* Execute the string query against elasticsearch and return result as {@link List}
|
||||
*
|
||||
* @param query
|
||||
* @param clazz
|
||||
* @param <T>
|
||||
* @return
|
||||
*/
|
||||
<T> List<T> queryForList(StringQuery query, Class<T> clazz);
|
||||
|
||||
/**
|
||||
* Execute the query against elasticsearch and return ids
|
||||
*
|
||||
|
||||
@@ -152,6 +152,17 @@ public class ElasticsearchTemplate implements ElasticsearchOperations {
|
||||
return resultsMapper.mapResults(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryForList(CriteriaQuery query, Class<T> clazz){
|
||||
return queryForPage(query, clazz).getContent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryForList(StringQuery query, Class<T> clazz){
|
||||
return queryForPage(query, clazz).getContent();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public <T> List<String> queryForIds(SearchQuery query) {
|
||||
SearchRequestBuilder request = prepareSearch(query).setQuery(query.getElasticsearchQuery())
|
||||
|
||||
@@ -49,6 +49,11 @@ public class ElasticsearchPartQuery extends AbstractElasticsearchRepositoryQuery
|
||||
if(queryMethod.isPageQuery()){
|
||||
query.setPageable(accessor.getPageable());
|
||||
return elasticsearchOperations.queryForPage(query, queryMethod.getEntityInformation().getJavaType());
|
||||
} else if (queryMethod.isCollectionQuery()) {
|
||||
if(accessor.getPageable() != null){
|
||||
query.setPageable(accessor.getPageable());
|
||||
}
|
||||
return elasticsearchOperations.queryForList(query,queryMethod.getEntityInformation().getJavaType());
|
||||
}
|
||||
return elasticsearchOperations.queryForObject(query, queryMethod.getEntityInformation().getJavaType());
|
||||
}
|
||||
|
||||
@@ -65,7 +65,13 @@ public class ElasticsearchStringQuery extends AbstractElasticsearchRepositoryQue
|
||||
if(queryMethod.isPageQuery()){
|
||||
stringQuery.setPageable(accessor.getPageable());
|
||||
return elasticsearchOperations.queryForPage(stringQuery, queryMethod.getEntityInformation().getJavaType());
|
||||
} else if(queryMethod.isCollectionQuery()) {
|
||||
if(accessor.getPageable() != null) {
|
||||
stringQuery.setPageable(accessor.getPageable());
|
||||
}
|
||||
return elasticsearchOperations.queryForList(stringQuery,queryMethod.getEntityInformation().getJavaType());
|
||||
}
|
||||
|
||||
return elasticsearchOperations.queryForObject(stringQuery, queryMethod.getEntityInformation().getJavaType());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user