DATAES-82 - findAll(Iterable<ID> ids) does not work with Collections

terms query does not support iterable, converted Iterable to Collection
This commit is contained in:
Mohsin Husen
2014-04-29 12:01:47 +01:00
parent ad0409c7ae
commit 8c63f3ee22
2 changed files with 11 additions and 5 deletions

View File

@@ -26,6 +26,7 @@ import java.util.Collections;
import java.util.List;
import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.common.collect.Lists;
import org.elasticsearch.index.query.QueryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -118,7 +119,9 @@ public abstract class AbstractElasticsearchRepository<T, ID extends Serializable
@Override
public Iterable<T> findAll(Iterable<ID> ids) {
SearchQuery query = new NativeSearchQueryBuilder().withQuery(inQuery(entityInformation.getIdAttribute(), ids))
Assert.notNull(ids, "ids can't be null.");
SearchQuery query = new NativeSearchQueryBuilder()
.withQuery(inQuery(entityInformation.getIdAttribute(), Lists.newArrayList(ids)))
.build();
return elasticsearchOperations.queryForPage(query, getEntityClass());
}